1

私は現在 VRML をいじっています。正直に言うと、Web 3D のプロジェクトのためというわけではありません。

Web ページで Div を表示および非表示にするタッチ センサーを VRML で作成しようとしています。私は使用して小さなスクリプトを書いてみました

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

これを試してテストします。

javascript が呼び出されることはありませんが、使用しようとした特定の機能 (たとえば、「browser」のスペルが間違っている場合) がエラーをスローするため、タッチ センサーが問題ないことはわかっています。

おそらく、これは最新のブラウザーではサポートされていないのでしょうか?

任意の支援とアドバイスをいただければ幸いです。

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


ROUTE touchBack.touchTime TO alertScript.make_alert
4

1 に答える 1

2

従来の VRML のみが必要ですか、それとも X3D が許可されていますか? (X3D は VRML の現在のバージョンの名前です)。

X3D の使用が許可されている場合 (理由がわかりません)、WebGLエンジンであるX3DOMを使用できます。割り当てに追加のポイントを獲得することもできます:)


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 テクノロジであり、まったく死んでいるわけではありません :-)

于 2012-03-11T15:56:35.940 に答える