Professional Documents
Culture Documents
APIs Y Estándares
Adicionales
2
Contenido CAPÍTULO 4
Por cada idioma inventado siempre debe haber un patito feo. En este caso, los
comandos de nodo es el candidato. Es muy diferente en función de
comparación con los otros nodos de VRML. Hay sólo tres campos básicos de
usar y usted puede especificar sus propios campos.
Cada nodo de secuencias de comandos que cree tiene tres campos que están
siempre presentes. Dos de ellos no se fijan, porque los valores
predeterminados son adecuados, pero voy a hacer frente a estos primeros.
Aparte de estos dos campos, hay un campo que se requiere en cada nodo de
secuencia de comandos que cree: la URL del código. El campo url puntos en el
archivo o contiene el código "inline" para el uso de esa secuencia de
comandos. Por ejemplo, se podría apuntar a un archivo de clases de Java o
"inline" para el código JavaScript. El particular formato de URL para cada
idioma se trata en cada una de las secciones específicas del idioma más tarde.
Nota: Si desea crear dinámicamente y romper rutas en la escena, debe tener el campo
directOutputs asignado a true.
Note cómo la url directOutput y los campos son la forma normal de un nodo de
VRML, pero el resto de los campos tienen el largo definición. Campos y
exposedFields tendrá que tener su valor fijado en la misma forma que lo haría
prototipo nodos.
5
Uno de los usos más comunes de la interfaz del navegador es crear nuevas
piezas de la escena VRML. Hay dos maneras de hacerlo: Puede cargar en un
archivo externo o crear nuevos objetos completamente dentro de la secuencia
de comandos.
6
El nodo que se pasa como argumento no tiene por qué ser el mismo guión,
como la llamada en createVrmlFromURL, pero la mayoría de las veces es.
Para crear un nuevo nodo de una cadena, sólo tiene que construir una cadena
que contiene la misma sintaxis que usted deberá escribir en el fichero fuente
VRML (menos la cabecera # VRML ...). Puede crear un nuevo cubo con la
siguiente línea de código (en el código Java):
Una vez que haya creado unos nodos utilizando cualquiera de las llamadas,
entonces es necesario agregar a la escena. Si usted tiene un eventOut que
está conectada a un nodo de agrupación, entonces usted puede añadir estos
nuevos nodos a la escena. Sin embargo, usted puede no querer hacerlo.
Por ejemplo, es posible que desee crear una puerta a otro mundo. Al acercarse
a la puerta, se activa la secuencia de comandos para iniciar la carga del nuevo
mundo. Sin embargo, usted no quiere cargar en el nuevo mundo hasta después
de que el usuario ha intensificado a través de la puerta, así que tendrá que
sentarse en estos nuevos nodos hasta la hora correcta para cargar.
Sustitución del actual mundo con más de VRML
Tal vez desee utilizar el mundo como uno de VRML catálogo en línea, de
manera que al hacer clic sobre un objeto se mostrará alguna información en
otro marco, o incluso acceder a un modelo más detallado de VRML. LoadURL es
8
muy útil para esto. A diferencia de los otros y crear o sustituir las llamadas de
VRML nodos, éste se hará cargo de cualquier tipo de archivo en la URL. Usted
podría utilizar para cargar una página HTML, PDF, o cualquier otra cosa que
usted puede transportar más de la petición HTTP normal. El primer argumento
es la URL (s) y la segunda es de los parámetros. Lo que puede poner en una
lista de parámetros de anclaje, debe ser capaz de poner en esta función de
parámetros, tales como un marco como el objetivo.
Manejo genérico eventIn
Manejar eventIns diferente según el idioma que esté utilizando. Sin embargo,
todos los eventIns compartir rasgos comunes. Cada evento tiene una fecha
asociada con él. Cada vez que un caso llegue a su script obtendrá dos piezas
de información: el valor de este caso y el momento en que se haya producido.
Como se verá en la sección de Java, usted no debe esperar el diseño de su
código a los eventos que llegan a un cierto orden. Naturalmente, los
acontecimientos se llega en la fecha y hora para corregir, pero nada está
garantizado con los pedidos de los acontecimientos dentro de un timestamp.
Post-procesamiento de la información
javascript:
mientras que normalmente los archivos separados con el fin. JS extensión y se basan
en el servidor web para devolver el tipo de MIME.
application / x-javascript
Lectura de los campos es tan sencillo como usando una variable del mismo
nombre (que es sensible a mayúsculas y minúsculas). Escrito a eventOuts es
tan fácil simplemente escribir en una variable que es el mismo nombre que el
VRML declaración (de nuevo, mayúsculas y minúsculas). En el ejemplo anterior
se puede ver lo fácil que es pasar los datos a la salida-eventOut llamado
simplemente asignando un valor a la misma.
Nota: Vea la diferencia entre esta convocatoria y la anterior versión de Java. Aquí, el navegador
de objetos que ya existe, pero para Java es necesario crear una instancia en primer lugar.
Consulte la siguiente sección de Java para una mejor explicación
10
Nota: Hay un subconjunto de JavaScript que se conoce como VRMLScript, que sólo utiliza el
navegador de base y de la matemáticas de objetos. Algunos navegadores pueden apoyar esta
sólo. Si un navegador compatible con JavaScript entonces también manejar VRMLScript.
¿Por qué necesitamos dos eventos de funciones? Tiene que ver con el modelo
de ejecución de VRML que fue cubierto en el Capítulo 2. La razón básica es
para que pueda elegir los medios más eficaces para ese mundo.
En un mundo muy simple usted puede ser que sólo tienen uno o dos eventIns
en sus escrituras. En este caso, tener un sistema para manejar múltiples
eventos simultáneos es un despilfarro. Si tiene un gran y complejo sistema de
escritura, entonces lo contrario será el caso.
11
cabo su evento de colas, el script podría terminar con dos eventos en uno o
dos eventos generados en diferentes etapas de la ejecución.
Ahora si se quita el interpolador de dicho sistema que siempre recibirá los dos
eventos al mismo tiempo. La especificación fuerzas escritores del navegador
para asegurarse de que tanto los acontecimientos llegar a la escritura, al
mismo tiempo, porque esto podría tener algunas repercusiones en la manera
en que se ejecutan. (No sé por qué a usted le gusta escribir código, pero que es
posible.) Sin embargo, no es posible garantizar múltiples eventos que se
recojan junto a la transformación, cuando usted tiene múltiples nodos enviando
eventos, como ilustra el ejemplo anterior.
Hay una serie de pasos que tendrá que hacer para producir una secuencia de
comandos en Java VRML:
13
Después de crear su script clase. El nombre de la clase no tiene por qué ser el
mismo que el nombre de la DEF VRML Guión nodo. Lo que usted necesita hacer
es la subclase de Java Script nodo (todos estos son diferentes guiones que aún
confuso?!) Para producir su script personalizado.
Llene todo lo que tiene que ir en el método de inicialización. Este suele ser un
buen lugar para poner en la inicialización de los distintos campos y eventOuts.
Por supuesto, después de esto tienes que ir por los conductos habituales de
compilar y ciclo de prueba. El Java. Archivo de clase puede quedar en el mismo
directorio que el código de VRML. A diferencia de la etiqueta en HTML
<applet>, no hay código de definir. Su archivo de clase puede estar en
cualquier otro directorio siempre y cuando la URL es un familiar de referencia o
ruta completa.
Sólo hay un pequeño problema que hay que saber evitar. El VRML evento de
clase y la clase de evento AWT son diferentes, por lo que no se pueden tener
los dos juntos en un archivo de clase a menos que calificar totalmente uno de
ellos cada vez que lo usa (por ejemplo, java.awt.Event).
Hasta hace poco tiempo que estuvo vinculada a cualquier navegador que se va
a utilizar, ya que cada navegador sólo aplicado uno u otro. Ahora que una serie
de navegadores apoyará ambos idiomas, que son libres de elegir.
Personalmente, uso de JavaScript para la rápida y sucia soluciones a problemas
sencillos, como la creación de veces en TimeSensors, Java y dejar de hacer la
cosas no son tan fáciles. Pero usted está por su cuenta. Elija lo que usted
necesita para realizar el trabajo de la mejor manera.
Resumen
De este capítulo, usted debe tener un entendimiento básico de cómo funciona
de secuencias de comandos en el entorno de VRML. He mirado tanto en Java y
Java-Script y cómo funcionan en una base de moda. He sido un poco de luz
sobre los detalles en esta fase, pero no se preocupe. Vamos a estar usando un
montón de scripts de Java basada en el resto de este libro, así que tendrá
muchas oportunidades para aprender con más profundidad.
Sólo hay un tema más que lo que necesita saber antes de que podamos iniciar
en la diversión en las cosas. Este último tema está en la aplicación externa de
interfaz (o EAI). Este API permite escribir código Java que se encuentra en un
applet y le permite hablar directamente con el navegador de VRML. Esto forma
la base de una serie de proyectos que nos fijamos en el curso de este libro y es
una parte muy importante de todo el sistema de VRML cuando se trata de
moderadamente complejos mundos.