#VRML V2.0 utf8 #EXTERNPROTO ROD [field SFInt32 onoff # field SFVec3f translation # field MFRotation rotations ] "rod.wrl" #Prototype of a rod PROTO ROD [ field SFInt32 onoff 0 field SFVec3f translation 0 0 0 field MFRotation rotations [ 0 0 1 0.7854, 0 0 1 0 ] ] { DEF LINE Transform { translation IS translation children [ Transform { translation 0.5 0 0 children [ Shape { geometry Box { size 1 0.1 0.1 } appearance Appearance { material Material { ambientIntensity 0.5 diffuseColor .8 .8 0 } } }, DEF T TimeSensor { cycleInterval 2 startTime -1 loop TRUE }, DEF TOUCH TouchSensor {}, DEF OI OrientationInterpolator { key [ 0 1 ] keyValue IS rotations }, DEF SI PositionInterpolator { key [ 0 1 ] keyValue [ 1 1 1, 1.14 1 1 ] } DEF RodSound AudioClip { url "coin.wav" } Sound { source USE RodSound } ] } ] } ROUTE TOUCH.touchTime TO T.set_startTime ROUTE T.cycleTime TO RodSound.set_startTime ROUTE T.fraction_changed TO OI.set_fraction ROUTE T.fraction_changed TO SI.set_fraction ROUTE OI.value_changed TO LINE.set_rotation ROUTE SI.value_changed TO LINE.set_scale } ROD {}