Wie bekomme ich Objekte, um auf Berührungen in Cocos2D zu reagieren?

8

Okay, also fange ich an, mehr über Coco2D zu lernen, aber ich bin irgendwie frustriert. Viele der Tutorials, die ich gefunden habe, sind für veraltete Versionen des Codes, also wenn ich durchschaue und sehe, wie sie bestimmte Dinge tun, kann ich es nicht in mein eigenes Programm übersetzen, weil sich viel verändert hat. Damit arbeite ich in der neuesten Version von Coco2d, Version 0.99.

Ich möchte ein Sprite auf dem Bildschirm erstellen (Fertig) und dann, wenn ich dieses Sprite berühre, kann "etwas" passieren. Lassen Sie uns jetzt eine Warnung auslösen. Jetzt habe ich diesen Code mit Hilfe eines Freundes entwickelt. Hier ist die Header-Datei:

%Vor%

Und hier ist die Implementierungsdatei:

%Vor%

Das funktioniert jedoch nur für 1 Objekt, das Sprite, für das ich den CGRect erstellt habe. Ich kann es nicht für 2 Sprites, die ich getestet habe. Meine Frage ist also: Wie kann ich alle Sprites auf dem Bildschirm auf das gleiche Ereignis reagieren lassen, wenn sie berührt werden?

Für mein Programm muss dasselbe Ereignis für alle Objekte des gleichen Typs ausgeführt werden, so dass es etwas einfacher wird. Ich habe versucht, eine Unterklasse von CCNode zu erstellen und die Methode zu schreiben, aber das hat einfach nicht funktioniert ... also mache ich etwas falsch. Hilfe wäre willkommen!

Gehen Sie durch das Projekt "Touches" in cocos2D und sehen Sie, ob ich sehe, wie sie es gemacht haben. Es sieht so aus, als hätten sie eine Unterklasse erstellt und die Methoden überschrieben:

%Vor%

Also jetzt muss ich herausfinden, warum meins nicht funktioniert ... hmm ...

    
Ethan Mick 13.03.2010, 02:14
quelle

2 Antworten

11

Ich habe es. Ich musste der benutzerdefinierten Klasse noch mehr Code hinzufügen:

Header-Datei:

%Vor%

Implementierung:

%Vor%     
Ethan Mick 13.03.2010, 03:01
quelle
-2

Ich bin ein Anfänger, aber diese Datei hat mir eine Menge Ärger erspart, ich verstehe jetzt viel mehr Sachen, und die Art, dies richtig zu instantiieren, ist: (zumindest wie ich es gemacht habe)

%Vor%

Öffnen Sie die Konsole und sehen Sie sich die Nachrichten an, die gesendet werden, wenn Berührungsereignisse ausgelöst werden.

    
makAndShees 02.10.2010 18:38
quelle