Cocos2d-Buch, Kapitel 6: Spritesheets & Zwoptex
Kapitel 6 - Spritesheets und Zwoptex
In diesem Kapitel wird der Fokus auf Spritesheets sein (Textur-Atlas), was sie sind, und wenn, wo und warum man sie verwendet. Natürlich würde ein Kapitel über Spritesheets nicht abgeschlossen sein, ohne das Zwoptex Werkzeug einzuführen. Die in diesem Kapitel hinzugefügte Grafik wird dann für das im folgenden Kapitel geschaffene Spiel verwendet. The graphics added in this chapter will then be used for the game created in the following chapter.
Das Kapitel wird am Freitag, dem 6. August vorgelegt.
Irgendetwas über Spritesheets wollten Sie immer wissen?
Teilen Sie mir gerade mit. Ich werde forschen, welche Problem-Leute waren und bezüglich Spritesheets haben. Ich will sicherstellen, dass sie alle im Buch bedeckt werden. I want to make sure that they are all covered in the book.
Verlassen Sie bitte eine Anmerkung oder schreiben Sie mir eine E-Mail.
Zusammenfassung des Arbeitens auf dem Kapitel 5 - Spielbausteine
Ich fand schließlich einen besseren Titel für das Kapitel. Ein großer Teil ist über das Arbeiten mit Szenen und Schichten. Eine LoadingScene Klasse wird durchgeführt, um das Speicherübergreifen zu vermeiden, zwischen zwei Szenen wechselnd. Schichten werden verwendet, um die Spielgegenstände seperately vom statischen UI zu modifizieren. Ich erkläre, wie man ins Visier genommene Berührungsdressierer verwendet, um Berührungseingang für jede individuelle Schicht, entweder schluckende Berührungen zu behandeln, oder nicht. A LoadingScene class is implemented to avoid the memory overlap when transitioning between two scenes. Layers are used to modify the game objects seperately from the static UI. I explain how to use targeted touch handlers to handle touch input for each individual layer, either swallowing touches or not.
Das Problem dessen, ob zur Unterklasse CCSprite oder nicht besprochen wird und ein Beispiel, wird gegeben, wie man Spielgegenstände schafft, Zusammensetzung verwendend und ohne von CCNode zu subklassifizieren, und wie das Berührungseingang und Terminplanung ändert.
Am Ende spezialisierte das Bleiben CCNode Klassen wie CCProgressTimer, CCParallaxNode und die CCRibbon Klasse mit dem CCMotionStreak werden eine Behandlung gegeben.

Wie Sie aus den Bildern sehen können, mache ich auch gute Fortschritte beim Werden ein großer Pixel-Künstler. Nur ich habe einen looooooong Weg vor mir noch. Aber ich gebe zu, wenig weiß ich über die Kunst, und wie viel weniger ich sie geübt habe, freue ich mich ziemlich über die Ergebnisse und den habenden Spaß damit. Der kühle Aspekt davon ist, dass das aufschlussreiche Kunst sein sollte. Es muss nicht gut sein. So gehe ich gerade voran und tue es und neige dazu, durch die Ergebnisse positiv überrascht zu sein. Ich werde wahrscheinlich dieses Thema im folgenden Kapitel über Spritesheets berühren: das Tun Ihrer eigenen Kunst. Es ist besser als nichts, es ist noch schöpferische Arbeit, selbst wenn es zu anderen hässlich sein kann, und es viel mehr befriedigt, alles selbst zu tun, selbst wenn es ein bisschen länger nimmt und als gut nicht schaut. Mindestens ist es alles Ihrig, Sie haben Spaß, und erfahren etwas entlang dem Weg. Und Sie können immer einen Künstler einmal später finden, der gerade über Ihre vorhandenen Images ziehen wird, oder wer Ihre Furz-Geräuscheffekte durch etwas Passenderes ersetzt. But I admit, the little I know about art and how much less I’ve practiced it, I’m pretty happy about the results and having fun with it. The cool aspect of it is that this should be instructive art. It doesn’t have to be good. So I just go ahead and do it and tend to be positively surprised by the results. I’ll probably touch this subject in the next chapter about Spritesheets: doing your own art. It’s better than nothing, it’s still creative work even if it may be ugly to others, and it’s a lot more satisfying to do everything yourself, even if it takes a bit longer and doesn’t look as good. At least it’s all yours, you’re having fun, and learn something along the way. And you can always find an artist sometime later who will just draw over your existing images or who replaces your fart sound effects with something more appropriate.
Btw, wenn Sie nach einem anständigen und freien Bildredigieren-Programm für den Mac suchen, habe ich Seeküste seit ungefähr einem Jahr jetzt verwendet, und ich bin damit ziemlich glücklich.
Ich muss helfen. Ich bin in fremde Probleme mit einem sehr einfachen cocos2d v0.99.4 von der Cocos2d-Projektschablone geschaffenes Projekt geraten. Es sind zwei Szenen mit einer Schicht jeder viel wie die regelmäßige HelloWorldScene Schicht. Jede Szene soll einfach sich mit der anderen Szene auf der Berührung ersetzen. Was geschieht, ist, dass die erste mit runWithScene angefangene Szene nie deallocated nach der ersten Szene-Änderung ist. So bleibt es im Gedächtnis und setzt fort, die Berührungen zu erhalten, was bedeutet, dass sich eine Berührung immer als ob benimmt, von Anfang an auf die zweite Szene umschaltend. It’s two scenes with a layer each, much like the regular HelloWorldScene layer. Each scene is simply supposed to replace itself with the other scene, on touch. What happens is that the first scene started with runWithScene is never deallocated after the first scene change. So it stays in memory and keeps receiving the touches, which means a touch is always behaving as if switching from the first to the second scene.
Was mehr ist, wenn ich den onEnter und die onEnterTransitionDidFinish Methoden zur ersten Szene hinzufüge, ohne irgendeinen Code zu ihnen hinzuzufügen, erhält die erste Szene/Schicht keine Berührungsereignisse überhaupt. Die zweite Szene zeigt dieses Verhalten und Arbeiten nicht, die mit diesen durchgeführten Methoden fein sind.
Vielleicht überblicke ich gerade das sehr offensichtliche, wenn Sie ansehen und mir mitteilen konnten, wenn es irgendetwas gibt, was ich falsch mit diesem Code tue, teilen Sie mir bitte mit! Danke.
Laden Sie den Code hier herunter: ScenesAndLayers02









