Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Collisione tra Oggetti [Immagini]
Forum - C# / VB.NET - Collisione tra Oggetti [Immagini]

Avatar
FrancoBB (Ex-Member)
Newbie


Messaggi: 4
Iscritto: 24/10/2007

Segnala al moderatore
Postato alle 21:05
Mercoledì, 21/05/2008
Ciao a tutti.
Vorrei realizzare un videogioco in visual basic.net, (WallBreaker) e volevo sapere se esisteva una funzione che mi permetterebbe di conoscere quando avviene una  collisione fra immagini (pallina con mattoncino) :-?
Purtroppo in internet non ho trovato :-| alcuna risposta ...

PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 21:14
Mercoledì, 21/05/2008
Dipende da come li fai interagire. Sono controlli od oggetti che vengono disegnati tramite una Graphics?
Al di là di questo, potrei suggerirti di controllare le loro coordinate: infatti, in qualsiasi direzione si urtino, ci sarà sempre una coppia di coordinate corrispondenti in cui una è maggiore dell'altra e rientra nei margini dell'immagine. Ad esempio, se Obj1 urta Obj2 da sinistra a destra, avrai:
Codice sorgente - presumibilmente C# / VB.NET

  1. Obj1.X > Obj2.X And Obj1.X < Obj2.X + Obj2.Width


Ultima modifica effettuata da Il Totem il 21/05/2008 alle 21:16
PM Quote
Avatar
FrancoBB (Ex-Member)
Newbie


Messaggi: 4
Iscritto: 24/10/2007

Segnala al moderatore
Postato alle 23:37
Mercoledì, 21/05/2008
Stavo solo buttando le idee sulla carta, se ovviamente esistese una funzione farei in modo di usarla.. per evitare di dover fare 2 milioni di calcoli per ogni movimento della pallina... Grazie cmq

PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 20:21
Giovedì, 22/05/2008
Forse esiste... O forse no... Se esistesse sicuramente sarebbe una funzione di Graphics o deriverebbe da una classe di System.Drawing o System.Drawing.Drawing2D. Ad ogni modo, sono solo quattro calcoli (quattro di numero) per ogni oggetto che interviene nella collisione.

PM Quote