Sbagli a ricalcolare ogni volta dy su dx invece di cambiare solo il segnoGrazie br1 e KillerWorm per le vostre risposte. Ma scrivendo solo:Questa è l'espressione che stai usando per variare dy: dy=dx*Math.tan(alfa*3.14159/180);
Sinceramente non so a cosa ti serva messa lì; se infatti la tolgo mi pare che il tutto funzioni come dovrebbe
x=x+dx;
y=y+dy;
dx e dy sono sempre uguali ad 1 e il punto mobile si sposta sempre di 45 gradi e il punto "rimbalza" sia orizzontalmente che verticalmente.
Ma ho voluto (per esercizio) che il punto si muovesse con un angolo a scelta alfa=angolo.value (e quindi dy dipende da alfa)
x=x+dx;
var alfa=angolo.value;
dy=dx*Math.tan(alfa*3.14159/180);
y=y+dy
e così il punto "rimbalza" orizzontalmente, ma non verticalmente come dovrebbe con le condizioni poste:
if (y>= 550 || y<=10){dy=-dy}
Mi scuso, ma non ho uso la console e dovrei imparare ad usarla.
Un saluto
lanvoel

Rispondi quotando