Mouse sensor
H3Dではマウス機能を備えたMouseSensorノードとインターフェースが提供されています。ここの例では、その内の4つのフィールドについて理解が必要です。
- マウス左ボタンがクリックされればTrue、そうでなければFalseを返す leftButton
- マウス左ボタンがクリックされればTrue、そうでなければFalseを返す rightButton
- 上向きにホイールが動作すればイベントを送信 scrollUp
- 下向きにホイールが動作すればイベントを送信 scrollDown
学習目的
シーン
赤い球形を表示し、クリックで色の変更、ホイールの動作で透明度の変更を行う例を作成します。
<!!-- the X3D file -->
<Group>
<Group DEF="G" />
<PythonScript url="mouse.py">
<Group USE="G" containerField="references" />
</PythonScript>
</Group>
この例ではPythonを使ってシーンオブジェクトを描画するため、最小限のコードで書かれています。
<Group>に含まれるのは、Groupノードと、参照を行うPytonScriptです。後に、このスクリプトを利用して、全てのノードに参照を行います。
# mouse.py
from H3DInterface import *
root, d = createX3DNodeFromString("\
<Group> \
<NavigationInfo type=\"NONE\" /> \
<Shape> \
<Appearance> \
<Material DEF=\"M\" diffuseColor=\"1 0 0\"/> \
</Appearance> \
<Sphere radius=\"0.1\"/> \
</Shape> \
<MouseSensor DEF=\"S\" /> \
</Group>");
references.getValue()[0].addChildren.setValue( [root] )
trans = d['M'].transparency
color = d['M'].diffuseColor
mouse = d['S']
mouse.pyではcreateX3DNodeFromString関数を利用しています。
最終更新:2010年11月16日 02:56