19/12/14 8:16
Thejuster
Salve amici.
Chiedo aiuto a voi per verificare un pò questo piccolo algoritmo di collisione che tempo fà avevo scritto.
Ma ora, stranamente non capisco perché mi dia problemi e non funziona come dovrebbe.
Si parte esempio da:
Tizio_X; Tizio_Y;
ed ho una struttura per gli ostacoli del genere
Ora scendendo ad una logica molto semplice è che per verificare se il tizio, tocca un ostacolo io faccio in questo modo:
Il tizio misura: 32 x 64 pixel
mentre l'ostacolo: 32 x 32 pixel
il codice credo sia abbastanza chiaro.
Se il tizio_x incrocia il punto iniziale dell'ostcolo X e se il tizio_x e dentro all'ostacolo
Stessa cosa per Y è incollisione.
Ma stranamente non mi funziona a dovere.
Il tutto funziona solo sull'asse Y Mentre su X non si ferma ci passa per dimezzo.
in pratica succede così:
s8.postimg.org/h2xvr52ud/…
Chiedo aiuto a voi per verificare un pò questo piccolo algoritmo di collisione che tempo fà avevo scritto.
Ma ora, stranamente non capisco perché mi dia problemi e non funziona come dovrebbe.
Si parte esempio da:
Tizio_X; Tizio_Y;
ed ho una struttura per gli ostacoli del genere
List<_obstacle> Ostacoli = new List<_obstacle>(); public struct _obstacle { public int id; public int x; public int y; }
Ora scendendo ad una logica molto semplice è che per verificare se il tizio, tocca un ostacolo io faccio in questo modo:
Il tizio misura: 32 x 64 pixel
mentre l'ostacolo: 32 x 32 pixel
for(int i = 0; i < Ostacoli.Count; i++) { //Verifica if( Tizio_X >= Ostacoli[i].x && Tizio_X <= Ostacoli[i].x + 32 && Tizio_Y >= Ostacoli[i].y && Tizio_Y <= Ostacoli[i].y + 32) { // Collisione } }
il codice credo sia abbastanza chiaro.
Se il tizio_x incrocia il punto iniziale dell'ostcolo X e se il tizio_x e dentro all'ostacolo
Stessa cosa per Y è incollisione.
Ma stranamente non mi funziona a dovere.
Il tutto funziona solo sull'asse Y Mentre su X non si ferma ci passa per dimezzo.
in pratica succede così:
s8.postimg.org/h2xvr52ud/…
mire.forumfree.it/ - Mire Engine
C# UI Designer
C# UI Designer