VRML ejecutar un script

Estoy jugando con VRML en este momento, no por elección, para ser honesto, sino para un proyecto en Web 3D.

Estoy tratando de hacer un sensor táctil en VRML que muestre y oculte un Div en una página web. He intentado escribir un pequeño guión usando

navegador.loadURL('javascript:algunaFunción()');

para probar y probar esto.

El javascript nunca se llama, sin embargo, sé que mi sensor táctil está bien, ya que he intentado usar ciertas funciones (por ejemplo, si deletreo mal 'navegador'), arroja un error.

¿Quizás esto simplemente no es compatible con los navegadores modernos?

Cualquier ayuda y consejo sería muy apreciado.

    DEF alertScript Script {
    eventIn SFTime make_alert
    url [ "javascript:
    function make_alert (value) {
      Browser.loadURL('javascript:alert()');
    }
    " ]
}


ROUTE touchBack.touchTime TO alertScript.make_alert

preguntado el 10 de marzo de 12 a las 10:03

aparentemente no, ¡realmente lo hice en la Universidad como parte de mi licenciatura! Algo que supongo que tendré que superar. Es extraño que las universidades parezcan centrarse en cosas que están muriendo/muertas en lugar de la tecnología futura que está llegando. Flash es un excelente ejemplo, una tecnología que enseñan sin mencionar HTML5. -

Universidades y antiguos profesores... nada más que esperar en la mayoría de los casos :/ -

1 Respuestas

¿Solo quieren VRML clásico o se permite X3D? (X3D es el nombre de la versión actual de VRML).

Si tiene permitido usar X3D (no veo por qué no), podría usar X3DOM el cual es un WebGL motor, incluso puede obtener puntos extra en su tarea :)


Aquí hay un ejemplo que oculta un div cuando hace clic en una esfera 3D:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Touchsensor in X3DOM</title>

    <link href="x3dom.css" rel="stylesheet" />
    <style>
    #myDiv {
        color: blue;
        margin: 20px 0;
    }
    x3d {
        display: block;
        width: 600px;
        height: 400px;
        background: #EEEEEE;
        border: none;
    }
    </style>
</head>
<body>


    <div id="myDiv">
        Click the sphere to hide this div
    </div>

    <x3d>
        <Scene>
            <Shape id="mySphere">
                <Appearance>
                    <Material diffuseColor="0 1 0" />
                </Appearance>
                <Sphere/>
            </Shape>
        </Scene>
    </x3d>


    <script src="x3dom.js"></script>
    <script>
    (function() {

        document.getElementById('mySphere').onclick = function(){
            document.getElementById('myDiv').style.display = "none";
        };

    })();
    </script>


</body>
</html>

Y por cierto, X3D es la tecnología 3D recomendada por la especificación HTML5, no está muerta en absoluto :-)

respondido 11 mar '12, 15:03

Maravilloso. He jugado con esto y funciona bien. La razón real por la que lo intenté con vrml fue porque nos dieron un fragmento de código vrml para mostrar imágenes en una especie de Quasai 3D, es decir, se muestra la imagen adecuada en función de la rotación y la posición de la cámara para crear la ilusión de 3d. He intentado convertir esto a x3dom usando el convertidor en línea de instantreality y funciona en parte, sin embargo, los sensores táctiles que se han codificado para permitir que el "modelo" se gire no funcionan. - ewen cluley

¡Voy a jugar más con las cosas, pero gracias por la ayuda! - ewen cluley

Siempre puede publicar otra pregunta en StackOverflow si tiene problemas para convertir los controles de navegación utilizados para rotar el modelo :) - picos salvajes

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.