Linkvent Kalender, Tag 20: Schaffen Sie einen Ganzen Spieltutorenkurs

Am 20. Dezember 2010, in Cocos2D Linkvent Kalender, durch Steffen Itterheim by Steffen Itterheim

Mohammad Azam arbeitet an einem ernsten von Tutorenkursen mit der Absicht, ein ganzes I-Phone-Spiel, genannt Raumdämon zu schreiben. Sie können eine Demonstration des Spiels hier ansehen:

Bis jetzt hat der Tutorenkurs 3 Teile:

  • Teil 1 - Einstellung, Partikel-Effekten, belebte Hintergrund
  • Teil 2 - Wiederfactoring, codieren Sie Architektur
  • Teil 3 - das Bewegen des Schiffs, das Schießen und, der Feind geschossen zu werden

Cocos2d-Buch, Kapitel 9: Partikel-Effekten

Am 21. August 2010, in Ansagen, Buch, cocos2d, durch Steffen Itterheim by Steffen Itterheim

Kapitel 9 - Partikel-Effekten

Jene winzigen Flecke, die Sie auf Ihrem touchscreen nach einem Niesen sehen können.

Nicht genau. Natürlich meine ich das cocos2d Partikel-System und seine eingebauten Partikel-Effekten, die der Fokus dieses Kapitels sein werden. Und keine Diskussion von Partikeln würde abgeschlossen sein, ohne den Arbeitsablauf zu beschreiben, der um das Partikel-Entwerfer-Werkzeug kreist. And no discussion of particles would be complete without describing the workflow revolving around the Particle Designer tool.

Die Zusammenfassung des Arbeitens auf dem Kapitel 8 - Schießt Zusammen

Das war sicher nicht das leichteste Kapitel für mich, um zu schreiben. Ich hatte sehr ehrgeizige Absichten, die vielleicht für 27 Seiten zu ehrgeizig sind. Ich schaffte wirklich, in ziemlich viel zu schleichen, obwohl hier eine teilweise Liste ist: I did manage to sneak in quite a lot though, here’s a partial list:

  • wie zum Wiederfaktor vorhandener Code, um es besser mit den neuen Eigenschaften arbeiten zu lassen
  • wie man Kugeln und Feinde zusammen für den leichteren Zugang und die bessere Leistung vereint
  • wie man zu viele Unterklassen nicht verwendet, stattdessen sich auf Typ-Schalter verlassend
  • wie man cocos2d's Knotenhierarchie als ein einfaches Teilsystem verwendet, um Mehrwegspiellogikbestandteile zu schreiben
  • wie man grundlegende Bewegung, das Schießen und einen healthbar als Bestandteile durchführt
  • wie man Kollisionen zwischen Kugeln und Feinden entdeckt

Nicht so schlug leichter Teil das richtige Gleichgewicht. Nicht das zu technische Gehen. Nicht das Tun zu viel sofort. Nicht, Dinge in zu viele winzige Stücke teilend. Aber am allermeisten stieß ich oft auf verschiedene Programmfehler im Code, oder gerade unerwartetes Verhalten von cocos2d, der mich zwang, mehr Zeit zu verbringen, die Fehler beseitigend und manchmal denselben Weg zurückverfolgende Änderungen als, ich war dazu bereit. Not doing too much at once. Not dividing things into too many tiny pieces. But most of all I frequently encountered various bugs in the code, or just unexpected behavior of cocos2d which forced me to spend more time debugging and sometimes backtracking changes than I was prepared for.

Nach einer langen und harten Arbeitswoche, die mit der physischen Erschöpfung und einer Spät-Sommerallergie platzt paarweise angeordnet ist, meine Konzentration erlaubte mir nicht, an 100-%-Kapazität zu arbeiten. Schließlich behalf ich mich wirklich, aber es nahm länger, als ich geplant hatte, bin ich mehr als ein Tag spät, um dieses Kapitel vorzulegen. Der folgende wird leichter sein, obwohl, und es sein muss, weil ich mich auf eine kurze Reise in der Nähe vom Ende der nächsten Woche vorbereite. Ich freue mich sicher auf ein Paar arbeitsfreie Tage jetzt. :) The next one will be easier though, and it has to be as I’m preparing for a short trip near the end of next week. I certainly am looking forward to a couple days off now. :)

Cocos2d-Buch, Kapitel 8: Schießen Sie zusammen

