Mostrar los cursores de los sujetos: Demostración de múltiples usuarios
Visión general
En un experimento de múltiples usuarios donde múltiples participantes están participando en tiempo real, es posible que desee hacer que sus cursores sean visibles entre sí. En esta demostración, le mostraremos cómo configurarlo.
Nota sobre la implementación
Tenga en cuenta que hay varios enfoques que puede implementar para compartir las ubicaciones del cursor de múltiples participantes en Labvanced, ya que la plataforma es flexible y, por lo tanto, es importante considerar su diseño experimental antes de comprometerse con un enfoque.
Para aclarar este punto, presentaremos dos enfoques para lograr esto:
- Enfoque 1: una demostración que utiliza arreglos para distribuir la posición del cursor
- Enfoque 2: en una sección más adelante, discutiremos una demostración donde se pueden utilizar valores únicos para coordenadas x e y
Enfoque 1: Visualización de cursor utilizando seguimiento del mouse y arreglos
Esta demostración incluye dos objetos (un mouse por usuario) y están listados en el panel lateral en el panel de Objetos. Este enfoque se puede utilizar para estudios de múltiples usuarios donde hay 2+ participantes.
Objetos
Debajo está el panel Propiedades del objeto
donde se puede manejar todo el estilo visual. Actualmente, ambos cursores tienen una Visibilidad
de 1 (lo que significa opacidad =100%) como se muestra a continuación:
Para esta demostración, cambiaremos la Visibilidad
a 0, como se muestra a continuación. Más tarde, cuando comience el experimento, haremos visible uno de los cursores. Es decir, si usted es el Participante 1, entonces verá el objeto cursor aquí del Participante 2 y viceversa. Esto se describe en la sección Evento:Init a continuación.
Si no desea tener dos objetos para los cursores, consulte esta sección para ver un método alternativo con un solo objeto de cursor.
Variables personalizadas
Aquí enumeramos todas las variables personalizadas que se crearon para los propósitos de esta demostración. Puede crearlas por adelantado o dentro del editor mientras construye su experimento.
Visión general de eventos
Para agregar un evento, haga clic en el [+] Evento de cuadro (solo en este cuadro)
.
Tenemos los siguientes eventos en esta demostración:
- Evento:Init: Haciendo visible el mouse del otro participante
- Evento: sendMove: Enviando las coordenadas del mouse
- Evento: receiveMove: Recibiendo las coordenadas del mouse
A continuación, se describe la estructura de cada uno de los eventos.
EVENTO: init
Este evento especifica qué sucederá cuando se inicie el cuadro. En este caso, nuestro objetivo es que el Participante 1 vea el mouse del Participante 2 y viceversa.
Activador
El activador para el evento es On Frame Init
porque queremos asignar la visibilidad del objeto cursor tan pronto como el cuadro se inicialice.
Acción
Después de especificar esto y hacer clic en el botón 'Siguiente', puede seleccionar las acciones que ocurrirán al inicializar el cuadro.
A continuación, mostramos que la acción que utilizamos es una Acción de control → ‘Si... Entonces’, así que:
- Si
Role_Id
es igual a 1 (Nota: Role_Id es una variable que es única para estudios de múltiples usuarios y asigna al participante su ID). - Entonces,
Establecer propiedad del objeto
de lavisibilidad
del objetomouse_user_2
a 1. - Nota: La combinación de estas dos acciones significa esencialmente: “Si usted es el Participante 1 (Role_Id==1), entonces verá el objeto mouse_user_2.”
- Nota: ¿Cómo se especifica el
Role_Id == 1
en el editor? Consulte la sección paso a paso a continuación, donde se explica en mayor detalle.
En la sección Else If
, hacemos lo mismo, pero para el participante 2 (Role_Id==2). El objeto objetivo es mouse_user_1
, que debe tener un valor de Visibilidad
de 1.
EVENTO: sendMove
A continuación, tenemos que establecer un ‘puente’ entre los dos participantes donde, si mueve su mouse, esos valores son rastreados/almacenados y enviados al otro participante.
Activador
Por lo tanto, se utiliza el activador de mouse
para este evento, donde cualquier ‘Movimiento’ que se realice activará el evento.
Acciones
Nuevamente, se necesita un comando de Acción de control
→ Si...Entonces
:
Donde si su Role_Id==1
, entonces las siguientes Acciones de variable
tienen lugar:
Establecer / Registrar una variable
: Señalar / definir la variablemoveMouse1
y establecerla igual al valor específico del activador deMouse [X,Y] Array
.Distribuir variable:
Compartir esta variable con el Participante 2.
Si no, si su Role_Id==2
...
Entonces:
- El
moveMouse2
registrará el arreglo Mouse [X,Y] (justo como en el ejemplo anterior) pero lo utilizaremos para almacenar los valores de seguimiento del mouse del Participante 2 y establecerlo igual a su Mouse [X,Y] Array. - Luego, distribuya esta variable al participante 1.
Resumen: Hasta este punto, hemos:
- Creado variables para almacenar el arreglo de seguimiento del mouse [X,Y] de cada participante (moveMouse1 para el cursor del Participante 1 y moveMouse2 para el cursor del Participante 2)
- Y hemos establecido un puente donde el valor de seguimiento del mouse se envía al otro participante utilizando la acción Distribuir variable.
EVENTO: receiveMove
A continuación, necesitamos especificar qué sucederá con estos valores de seguimiento del mouse. En este caso, al recibir los movimientos del mouse en un formato de arreglo, queremos cambiar el objeto cursor para reflejar los movimientos. ¡En otras palabras, utilizando el arreglo [X,Y], vincularemos esos valores al cursor del mouse para que se mueva esencialmente, mostrando lo que el otro participante está haciendo en la pantalla! Así, para lograr esto, se utilizarán el activador y las acciones descritas a continuación.
Activador
Dado que los valores de seguimiento del mouse se están almacenando en variables, cada vez que estas variables cambien, significa que el mouse se está moviendo. Por lo tanto, podemos utilizar el activador Valor de variable cambiada
para actualizar la ubicación del cursor en la pantalla seleccionando las dos variables específicas que contienen los valores de seguimiento del mouse, como se muestra a continuación:
Acción
A continuación, queremos utilizar la acción Seleccionar del arreglo (Leer)
con el fin de obtener los valores de las coordenadas x e y de los arreglos de la variable del cursor, porque planeamos usarlos para establecer las coordenadas del objeto.
Así, seleccionamos la variable moveMouse1
, que tiene el arreglo de [X,Y] del participante 1 y llamamos al primer valor que fue un Índice fijo
de 1 y almacenamos ese valor en una variable numérica llamada x_mouse1
porque los valores x se listan primero en el arreglo.
Agregamos otra acción Seleccionar del arreglo (Leer)
y para el Índice fijo
escribimos 2 porque queremos llamar al segundo valor del arreglo, que son las coordenadas y, y almacenar eso en la variable y_mouse1
.
Para hacer que la imagen del cursor se mueva, necesitamos actualizar sus coordenadas de imagen en tiempo real haciéndola tomar los valores x e y equivalentes a las coordenadas x e y del seguimiento del mouse (que obtuvimos y almacenamos en las variables x_mouse1
y y_mouse1
en las acciones anteriores).
Para lograr esto, necesitamos elegir la acción Establecer propiedad del objeto
para que el Objetivo
del mouse_user_1
(en la imagen de abajo, simplemente se escribe como ‘mouse’ porque el cuadro de diálogo acorta el título) y su propiedad X
tenga un valor (=) de x_mouse1
+ 5, que es una operación aritmética. Consulte esta explicación paso a paso de cómo se configura esto.
En este punto, puede preguntarse por qué aparece el +5 en el campo de entrada... Esto se debe a que necesitamos crear un desplazamiento, ya que este objeto es en realidad un objeto de texto que incluye una imagen incrustada (como se describe al principio de este recorrido). Entonces, si necesita construir su estudio y hacer que los usuarios vean su propio cursor personalizado como hacemos aquí, pero también hacer clic en otros objetos en el estudio, entonces no será posible a menos que cree este desplazamiento (a menos que elija omitir la imagen del cursor y mantener solo la etiqueta de texto).
Siguiendo, elegimos +Agregar propiedad
y apuntamos al mismo objeto de imagen, seleccionamos la propiedad Y
y la establecemos igual a la variable y_mouse1
.
Repetimos el mismo proceso, pero simplemente seleccionamos las otras variables que hemos dedicado para el participante 2:
Aquí apuntamos al objeto mouse_user_2
y asignamos las variables respectivas:
En conjunto, todas estas acciones hacen que los dos objetos del cursor se muevan para ambos participantes al leer valores del arreglo de variable y luego usar estos valores numéricos para establecer los valores x e y del objeto.
EVENTO: end
A continuación, creamos un evento para finalizar oficialmente el proceso de grabación de datos y almacenar los datos insertando un botón de ‘fin’, que cuando se usa como un activador, conducirá a una acción de control donde se produce la acción Aceptar/Finalizar sesión
.
Activador
Para finalizar la sesión, el activador del botón es donde hacer clic en el Botón de fin
desencadenará el final de la sesión.
Acción
La acción es Aceptar/Finalizar sesión.
Nuevamente, tenga en cuenta que esta demostración es solo con fines de aprendizaje y es solo un método de muchos para compartir la ubicación del mouse y el cursor en un entorno de estudio de múltiples usuarios. Otro ejemplo de cómo se puede lograr este efecto se describe en las secciones siguientes.
Enfoque 2: Enfoque de variable única para compartir cursores en estudios de múltiples usuarios
En esta otra demostración, en lugar de arreglos, mostramos cómo tiene la opción de utilizar valores únicos (es decir, llamando directamente a las coordenadas X e Y).
Aquí hay una vista previa completa de esta demostración, incluida una vista previa de los datos grabados al final:
Objeto único para el cursor
Esta demostración también difiere de la anterior en el sentido de que en lugar de dos objetos para el cursor, solo hay uno. Este enfoque es excelente para estudios de múltiples usuarios que solo desean mostrar dónde se encuentra el cursor del ‘oponente’ o ‘compañero de equipo’.
Variables personalizadas
Esta otra demostración incluye las siguientes variables personalizadas y sus especificaciones. Si bien esta demostración tiene menos variables, requiere más eventos / acciones en uso en comparación con el ejemplo anterior con arreglos.
EVENTO: sendMove
El activador es el movimiento del mouse:
La acción es registrar los valores específicos del activador de la coordenada X del mouse y la coordenada Y en dos variables separadas que están nombradas específicamente para indicar el participante 1.
Las siguientes acciones bajo esta condición si/entonces sirven para distribuir estos dos valores al participante 2.
Luego agregamos una condición de ‘Else If’ para registrar los valores específicos del activador de la coordenada X del mouse y la coordenada Y en dos variables separadas que están nombradas específicamente para indicar al participante 2.
Las siguientes acciones se utilizan para distribuir estos dos valores al participante 1.
EVENTO: receiveMove1
Ahora necesitamos un evento para transmitir las coordenadas del mouse. Por lo tanto, si estos valores de variables específicas asociadas con el Participante 1 cambian, se utilizarán como un activador:
Entonces actualizamos la propiedad del objeto de ubicación del cursor para adoptar estos valores utilizando una acción. En esencia, si usted es el Participante 2, entonces el objeto Oponente toma las coordenadas de las variables del Participante 1:
EVENTO: receiveMove2
Hacemos lo mismo aquí. Si usted es el Participante 1, entonces el objeto Oponente toma las coordenadas de las variables del Participante 2:
Conclusión
Esta demostración muestra dos de las muchas formas en que se pueden utilizar las coordenadas del mouse para actualizar propiedades de objetos a fin de transmitir la ubicación del cursor en un estudio de múltiples usuarios. Puede usar arreglos.
Detalles de la demostración: Ingresando valores paso a paso
Si aún está familiarizándose con Labvanced o solo necesita un poco de aclaración adicional, las secciones a continuación le muestran, paso a paso, cómo implementar ciertos comandos y los pasos que debe seguir utilizando los menús para implementarlos:
- Especificando
Role_ID==1
en una acción de requisitos - Seleccionando el arreglo de Mouse [X,Y] para ser registrado en una variable para seguimiento del mouse
- Usando operaciones aritméticas para establecer una propiedad del objeto
Especificando Role_ID==1
en una acción de requisitos
En la demostración anterior, esta línea aparece con frecuencia, así que ¿cómo puede obtenerla de esa manera?
Primero +Agregar acción
y seleccione Acciones de control → Acciones de requisitos (Si...Entonces) porque este es el contexto en el que aparece con frecuencia en esta demostración.
A continuación, + Requerimiento
para que pueda especificar la condición Si en mayor detalle.
Para el primer icono de lápiz (formalmente conocido como El menú de selección de valores), elija Variable
→ Seleccionar variable
para apuntar a la variable Role_Id.
Esto abrirá el menú de Variables donde se almacenan todas las variables locales / globales. En el panel superior, bajo Variables globales
, encontrará la variable Role_Id
. Selecciónela.
A continuación, en el otro icono de lápiz, debe especificar el valor del id de rol del participante. Así que vaya a Valor constante → Numérico.
Y simplemente escriba el número 1. ¡Listo!
Usando operaciones aritméticas para establecer una propiedad del objeto
Establecer la ubicación del cursor se hace utilizando la acción Establecer propiedad del objeto, especificando el objeto objetivo, su propiedad y luego especificando el valor de variable que se utilizará como el nuevo valor para la propiedad del objeto.
Seleccione la acción de objeto:
Para el Objetivo
, haga clic en el primer ninguno
y seleccione el primer objeto cursor mouse_user_1
de la lista. Para la segunda lista de propiedades del objeto, seleccione la opción X
:
A continuación, haga clic en el ícono de lápiz. Elija Operaciones
del menú y seleccione la opción Aritmética
:
Haga clic en el primer icono de lápiz y elija Variable
→ Seleccionar variable
, y aparecerá un cuadro de diálogo de las variables desde el cual puede seleccionar la variable x_mouse1
:
Luego, haga clic en el segundo icono de lápiz y elija Valor constante
→ Numérico
y escriba el número 5 en el campo que aparece.
Porque esto se relaciona con la demostración donde el objeto es una combinación de una imagen más texto, necesitamos desplazar el valor en 5 puntos para que el objeto de abajo sea clicable:
Haga clic en +Agregar propiedad
debajo y indique que la variable y_mouse1
se asignará a la propiedad Y
del objeto mouse_user_1
.