2011-01-06 13 views
10

Voglio rilevare il rilevamento di collisione due volte nella stessa riga.in cocos2d

per esempio :-(vedere l'immagine sotto)

l'ellisse e rettangolo o detcted. dopodiché la mia ellisse percorrerà il percorso in linea retta verso il basso e rileverà l'altro rettangolo.

il primo è (percorso in traiettoria) funzionante. la seconda che voglio passare in linea retta verso il basso per il rilevamento delle collisioni.

come eseguire questa procedura.

alt text

risposta

3

utilizzare la libreria Box2D fisica per il rilevamento delle collisioni. È di gran lunga l'opzione migliore nel tuo caso e supportata elegantemente in Cocos2d.

Vedi qui: http://www.raywenderlich.com/606/how-to-use-box2d-for-just-collision-detection-with-cocos2d-iphone

+0

solo con la libreria cocos2d. qui dopo come fare con la libreria di fisica di box 2d? Alraedy è la fase di completamento. quindi telefona come fare questo processo in cocos2d senza la libreria fisica box2d – Sri

+1

Anche se il tuo codice è completo, penso che sarebbe più semplice aggiungere la libreria Box2d invece di implementare le tue routine. http://blog.zincroe.com/2009/05/how-to-add-box2d-to-an-iphone-xcode-project/ – Karlth

1

ne so non hanno cocos2d rilevamento delle collisioni di sprite, perché non è un motore di Phys. Se si desidera che la collisione venga rilevata automaticamente, utilizzare il motore fisico Box2D o chipmunk, supportato da cocos2d.

Se il numero di oggetti che si desidera controllare per la collisione è piccolo, è sufficiente eseguire il proprio oggetto e controllare se alcuni di essi (o solo uno se è sufficiente per voi) si sovrappongono agli altri.

Il rilevamento di collisioni più complesso consente di scrivere una parte di rilevamento collisioni di un motore fisico. È molto più semplice da utilizzare con uno esistente