#VRML V2.0 utf8 ##:@+ bouncing ball (0) ##@ bounce DEF PLACE Transform { scale 0.5 0.5 0.5 children [ Shape { geometry Sphere { radius 2 } appearance Appearance { material DEF MATERIAL Material { diffuseColor 1 0 0 } } } ] } ##@ sensor + script DEF TIME TimeSensor { loop TRUE cycleInterval 5 } # DEF SCRIPT Script { directOutput TRUE field SFNode place USE PLACE field SFFloat position 0 eventIn SFFloat set_fraction eventOut SFColor value_changed url "javascript: function set_fraction(value) { if (value < 0.5) { position += 0.1; value_changed = '0 1 1'; } else { position -= 0.1; value_changed = '1 0 0'; } place.translation.y = position; } " }# ##@ routing ROUTE TIME.fraction_changed TO SCRIPT.set_fraction ROUTE SCRIPT.value_changed TO MATERIAL.diffuseColor ##@environment Viewpoint { position 0 0 20 } Background { skyColor 1 0.2 0.2 } ##