VRML运行一个脚本

时间:2012-03-10 10:38:54

标签: javascript vrml

我现在正在玩VRML,不是通过诚实选择而是通过Web 3D上的项目。

我正在尝试在VRML中制作一个触摸传感器,它将在网页中显示和隐藏Div。我尝试使用

编写一个小脚本

browser.loadURL( '的javascript:someFunction()');

尝试测试一下。

javascript永远不会被调用,但是我知道我的触摸传感器是正常的,因为我试图使用某些功能(例如,如果我拼写'浏览器'错误)它会引发错误。

也许这只是现代浏览器不支持的?

非常感谢任何帮助和建议。

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


ROUTE touchBack.touchTime TO alertScript.make_alert

1 个答案:

答案 0 :(得分:1)

他们只想要经典的VRML还是X3D? (X3D是VRML当前版本的名称)。

如果您被允许使用X3D(我不明白为什么不这样做),您可以使用{{3>} WebGL 引擎,您甚至可以在作业中获得额外积分:)


这是一个在点击3D球体时隐藏div的示例:

<!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>

顺便说一句,X3D是HTML5规范推荐的3D技术,它根本不死: - )