ばかげた質問に聞こえるかもしれませんが、x3dom オブジェクトの各面に ID を付与する方法を探しています。キューブと言って、個々の面ごとに異なる属性を作成できるようにします。これまでに見た唯一の方法は「def」関数です。誰かが立方体の簡単なサンプルを提供してくれると本当に助かります. よろしくお願いします。
1097 次
1 に答える
0
defは、再利用するシェイプを定義するためのものです。オブジェクトを定義して、シーンで再利用できます。似たような木の森を作るのに便利です。x3domサイトの例は、ここにあります。ソースを見てください。
http://x3dom.org/x3dom/example/x3dom_defUse.xhtml
x3dボックスのみを使用している場合、そのプリミティブシェイプとしてすべての側面を定義することは不可能であり、ボックスのdefまたはidは単一の面に影響を与えることができません。
インデックス付きの三角形セットを使用した場合、それぞれにIDを割り当てることができます。
詳細はこちら
http://x3dgraphics.com/examples/X3dForWebAuthors/Chapter13-GeometryTrianglesQuadrilaterals/_pages/page03.html
cssIDの使用方法について
http://x3dom.org/docs/dev/tutorial/styling.html
これは、タグとIDの両方でgetelementを使用する簡単な例です。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<link rel="stylesheet" type="text/css" href="http://x3dom.org/x3dom/example/x3dom.css"></link>
<script type="text/javascript" src = "http://x3dom.org/x3dom/example/x3dom.js"></script>
</head>
<body>
<X3D width="500px" height="400px" showLog='true' showStat="true">
<Scene DEF='scene' >
<Shape >
<Box onclick="toggleRendering();" onmouseover="toggleRendering2();" onmouseout="toggleRendering3();" />
<Appearance><Material id="themat" diffuseColor='0 1 0' /></Appearance>
</Shape>
</Scene>
</X3D>
<script>
var flag = true;
function toggleRendering()
{
flag = !flag;
var aMat = document.getElementById("themat");
if (flag) aMat.diffuseColor = "1 0 0";
else aMat.diffuseColor = "0 0 1";
return false;
}
function toggleRendering2()
{
var mat = document.getElementsByTagName("Material");
var aMat = mat[0];
aMat.diffuseColor = "1 1 1";
return false;
}
function toggleRendering3()
{
var mat = document.getElementsByTagName("Material");
var aMat = mat[0];
aMat.diffuseColor = "0 0 0";
return false;
}
</script>
</body>
</html>
于 2013-02-04T22:57:25.863 に答える