PDA

View Full Version : [JAVA] Urti tra oggetti e coscienza del proprio spazio occupato


3nigma666
26-05-2005, 22:13
Salve io sto creando un applicazione grafica (pacman) ke ora come ora funziona,pero non sono assolutamente contento del modo con il quale ho gestito gli urti,Vi espongo brevemente x capire meglio quello ke è il mio problema.

sia pacman ke i fantasmini sono rappresentati da quadrati ke hanno dimensione 40 x 40 pixel.


Vertice
Top Sx
-----------
| |
| PacMan |
| |
-----------
Vertice Down Dx



In java i rettangoli vengono disegnati con la coordinate X (indentificata con la variabile leftX e la coordinate y identificata con la variabile topY )

dove leftX e topY identificano il vertice superiore sinistro
e con la variabile : height e width si identifica il vertice basso destro.

ORa per gestire gli urti del tipo


---------
| |
| PacMan | --------------
| | | |
--------- | Fantasmino|
| |
--------------

verifico inanzittutto ke la coordinate x del fantasmino sia uguale alla coordinate (x + width) di pacman.



pacman.leftx() + pacman.width() == fantasmino.leftX();



Se questo è vero verifico se la coordinata y del fantasmino è compresa o uguale alle coordinate y e y+height del pacman. in questo modo:



if ( pacman.y() <= fantasmino.y() && fantasmino.y() <= pacman.y() + pacman.height() || pacman.y() <= fantasmino.y() + fantasmino.height() && fantasmino.y() + fantasmino.height() <= pacman.y() + pacman.height() )



tutto questo a mio avviso è molto articolato e poco funzionale.ci vorrebbe un modo per diciamo cosi rendere coscienti gli oggetti della propria dimensione.far si ke si rendano conto ke occupano dello spazio sul piano e che comunichino ke sono stati urtati da un altro oggetto,senza dover fare un controllo ogni volta sulle coordinate come sopra descritto.qualcuno ha un idea,sempre se mi sono espresso in maniera chiara .

grazie a tutti

3NiGm@666

fek
27-05-2005, 09:09
tutto questo a mio avviso è molto articolato e poco funzionale.ci vorrebbe un modo per diciamo cosi rendere coscienti gli oggetti della propria dimensione.far si ke si rendano conto ke occupano dello spazio sul piano e che comunichino ke sono stati urtati da un altro oggetto,senza dover fare un controllo ogni volta sulle coordinate come sopra descritto.qualcuno ha un idea,sempre se mi sono espresso in maniera chiara .

Quello che hai implementato va benissimo. Per un gioco come Pacman non ti servono soluzioni piu' complesse.