Transform { DEF MyToggle ClickSensor{ .... } Cube { .... } } DEF MySpot PointLight { ... } DEF MyScript Script { scriptType "java" behavior "http://worldmaker.com/light.class" eventIn SFBool clicked eventOut SFColor turnOn } ROUTE MyToggle.isActive -> MyScript.clicked ROUTE MyScript.turnOn -> MySpot.color
class SwitchedLight extends Script { private SFBool lampColor = (SFColor) getFIeld("lampColor"); float[] red = { 1, 0, 0 }; float[] green = { 0, 1, 0 }; public void clicked(ConstSFBool isActive) { if (isActive.getValue()) { lampColor.setValue(red); } else { lampColor.setValue(green); } } }
DEF MyTime TimeSensor { startTime 0 cycleInterval 2.34 # secs } DEF MyInterp OrientationInterpolator { keys [ 0, 1 ] values [ 0, 3.1415 ] } Separator { DEF DoorHinge Transform { } Cube { width 0.1 height 2 width 1 } } ROUTE MyTime.alpha -> MyInterp.setAlpha ROUTE MyInterp.outValue -> DoorHinge.setRotation