Abofetea Mi Interruptor. |
Lo último que vamos a cubrir en esta parte de la guia didáctica es algo que puede permitirte cambiar facilmente la apariencia de tus mundos sin demasiado uso de Scripts. Este es el nodo Switch, que permite tener varias opciones para un nodo, y cambiar a voluntad entre las opciones. La sintaxis es como se muetra abajo.
Switch { exposedField MFNode choice [] exposedField SFInt32 whichChoice -1 }
El campo choice contiene varios nodos, todos los cuales deben ser nodos children válidos. Esto significa que no puedes cambiar entre nodos de Apariencia, si no que tienes que cambiar entre Shapes con apariencias diferentes.
El campo whichChoice es el número de la selección actual. Los nodos choice se enumeran de 0 a x, donde x es uno menos del número de nodos. Así, si tienes 3 nodos en el campo choice, se numerarán de 0 a 2. Si el valor de este campo está debajo de 0 o es superior al número máximo, no está seleccionado ningún nodo. Así, si no especificas un valor para el whichChoice en la declaración del nodo, nada será mostrado hasta que selecciones uno.
Los nodos dentro de un Switch pertenecen a la escena pese a que no sean visibles. Esto significa que podrán enviar, recibir y procesar eventos aunque no estén seleccionados. Así, un TimeSensor que esté en el interior de un Switch generará eventos tanto si está escogido o como si no.
Casi con toda certeza necesitarás un Script para hacer la selección, dado que el nodo precisa un valor SFInt32 para realizar la selección, pero no será un trabajo excesivamente duro. Hay un pequeño script de muestra en el ejemplo de este capítulo, incluido el código que maneja la sucesión de elecciones.
El nodo Switch es realmente simple. Por consiguiente, esto es todo lo que puedo decir de él en este capítulo. Échale unaa ojeada a este ejemplo para observar una muetra de cómo trabaja el modo. Cada vez que pulses el botón de la esfera, el ciclo pasa al próximo nodo en el Switch. Echa un vistazo al código para ver cómo funciona. Sobre todo, fíjate en el script para ver cómo se realiza el ciclo. Si necesitas usar el Switch antes de que pasemos al scripting, deberías poder adaptar el código para tus propias necesidades.
Solo queda una cosa por cubrir en la tercera parte, y habremos visto todos los nodos del VRML. La proxima vez, echaremos un ojo al LOD. Nos vemos allí!