Originariamente inviato da g.b99pm10
Salve, è da un bel po' che smanetto con allegro.h e devo dire che mi sta davvero appassionando. Quindi ho deciso di verificare le mie conoscenze "programmando" una semplice versione di pacman. Per adesso sono riuscito a controllare il movimento dei fantasmi e di pacman, sono riuscito (dopo una settimana di ricerca) a capire come creare collisioni tra pacman e le sferette, ma adesso sussiste un problema che ho ritardato, ma che ora resta l'ultima cosa da fare: i muri. Ora, ho pensato di caricare con draw_sprite l'immagine dei muri
(copiata da google immagini e adattata con paint) nel display e poi fare per ogni singolo pezzo una routine di collisione per poi non far andare pacman oltre il muro.
La mia domanda è: come posso far sì che pacman non possa attraversare i muri senza creare una routine di collisione con il pezzo del muro ogni volta?
Ciao,
è la stessa cosa dell'altra discussione, cambia solamente che lo dovrai fare per ogni sprite che magari sia definito come 'muro' in modo che nel tuo ciclo for non si metta ad eseguire la funzione su sprite che non centrano a niente con il muro.

Un ciclo-for usato in questo modo però farebbe perdere molti FPS per cui bisognerebbe studiare un modo per eseguire la collisione solo in un certo momento.

Un idea sarebbe quella di effettuare la ricerca di collisioni solo se all'interno di un certo raggio del personaggio è presente qualcosa, in questo modo la ricerca delle collisioni si limiterà ad essere nel raggio definito.

Oppure pre calcolare le collisioni con un sistema di tile

Purtroppo le collisioni sono una rottura di scatole, per fare il mio piccolo motore grafico in DirectX ci ho dovuto sclerare non poco

devi stare attento a verificare ogni tipo di condizione necessaria...basta un piccolo errore di qualsiasi tipo e ti ritrovi la collisione sfasata