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