A solution in programming is:
<SCRIPT language="javascript"> t=0.0; function infoFromJava_Slider(slidernaam,waarde) { document.waarde.veld1.value = waarde; } function reStart() { dt=0.003; k=0.0; y=10.0; document.slider1.setPMax(0.5); document.slider1.setPMin(0.0); document.slider1.setPStart(0); document.slider1.setDigits(1); document.vogel1.setX(Math.round(0)); document.vogel1.setY(Math.round(20)); } function run() { iii=document.waarde.veld1.value; k=parseFloat(iii); t=t+dt; dydt=-k*y y=y+dydt; document.tellerY.setValue (Math.round(y*100)); document.tellerT.setValue (Math.round(t*100)); document.vogel1.setX(Math.round(0)); document.vogel1.setY(Math.round(300 - 28*y)); window.setTimeout("run()",50) } </SCRIPT> ... <APPLET code=Animatie name=vogel1 width=225 height=300> </APPLET> <FORM name="iets"> <INPUT type="button" value="Start" onClick="run()"> en doe daarna de kraan open
<INPUT type="button" value="Vul" onClick="reStart()"> en zet kraan open </FORM> <FORM name="waarde"> <APPLET code=slider.class NAME=slider1 width=200 height=16 MAYSCRIPT> </APPLET> <INPUT TYPE="text" NAME="veld1" VALUE="50" SIZE="10">
(Als je de kraan op tijd dicht zet stopt de animatie.) </FORM>
U ziet het resultaat: een waterbak met een kraantje. Het kraantje kan open worden gezet.
Merk op dat het animatie-object zich niets aantrekt van de grootte van de background. De slider is verbonden met de parameter 'k'. Deze parameter 'k' beinvloedt de snelheid van zakken van het water in de waterbak (het animatie-object). Andere parameters, anders dan de onbelangrijke 'dt', zijn hier eigenlijk niet. Let goed op de coordinatentransformatie van y naar j. Beweging in de x-richting is er niet; i ligt hier vast op 100 pixels.
Let er ook op dat het aangrijpingspunt van de beweging van het animatie-object links boven in de hoek ligt. Lees ook goed de teksten uit de andere voorbeelden (15a, b en c, resp. 17a en b).
Enschede, 10 april 2001