Ciao
sto provando a realizzare un gioco in stile pong/arkanoid con la particolarità che la barretta/racchetta può muoversi sia sull'asse x che y. La barretta è comandata dal mouse.
Ho però un problema che non riesco a risolvere:
quando sposto il mouse velocemente non viene riconosciuta la collisione con la pallina.
Ho provato sia con l'hit test che con le cordinate usando questo codice:
inserito in un evento onenterframe, credo il problema sia dato dal basso numeri di "campionamenti" della posizione della pallina, infatti se alzo il frame rate a 100 il problema si riscontra meno spesso.if (palla._y>=barra._y-10 && palla._y<=barra._y+10 && palla._x<=barra._x+40 && palla._x>=barra._x-40) {
palla._y = barra._y-10;
speedy = -speedy;
}
Ho provato anche a richiamere la funzione con un setinterval basso (penso sia sbagliato aumentare eccessivamente il framerate)
va meglio ma non è soddisfacente per un gioco.function prova () {
if (palla._y>=barra._y-10 && palla._y<=barra._y+10 && palla._x<=barra._x+40 && palla._x>=barra._x-40) {
palla._y = barra._y-10;
speedy = -speedy;
}
};
setInterval(prova,50);
Qualche idea?
Grazie
Giuseppe

Rispondi quotando
ovviamente un po' di test poi son d'obbligo, ma il framerate a 120 puoi tenerlo imho...