|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Aug 2005
Città: Genova
Messaggi: 2285
|
[C++] Programmare pacman con allegro: domande varie
Mi sto apprestando un po come esercizio per capire meglio le classi e un po come sfida personale, a programmare una versione molto semplice di pacman con la libreria allegro.h
Sono anche riuscito a gestire le collisioni tra sprite correttamente ma ora ho un piccolo problema:ho creato una classe GenericSprite con tutti i metodi che servono, 3 sue sottoclassi chiamate Pacman, Enemy, Wall La terza come è facile intuire è quella che gestisce gli sprite di tipo wall, ovvero dei tiles (mattonelle) di 32x32 che andrano a comporre i muri. A questo proposito vorrei sapere: 1) se devo creare un muro di 20 tiles, devo fare un array di oggetti di 20 elementi? In tal caso posso usare sempre il costruttore con parametri che gli ho impostato? (incrementando ad esempio la x di 32 in modo che disegni uno dopo l'altro i quadratini) 2)le collisioni le gestisco tramite metodo della classe GenericSprite che prende come parametro, oltre all'oggetto che lo chiama, un altro oggetto di tipo GenericSprite, ad es Codice:
GenericSprite Pacman;
Pacman.Collision(Ghost1) //per controllare ad es la collisione con un fantasmino
// se avviene la collisione mette a true il collisionFlag
__________________
Lego ™ Fans Club Ultima modifica di Dani88 : 27-03-2008 alle 18:51. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
![]() ma i tiles non dovrebbero esistere nella logica del gioco. imho basterebbe disegnarli nello sfondo e sovrapporli a delle Region su cui poi andrai a calcolare le collisioni. In questo modo avrai delle region + grandi e in numero MOLTO minore.
__________________
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Aug 2005
Città: Genova
Messaggi: 2285
|
cioè tu dici, invece di creare 20 tiles e x ognuno la collisione creo un bounding box di 32x640 e gestisco la collisione con quello?
Calcola che sono abbastanza all'inizio quindi ogni dritta/consiglio è graditissimo Thanx ancora
__________________
Lego ™ Fans Club |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:03.




















