24-03-2011, 01:48 PM
Complimenti!
Volendo avresti potuto accorciare il codice visto hai già una funzione che ti verifica la presenza di collisioni, avresti potuto sfruttarla.
Io avrei dedicato (per esempio) gli id dal 2 al 999 per i nemici (1 è il pg), dal 1000 al 1999 per i pavimenti, dal 2000 al 2999 per i soffitti e dal 3000 al 5000 per i muri.
Poi bastava una cosa del genere (abbozzo tutto senza ide, quindi è facile che ci siano errori):
Volendo avresti potuto accorciare il codice visto hai già una funzione che ti verifica la presenza di collisioni, avresti potuto sfruttarla.
Io avrei dedicato (per esempio) gli id dal 2 al 999 per i nemici (1 è il pg), dal 1000 al 1999 per i pavimenti, dal 2000 al 2999 per i soffitti e dal 3000 al 5000 per i muri.
Poi bastava una cosa del genere (abbozzo tutto senza ide, quindi è facile che ci siano errori):
Codice PHP:
bool collisioneDw(int max) // max è il numero di mattoni del pavimento
{
for(int x=1000; 1000+max; x++) if(dbSpriteCollision(1,x)) return 1;
return 0;
}
bool collisioneUp(int max) // max è il numero di mattoni del soffitto
{
for(int x=2000; 2000+max; x++) if(dbSpriteCollision(1,x)) return 1;
return 0;
}
bool collisioneDx(int max) // max è il numero di mattoni delle pareti
{
for(int x=3000; 3000+max; x++)
{
if(dbSpriteCollision(1,x))
{
if(dbSpriteX(1) < dbSpriteX(x)) return 1;
}
}
return 0;
}
bool collisioneSx(int max) // max è il numero di mattoni delle pareti
{
for(int x=3000; 3000+max; x++)
{
if(dbSpriteCollision(1,x))
{
if(dbSpriteX(1) > dbSpriteX(x)) return 1;
}
}
return 0;
}