Con questo codice sembra funzionare tutto.
function OnMouseMove(evt){ puntoX=evt.pageX-canvas.offsetLeft; puntoY=evt.pageY-canvas.offsetTop; direzione=""; if(scavalcaDestra(puntoX,rettangolo,ostacolo))direzione="destra"; if(scavalcaSinistra(puntoX,rettangolo,ostacolo)) direzione="sinistra"; if(scavalcaAlto(puntoY,rettangolo,ostacolo))direzione="alto"; if(scavalcaBasso(puntoY,rettangolo,ostacolo))direzione="basso"; scrivi(direzione); rettangolo.x=puntoX; rettangolo.y=puntoY; if(direzione=="basso")rettangolo.y=alto(ostacolo)-rettangolo.h; if(direzione=="alto")rettangolo.y=basso(ostacolo); if(direzione=="destra")rettangolo.x=sinistra(ostacolo)-rettangolo.w; if(direzione=="sinistra")rettangolo.x=destra(ostacolo); }A ogni movimento del mouse azzero "direzione", che viene poi individuata con le funzioni che modificano la variabile direzione e quindi, quando il mobile acquisisce le coordinate del puntatore del mouse, verrà respinto nella direzione voluta a seconda del valore assunto dalla variabile direzione.
Ecco un filmato:
Nessun commento:
Posta un commento