Am 14. August 2010, im Buch, cocos2d, durch Steffen Itterheim by Steffen Itterheim

Kapitel 8 - Schießt Zusammen

Dieses Kapitel wird den Schuss Spiel beenden. Es wird Feinde und powerups geben. Es bringt das Thema des guten Codedesigns auf, wenn bestimmte Dinge wie das Schießen und Bewegen für alle Gegenstände üblich sind, während andere Dinge solcher als, was man schießt, und wo von und abzuhängen, wer schießt. Und dann zu bestimmen, wer durch wessen Kugeln geschlagen wird. It raises the issue of good code design when certain things like shooting and moving are common to all objects while other things such as what to shoot and where from and to depend on who is shooting. And then to determine who is hit by whose bullets.

Natürlich kein schießen Spiel ist mit einem Chef-Ungeheuer abgeschlossen, das ein Paar Erfolge nimmt, um zu töten. So wird es einen healthbar brauchen. Am Ende des Kapitels schießt das zusammen sollte ein völlig spielbares Spiel mit dem Kapitel 9 sein, das es mit Seheffekten das ergänzt, das cocos2d Partikel-System verwendend. Aber ich überhole mich hier. At the end of the chapter this shoot’ em up should be a fully playable game, with Chapter 9 complementing it with visual effects by using the cocos2d particle system. But I’m getting ahead of myself here.

Zusammenfassung des Arbeitens auf dem Kapitel 7 - Mit der Heiterkeit Scrollend

Wieder benannte ich das Kapitel ein bisschen um, da es in zwei Teile geteilt wird: Eine Parallaxe, ungeheuer Hintergrund und Eingang über SneakyInput scrollend, einen Feuerknopf und ein Analogon thumbstick beziehungsweise am Ende zeigend, änderte sich zu einem 8-wegigen Digitalpolster.

Der Parallaxe-Scrollen-Hintergrund besteht aus mehreren Bändern oder Streifen, die auf verschiedenen Schichten jeder in der Seeküste geschaffen wurden und dann als Person 480×320 Images sparten. Sie wurden dann zum Textur-Atlas durch Zwoptex hinzugefügt. Das kühle Ding darüber besteht darin, dass Zwoptex die Größe des ursprünglichen Images bewahrt, indem er alle durchsichtigen Teile abzieht. So nehmen die Images wenig Raum im Textur-Atlas, aber im Spiel auf, müssen Sie nicht sie individuell einstellen, Sie werden sie einfach am Zentrum des Schirms legen. The cool thing about this is that Zwoptex preserves the original image’s size while stripping away all transparent parts. So the images take up little space in the Texture Atlas but in game you don’t have to position them individually, you’ll simply place them at the center of the screen.

Um die endlose scrollende Wirkung zwei jedes Images, wo hinzugefügt, nebeneinander zu einander mit einem geschnipstem auf der X Achse so zu erreichen, richten sich die Images ordentlich aus. Wann auch immer ein Image außerhalb des Schirms gescrollt hat, wird es zur richtigen Seite des Schirms zurückgekehrt. Am Ende befestigte ich auch die vertikalen Flackern-Linien, die wegen der Runde - von Fehlern erscheinen können, die Elfen bewegend. Und natürlich werden sie alle mit einem CCSpriteBatchNode gezogen. At the end I also fixed the vertical flicker lines which can appear due to round-off errors when moving the sprites. And of course they all are drawn with a CCSpriteBatchNode.

Der SneakyInput-Feuerknopf erlaubt das dauernde Schießen und schnellere Schießen, wenn Sie es gerade klopfen, während der Daumen-Stock die Bewegung des Schiffs sowohl im Analogon als auch in den digitalen (8-wegigen) Varianten kontrolliert. Die setPosition Methode der Klasse des Schiffs wird überritten, um das Schiff des Spielers innerhalb von Schirm-Grenzen zu jeder Zeit zu behalten. Schließlich gibt eine Erweiterungsklasse SneakyInput dieselben Autoausgabe-Initialisierungsprogramme, die durch cocos2d, und fügt ein anderes gutes Beispiel gerade verwendet sind, hinzu, wie nützliche Objektive-C Kategorien sein können. Finally an extension class gives SneakyInput the same autorelease initializers used by cocos2d, and adds another good example of just how useful Objective-C categories can be.