Problem mit cocos2D for iPhone und touch-Erkennung
Ich verstehe es einfach nicht.
Ich benutze cocos2d für die Entwicklung eines kleinen Spiels auf dem iPhone/Pod. Der Rahmen ist einfach toll, aber ich scheitere bei der touch-Erkennung. Ich habe gelesen, dass Sie gerade brauchen, um das überschreiben der richtigen Funktionen (z.B. "touchesBegan" ) in der Implementierung einer Klasse wich Unterklassen CocosNode. Aber es funktioniert nicht. Was könnte ich falsch machen?
Funktion:
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{NSLog(@"tickle, hihi!");}
habe ich es Total falsch?
Danke!
InformationsquelleAutor | 2008-12-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Schicht ist die einzige cocos2d-Klasse, die bekommt berührt.
Der trick ist, dass ALLE Instanzen von Schicht übergeben bekommen, die touch-events, einer nach dem anderen, so dass Ihr code hat, um diese zu bewältigen.
Habe ich es wie folgt:
}
Beachten Sie, dass die cocos2d-Bibliothek hat ein "ccTouchesEnded" Umsetzung, eher als die Apple-standard. Es ermöglicht Ihnen die Rückgabe ein BOOLESCHER Wert, der angibt, ob oder nicht Sie das Ereignis behandelt.
Glück!
Klasse implementieren muss, um eines der beiden Protokolle TouchDelegate
Dieser code sieht wirklich alt und schlecht. -1
InformationsquelleAutor Genericrich
Haben Sie dies nur Hinzugefügt, um Ihre Schichten init-Methode?
InformationsquelleAutor jjxtra
Um zu erkennen, berührt, müssen Sie Unterklasse von UIResponder (UIView als auch nicht) . Ich bin nicht vertraut mit cocos2D, aber ein kurzer Blick in die Dokumentation offenbart, dass CocosNode nicht ableiten von UIResponder.
Bei der weiteren Untersuchung, wie es aussieht, Cocos Leute erstellt eine Layer-Klasse, die sich von CocosNode. Und diese Klasse implementiert das touch-event-Handler. Aber diejenigen, die vorangestellt sind cc.
Sehen http://code.google.com/p/cocos2d-iphone/source/browse/trunk/cocos2d/Layer.h
Siehe auch Menü.m-code und die unten blog-post-Artikel für mehr Informationen zu diesem Thema:
http://blog.sapusmedia.com/2008/12/cocos2d-propagating-touch-events.html
InformationsquelleAutor keremk
maw, die CGPoint struct Mitglieder x und y floats sind. @"%f" format Schwimmer für printf/NSLog.
InformationsquelleAutor
Wenn Sie die 0.9 beta-Version von cocos2D es hat eine wirklich einfache touch-Erkennung für CocosNodes. Die wahre Schönheit dieses neue Entdeckung ist, dass es behandelt mehrere touch-tracking wirklich gut.
Ein Beispiel dafür finden Sie hier
http://code.google.com/p/cocos2d-iphone/source/browse/#svn/trunk/tests/TouchesTest
InformationsquelleAutor Damo
denke, das kann dir helfen....
InformationsquelleAutor Rony
-Machen Sie Ihre Szene entspricht-Protokoll
CCTargetedTouchDelegate
-Fügen Sie Diese Zeile zu
init
Ihrer Szene:-Diese Funktionen implementieren:
InformationsquelleAutor Hossam Ghareeb