Sbagli a ricalcolare ogni volta dy su dx invece di cambiare solo il segno.
codice:<!DOCTYPE html PUBLIC> <html> <head> <script language=JavaScript> var oggetto; var intervallo; var x=200;var y=250; var dx=1;var dy=1; function avvia() { velo=testo1.value; var alfa=angolo.value; dy=dx*Math.tan(alfa*3.14159/180); intervallo=window.setInterval("muovi()",velo); } function muovi() { oggetto=document.getElementById("para1"); x=x+dx; y=y+dy; if (x>=1290 || x<=200){dx=-dx} if (y>= 550 || y<=10){dy=-dy} oggetto.style.position="absolute"; oggetto.style.top =y; oggetto.style.left =x; testo2.value=y; testo3.value= (y>= 550 || y<=10); } function ferma1() { clearInterval(intervallo); } </script </head> <body> controllo valori di y (top)<input type="text" name="testo2" id="testo2" size=25> controlollo condizione (y>= 550 || y<=10)<input type="text" name="testo3" id="testo3" size=15><br><br> <input type="button" name="pulsanre1" id="pulsante1" value="avvia" onclick="avvia()"><br> <br> velocità (alta:1 bassa:200)<br> <input type="text" name="testo1" id="testo1" size=20><br><br> angolo di partenza in gradi:<br> <input type="text" name="angolo" id="angolo" size=10><br><br> <input type="button" name="pulsante2" id="pulsante2" value="ferma" onclick="ferma1()"> <P style="background:yellow; width:1100; height:550; border:3px red double; position:absolute; left:200px; top:10px;"></P> <P Style="background:red; width:10px; height:10px; border:3px blue solid; position:absolute; left:200px; top:250px;" id="para1"> </body> </html>

Rispondi quotando