Los controles numéricos o pulsadores son objetos que sirven para modificar el valor de un solo parámetro. Para crear un control hay que
- pulsar sobre el botón Controles
- pulsar sobre el botón + que aparece arriba a la izquierda.
- seleccionar como tipo de control numérico en la ventana agregar que se muestra después del paso anterior
- teclear el nombre de control y confirmar pulsando sobre el botón Aceptar.
El panel de configuración de un control numérico tiene este aspecto:
El identificador id del control puede ser cualquier palabra sin espacios, puede contener dígitos después de la primera letra, pero no espacios. Puede haber dos o más controles con el mismo identificador. En los controles numéricos el identificador es al mismo tiempo el nombre interno del parámetro que controla. En otras palabras, la creación de un control numérico conlleva la creación de un parámetro con el identificador del control.
A continuación se explica el significado de los diversos campos.
- id. Campo de texto que contiene el identificador de control. En el caso de un control numérico es el nombre de la variable numérica que representa.
- tipo de control numérico. Tipo de interfaz gráfica de control numérico. Las opciones son: pulsador, campo de texto, menú (desplegable), barra (de desplazamiento) y botón.
(Puede descargar la escena anterior desde este enlace)
- solo texto. Selector que, cuando está activado, hace que el campo de texto no interprete los números o variables que en él se escriben sino que solamente los tome como cadenas de texto. Sólo se usa en controles de tipo campo de texto.
- (region). Región a la que se asigna el control numérico. las opciones son: norte, sur, este, oeste, exterior e interior.
- La región norte es una o varias filas horizontales en la parte superior de la escena entre los botones de créditos y config.
- La región sur es una o varias filas horizontales en la parte inferior de la escena entre los botones de inicio y limpiar.
- Las regiones oeste y este son columnas a la izquierda y a la derecha de la escena.
- La región exterior es una ventana que aparece cuando se hace un clic derecho sobre la escena.
- La región interior es la escena. Cuando un control numérico se asocia a la región interior, entonces se puede colocar en cualquiera de los espacios de la escena y su posición ahí está determinada por el parámetro pos.
El valor por defecto es «sur».
- espacio. Es un menú desplegable que permite elegir el espacio al que se desea asignar el control. Este parámetro sólo tiene sentido en controles numéricos asignados a la región interior (y en controles gráficos). El menú muestra los identificadores de todos los espacios definidos en la escena.
- nombre. Nombre externo de la variable <id>. Aparece como etiqueta a la izquierda del control numérico y no tiene ninguna otra función dentro del programa. Su valor por defecto es igual al identificador del control.
- Si se considera como nombre _._ , _nada_ o _void_, éste será nulo (vacío).
- _no_ sirve para que si el control numérico es de tipo botón y tiene imagen, dibuje el botón y ponga la imagen por encima del botón y éste no tenga ninguna etiqueta.
- pos. Es el punto inicial de un control gráfico o el extremo superior izquierdo de un control numérico interior. Se expresa con dos números entre paréntesis separados por una coma. Los números pueden ser constantes o expresiones en las que intervienen constantes o parámetros definidos en controles anteriores. El valor por defecto es (0,0).
En el caso de un control numérico interior se puede usar una expresión de cuatro valores (x,y,w,h) donde los primeros dos son las coordenadas del vértice superior izquierdo del control y los dos últimos son el ancho y el alto. - valor. Valor inicial de la variable <id> .
Puede ser una expresión decimal o una fórmula en la que pueden intervenir constantes y otros parámetros definidos en controles anteriores.
Su valor por defecto es 0.
En el caso de los controles con interfaz de botón es el valor que se asigna a la variable cuando se pulsa el botón - incr. Es la cantidad que aumenta o disminuye el valor de la variable <id> cuando se pulsan las flechas del control numérico.
Puede ser una constante o una expresión.
El valor por defecto es 0.1. - min. Es el valor mínimo que puede tener el parámetro.
Puede ser una constante, una expresión o estar vacío, en cuyo caso no hay valor mínimo y el parámetro no está limitado inferiormente.
El valor por defecto es vacío. - max. Es el valor máximo que puede tener el parámetro.
Puede ser una constante, una expresión o estar vacío, en cuyo caso no hay valor máximo y el parámetro no está limitado superiormente.
El valor por defecto es vacío. - discreto. Obliga que los valores del control numérico difieran del valor inicial sólo en múltiplos exactos del incremento.
Esto funciona correctamente sólo si el incremento es constante y además puede expresarse exactamente con el número de decimales elegido.
El valor por defecto es «no». - decimales. Número de decimales con los que se escribirán los valores de <id> o los números incluidos en el texto. Puede ser cualquier número o expresión. Al evaluarse se redondea para decidir el número de decimales. Su valor por defecto es 2
- fijo. Determina si el número de decimales es fijo o si, por el contrario, se usa la notación «ajustada» en la que se eliminan los ceros innecesarios y el punto decimal si también es innecesario. Por ejemplo, en notación ajustada en lugar de 25.3400 se escribe 25.34 y en lugar de 13.0 se escribe 13 (sin punto decimal).
Si se usa notación exponencial siempre se escriben los números en forma ajustada, es decir, el atributo fijo no interviene en ese caso.
El valor por defecto es fijo=si. - exponencial-si. Es una expresión booleana que cuando se cumple hace que el valor del parámetro pueda escribirse en notación exponencial. Si la expresión es vacía, nunca se usa la notación exponencial. Es importante observar que esto no fuerza a que aparezca la notación exponencial, sólo la permite. Si la expresión no se cumple no habrá notación exponencial.
El valor por defecto es vacío. - visible. Es un selector que indica si el valor del parámetro debe exhibirse o no (el nombre y los pulsadores se exhiben siempre).
El valor por defecto es seleccionado, o sea que el valor del parámetro sí se exhibe. - acción. La acción que se realiza cuando el usuario manipula el control numérico (pulsar el botón, seleccionar un elemento de un menú, mover la barra de desplazamiento, hacer clic en un pulsador, o dar en el campo de texto).
Hay las siguientes acciones posibles:- calcular. Realiza los cálculos y asignaciones indicadas en el parámetro y actualiza inmediatamente todos los controles con estos nuevos valores. (Nota: En el intérprete en Java los vectores y matrices no son accesibles desde los controles, es decir, si se le asigna un valor a un elemento de un vector o de una matriz ésta no se produce, como alternativa puede usarse una función que realice esa asignación o activar una bandera para realizarla en otro objeto de la escena. En el intérprete DescartesJS sí se produce esa asignación.)
(Puede descargar la escena anterior desde este enlace) - inicio. Reinicia la escena.
- limpiar. Borra todos los rastros dejados por los gráficos.
- animar. Comienza la animación, la detiene (pausa) o la continúa.
- abrir URL. Abre una página Web en una ventana nueva del navegador
- abrir Escena. Abre una escena de Descartes en una ventana autónoma
- reproducir. Inicia la reproducción de un archivo de audio.
- En versiones anteriores a la 5 también se incluían las acciones que se describen a continuación. Si el código de una escena contiene alguna de esas acciones el intérprete DescartesJS o Java por compatibilidad hacia atrás en las versiones las reconocerá y ejecutará, pero revise su comportamiento. Si edita una escena en estas circunstancias con la versión 5 perderá esos parámetros.
- mensaje. Abre una pequeña ventana con un mensaje de texto cuyo contenido es el del parámetro..
La posición de esta ventana puede determinarse con el valor de pos_mensajes. - créditos. Abre la ventana de créditos.
- config. Abre la ventana de configuración.
- reiniciar animacion. Inicializa la animación, es decir, la devuelve a su punto inicial.
Si la acción es «calcular», se realizan todas las asignaciones escritas en el campo parámetro y se actualizan inmediatamente todos los controles usando los nuevos valores.
- mensaje. Abre una pequeña ventana con un mensaje de texto cuyo contenido es el del parámetro..
- calcular. Realiza los cálculos y asignaciones indicadas en el parámetro y actualiza inmediatamente todos los controles con estos nuevos valores. (Nota: En el intérprete en Java los vectores y matrices no son accesibles desde los controles, es decir, si se le asigna un valor a un elemento de un vector o de una matriz ésta no se produce, como alternativa puede usarse una función que realice esa asignación o activar una bandera para realizarla en otro objeto de la escena. En el intérprete DescartesJS sí se produce esa asignación.)
- parametro. El parámetro de la acción.
- Si la acción es «mensaje» entonces el parámetro es el contenido del mensaje.
- Si la acción es «calcular», entonces parámetro debe contener cero o varias asignaciones (separadas por ; o salto de línea) que el programa realizará cuando se ejecute la acción.
- Si la acción es «abrir URL», el parámetro puede ser cualquier URL.
- Si la acción es «abrir Escena» el parámetro debe ser una dirección relativa y lo que hace es abrir la (primera) escena de Descartes que encuentra en un archivo de texto con esa dirección.
- Si la acción es reproducir, el parámetro debe ser la dirección de un archivo de audio.
- Las otras acciones no usan el parámetro.
- dibujar-si. Expresión booleana que determina cuándo el control es visible.El valor por defecto es vacío y en ese caso el control es siempre visible.
- activo-si. Expresión booleana que determina cuándo el control está activo.El valor por defecto es vacío y en ese caso el control está activo.
- evaluar. Determina si el control lleva evaluación automática.Sólo se aplica en los controles de las escenas que son ítems (o reactivos) para evaluaciones. Aparece desactivado por omisión. Cuando se activa en un control de un ítem, el programa sabe que al evaluarse el ítem deberá considerar lo que el usuario haya escrito o seleccionado en el control, como una respuesta y compararlo con el patrón de respuestas asociado.
- respuesta. Patrón de respuesta con el que se compara lo que el usuario ha escrito o seleccionado para determinar si su respuesta es correcta. Sólo se aplica en los controles de las escenas que son ítems (o reactivos) para evaluaciones.
- Puede consistir en uno o varios campos de texto separados por cada uno de los cuales se compara con lo escrito o seleccionado por el usuario.
- Si hay una coincidencia se considera que la respuesta es correcta.
- Si no hay ninguna coincidencia se considera que la respuesta es errónea.
- Cuando la respuesta debe ser numérica hay que poner el rango de respuestas válidas como un intervalo, por ejemplo: [a,b], (a,b), (a,b] o [a,b).
- Cuando el control es un campo de texto del tipo ‘sólo texto’, entonces la comparación se hace letra a letra.
- Si al final de una opción de respuesta se escribe un asterisco *, entonces sólo se busca si la respuesta de usuario comienza con la propuesta.
- Si hay un asterisco al principio entonces se busca si la respuesta propuesta aparece al final de la del usuario.
- Si hay un asterisco al principio y uno al final, por ejemplo *respuesta*, sólo se busca que la propuesta aparezca dentro de la del usuario.
- Si se quiere que el programa ignore las diferencias entre mayúsculas y minúsculas, hay que escribir la propuesta entre comillas simples, por ejemplo: ‘respuesta’.
- Si se quiere que el programa ignore los acentos y la diferencia entre n y ñ, entonces hay que escribir la respuesta entre un acento grave y uno agudo, por ejemplo `respuesta´. `’respuesta’´ ignoraría tanto mayúsculas y minúsculas como acentos.
- Si hay letras que quieren ignorarse, en lugar de la letra debe escribirse una interrogación ?
- Si el control es un campo de texto y el usuario lo deja vacío, se considera que no contestó.
- Si se trata de un menú en el que una opción es vacía (por ejemplo un espacio en la primera opción) y el usuario selecciona esa opción, también se considera que no contestó.
- El sistema de evaluación definido por el administrador de las evaluaciones es quien decide cómo se interpretan las respuestas correctas, las incorrectas y las vacías.
- peso. Peso (en el contexto de una media ponderada) que se da a la respuesta dada en la evaluación al calcular la nota. Únicamente se admiten valores enteros positivos y se recomienda usar sólo 0, 1 ó 2.
Campos exclusivos para menús
- opciones. Las opciones deben ser palabras separadas por comas. Después de cada palabra puede venir entre corchetes [] el valor que debe asignarse al parámetro cuando se selecciona esta opción. Si el valor no se define entonces se asigna automáticamente un valor entero correspondiente al índice de la opción.
Campos exclusivos para Botones:
- color del texto. Color del texto en la etiqueta del botón.
- color de fondo. Color del fondo en la etiqueta del botón.
- negrita. Selector que al activarse hace que el texto en la etiqueta del botón se escriba en negritas.
- cursiva. Selector que al activarse hace que el texto en la etiqueta del botón se escriba en cursiva.
- subrayada. Selector que al activarse hace que el texto en la etiqueta del botón aparezca subrayado.
- fuente puntos. Tamaño en puntos de la fuente con la que se escribe el texto de la etiqueta del botón. El tipo de letra siempre es SansSerif.
- imagen. Nombre del archivo de una imagen que se usará para visualizar el botón. Si en la misma carpeta está la imagen hay otra con el mismo nombre seguido de «_over» y con la misma extensión, entonces esta imagen aparecerá en el botón cuando el cursor del ratón se encuentra sobre éste. Si en la misma carpeta está la imagen hay otra con el mismo nombre seguido de «_down» y con la misma extensión, entonces esta imagen aparecerá en el botón cuando se pulsa el botón con el ratón.
- Si se considera como nombre VACIO.GIF, se indica que el botón será transparente.
- _COLORES_ indica que se usarán los colores de fondo y de texto que se especifican a continuación en formato hexadecimal. Por ejemplo:
_COLORES_ff0000_0000ff indica que el color de fondo será rojo y el del texto será azul. Si además se escribe _COLORES_ff0000_0000ff_SNI_18 la etiqueta estará subrayada (S) en letra negrita (N) e itálica (I) y con tamaño de fuente de 18 puntos. Tras VACIO.GIF se puede poner el color de la etiqueta, el tipo de letra y el tamaño (opcionalmente). Esta opción ha quedado desfasada, disponiéndose de los campos antes descritos (color de texto, color de fondo, negrita, cursiva, subrayada, fuente puntos) que se pueden modificar interactivamente.
(Puede descargar la escena anterior desde este enlace)
Consulte también el artículo «Imágenes en controles numéricos tipo botón«.
__________
Es importante saber cómo operan los controles numéricos sobre el parámetro. Para ello basta con entender cómo funcionan los pulsadores. Si se pulsa la flecha hacia arriba el valor del parámetro se incrementa en incr. Si se pulsa la flecha hacia abajo el valor disminuye en incr. El número que se exhibe en el campo de texto corresponde exactamente al valor del parámetro (en versiones anteriores esto no era necesariamente cierto). Si el usuario modifica el valor del parámetro escribiendo un número en el campo de texto y pulsando intro (o simplemente pulsa intro) entonces el valor del parámetro cambia a el que el usuario indicó, aunque redondeado al número de decimales permitido.
En el campo de texto de un control numérico (de tipo pulsador o barra) el usuario puede escribir no sólo un valor sino también una expresión; si la expresión es correcta y tiene sus identificadores definidos en la escena, entonces el programa la evalúa y asigna el resultado al parámetro (cuando el usuario pulsa) .
A continuación se presenta una pequeña escena para ilustrar el funcionamiento de los controles numéricos. El valor inicial del parámetro es 3.141516, sin embargo ya aparece redondeado a 3.1415 porque el número de decimales es 4. El incremento es 0.00025 pero por el redondeo cada pulsación cambia realmente el valor en 0.0002.
(Puede descargar la escena anterior desde este enlace)
El lector puede accionar los pulsadores y observar el comportamiento de los números exhibidos y luego puede escribir cualquier número o expresión y pulsar intro y observar el resultado. Por ejemplo, si escribe exp(1) obtendrá el número e redondeado a 4 decimales.
Los subapartados que hay en el apartado «acción» del panel de controles gráficos no coinciden con los que aparecen en el respectivo menú del editor del gestor de escenas, en este último faltan los apartados «mensaje», «créditos», «config» y «reiniciar animación» y, sin embargo, presenta la opción «reproducir» que no se incluye aquí.
Hemos actualizado la redacción para los tipos de acción reconocidos en los controles numéricos dado que las acciones han variado en la versión 5.
La acción mensaje generaba la apertura de incómoda ventana y puede suplirse, por ejemplo, usando un objeto texto que se dibuje condicionado por el valor de ese control numérico.
La acción créditos y config está accesible siempre a través de la ventana auxiliar que se abre al posicionar el ratón sobre la escena y pulsar el botón auxiliar del mismo (botón derecho para configuración para diestros). También pueden incorporarse estos botones activándolos en el panel de botones.
Respecto a «reiniciar animación» La lógica interna de ejecución del programa Descartes y de las propias escenas aconseja que esa gestión la controle el desarrollador de la escena con un evento que sí admite esa acción o bien con un algoritmo propio.
La nueva opción reproducir permite activar la reproducción de un archivo de audio, si bien es preferible usar los controles específicos de audio y video, pues con estos se puede gestionar el inicio, pausa, continuación y parada de los mismos.