#VRML V2.0 utf8 Sound { spatialize FALSE minFront 100 maxFront 100 minBack 100 maxBack 100 source DEF CLIP AudioClip { url "Sounds/glass.wav" } } DEF ALARM TimeSensor {} Transform { translation -2 0 0 children [ DEF TOUCH TouchSensor {} DEF SWITCH Switch { whichChoice 0 choice [ Shape { geometry Text { string "Click me" } } ] } ] } DEF SCRIPT Script { eventIn SFTime go eventIn SFTime cycleTime eventOut SFTime alarmTime eventOut SFFloat pitch eventOut SFInt32 choice field SFBool first TRUE url "vrmlscript: function go(val) { alarmTime = val + .5; choice = -1; } function cycleTime(val) { if(first) { first = FALSE; } else { alarmTime = val + 1 + Math.random() * 3; pitch = 1 + Math.random(); first = TRUE; } } " } ROUTE TOUCH.touchTime TO SCRIPT.go ROUTE SCRIPT.alarmTime TO CLIP.startTime ROUTE SCRIPT.pitch TO CLIP.pitch ROUTE SCRIPT.alarmTime TO ALARM.startTime ROUTE ALARM.cycleTime TO SCRIPT.cycleTime ROUTE SCRIPT.choice TO SWITCH.whichChoice
mrl