Livre de cocos2d, le Chapitre 5 : le fait de Devenir plus grand et mieux

Le 23 juillet 2010, dans les Annonces, le livre, par Steffen Itterheim by Steffen Itterheim

Le chapitre 5 – le fait de Devenir plus grand et meilleur

Le point essentiel de ce chapitre devra discuter le projet de jeu simple du chapitre précédent. J'ai lancé tout dans une classe, clairement pas ce que vous voulez faire pour de plus grands jeux. Mais arriver d'une classe au design codé réel est un grand pas que certains hésitent à prendre. Je le rendrai plus facile et discuterai des questions communes et leurs solutions, tel que qu'à seperate, que sousclasser de et comment vous pouvez avoir tous les objets de seperated communiquent l'un avec l'autre et échangent des renseignements des façons différentes. But getting from one-class to real code design is a big step which some hesitate to take. I’ll make that easier and discuss common issues and their solutions, such as what to seperate, what to subclass from and how you can have all the seperated objects communicate with each other and exchange information in various ways.

Un grand thème sera évidemment comment profiter de la hiérarchie de scène cocos2d’s et quels écueils il peut avoir en bougeant d'un jeu de la couche simple à celui qui a des couches multiples et des scènes même multiples.

Quant au titre de chapitre je ne suis pas si sûr si ce sera il. Peut-être le long de la voie pendant que j'écris que je le changerai. Salut de suggestions! Suggestions welcome!

Le chapitre sera soumis vendredi, le 30 juillet.

Qu'est-ce qui est votre pris sur la bonne structure codée de cocos2d ?

Vous battiez-vous jamais avec les concepts de design de cocos2d ? Ou la hiérarchie de scène cocos2d ? Ou comment à la disposition une scène et divisent votre jeu en parties logiques ? Dites-moi de cela. Or how to layout a scene and divide your game into logical parts? Tell me about it.

Je sais que les questions de thèses sont un peu génériques pour demander. C'est des choses qui ne se sentent pas justes, mais ne semblent pas là être une voie meilleure, plus évidente. Je crois que nous tous connaissons certains d'entre ceux, si vous faites, être sûrs de me dire! Quittez un commentaire ou écrivez-moi un courrier électronique. I think we all know some of those, if you do, be sure to tell me! Leave a comment or write me an email.

Le résumé du fait de travailler sur le Chapitre 4 – le jeu D'abord simple

On appelle le jeu que j'ai voulu faire la Goutte de Griffonnage et les traits laissant tomber des araignées et un accéléromètre a contrôlé l'étranger essayant d'éviter les araignées. Somme toute il a été divisé en 8 pas concrets. Les lots et beaucoup de commentaires codés, aussi. Lots and lots of code comments, too.

Il commence des ressources assez simples, ajoutantes à Xcode et des lutins ajoutants. Cela reçoit plus de gameplay-esque quand les commandes de joueur conduites de l'accéléromètre ont été tordues pour fournir l'accélération et la décélération de l'objet de joueur. Par contre, les mouvements d'araignées sont conduits seulement par les actions. In contrast, the spiders movements are driven only by actions.

Je vous présente à deux traits non documentés de cocos2d, à savoir CCArray qui est depuis v0.99.4 avait l'habitude de conserver tous les enfants d'un noeud. L'autre sont la classe CGPointExtension qui a toutes les fonctions normalement fournies par un moteur de physique, cependant pas chaque jeu devrait relier un moteur de physique juste parce que l'on a besoin de ces fonctions de maths. C'est pour cela que CGPointExtension entre commode. That’s why CGPointExtension comes in handy.

Avec la méthode ccpDistance les vérifications de collision sont faites. Les collisions radiales simples et dans le mode de débogage les rayons de collision sont tirées aussi.

Entre le CCLabel pour le score a été remplacé avec un CCBitmapFontAtlas, parce qu'il a tué le framerate. J'ai mentionné bientôt Hiero et comment l'utiliser en principe mais pour tous les détails il n'y avait aucune pièce. Mais pendant que j'étais à cela j'ai créé la Classe de travaux dirigés de Hiero. But while I was at it I created the Hiero Tutorial.

À la fin du projet j'ai ajouté que certains polissent qui n'est pas décrit dans le livre (trop de détails), mais ajoute vraiment au regard du jeu et au sens. La goutte d'araignées, soyez suspendus dans là, chargez ensuite avant de descendre, toutes les actions d'utilisation faites. J'ai ajouté aussi le fil qu'ils accrochent à utiliser ccDrawLine. Et ensuite il y a un jeu sur l'étiquette qui montre même plus d'utilisation d'action. I’ve also added the thread they’re hanging from using ccDrawLine. And then there’s a game over label which shows even more action use.

Un des principes que j'ai suivis doit s'absenter de l'ensemble fixé autant que possible. Donc le projet, une fois fini, a vraiment couru juste parfait sur un iPad. Bien que l'expérience soit une différente, il y a plus de chute d'araignées et ils tombent plus vite mais il y a l'espace aussi plus sûr pour manoeuvrer à. Although the experience is a different one, there’s more spiders dropping and they drop faster but there’s also more safe space to maneuver to.

Oh et, l'art de jeu est toute la mine. Oui, je sais … mais les araignées de l'Homme ont vraiment juste six jambes! :)

Livre de cocos2d, le Chapitre 4 : Jeu D'abord Simple

Le 17 juillet 2010, dans les Annonces, le livre, cocos2d, par Steffen Itterheim by Steffen Itterheim

Le chapitre 4 – Jeu D'abord Simple

Après que le Chapitre 3 a couvert les fondements du moteur de jeu cocos2d, ce chapitre mettra pour utiliser ce que vous avez appris. Le jeu simple est tout des ennemis tombants que vous devez éviter via les commandes d'accéléromètre. La sorte de pareils un Saut de Griffonnage inverse. Mais c'est non seulement du gameplay lui-même, je veux que le jeu soit raisonnablement complet avec un menu principal, des transitions de scène, le jeu fini et évidemment audio. Sort of like an inverse Doodle Jump. But it’s not just about the gameplay itself, I want the game to be reasonably complete with a main menu, scene transitions, game over and of course audio.

Le chapitre sera soumis vendredi, le 23 juillet.

Avez-vous des suggestions pour le jeu ?

Ce qui fait vous pensez devrait être dans un premier jeu cocos2d ? Faites-moi savoir!

Le résumé du fait de travailler sur le Chapitre 3 – l'Essentiel

Quand j'ai commencé le chapitre je n'étais pas vraiment sûr de son foyer et le progrès était un peu lent. Finalement il a fait un déclic et je me suis trouvé me retrouvant ayant écrit plus de pages que nécessaire et ayant encore un grand nombre de choses indicible. La clé regardait la documentation de référence d'API cocos2d et se souvenait d'à quoi il a ressemblé quand j'étais un débutant. Bien sûr, chaque classe, méthode et propriété sont là, mais depuis un commencement cocos2d le promoteur la référence d'API est juste une énorme liste de noms. En d'autres termes, si votre expérience était ou est n'importe quoi comme mienne était, il est frustrant de travailler avec la référence d'API. The key was looking at the cocos2d API reference documentation and remembering what it was like when I was a beginner. Sure, every class, method and property is there but for a beginning cocos2d developer the API reference is just a huge list of names. In other words, if your experience was or is anything like mine was, it’s frustrating to work with the API reference.

J'ai fini par écrire du design de locomotive cocos2d et de son graphique de scène d'abord, la conservation que 80 % du chapitre expliquent en détail avec beaucoup d'échantillons codés comment utiliser ceux reprisent des classes CCNode. Tous les importants sont couverts : CCNode, CCScene, CCLayer, CCSprite, CCLabel, CCMenu, CCMenuItem* aussi bien que le Directeur, Transitions et Actions. En plus des échantillons codés et comment - à j'ai ajouté de nombreuses mises en garde, des erreurs communes, de meilleures pratiques et d'autres noeuds qui sont nécessaires tellement pour rendre n'importe quelle documentation complète. CCNode, CCScene, CCLayer, CCSprite, CCLabel, CCMenu, CCMenuItem* as well as the Director, Transitions and Actions. Besides the code samples and how-to I’ve added numerous caveats, common mistakes, best practices and other nodes which are so very much needed to make any documentation complete.

Par exemple, comment les Couches sont le mieux utilisées pour grouper d'autres noeuds et évidemment comment permettre le contact et l'accéléromètre saisi en ajoutant les fonctions exigées qui ne sont pas mentionnées dans la référence d'API comme ils font partie de l'I-Phone l'API de SDK. Il y a aussi une recommandation bizarre flottant autour de pour ne pas utiliser trop de Couches parce qu'ils sont lents. Je ne peux pas trouver la source, mais ce que j'ai vraiment trouvé était que c'est vrai seulement si les Couches permettent le contact ou la contribution d'accéléromètre, parce que c'est ce qui coûte beaucoup de performance. Donc ce que vous ne voulez pas avoir est plusieurs couches la contribution acceptante, utilisez autrement autant de Couches que vous avez besoin – qui ne devrait pas être beaucoup de toute façon. Et si vous avez besoin vraiment des Couches multiples la contribution acceptante, pourquoi utilisent non seulement une Couche de maître (utilisant peut-être un dresseur de Contact Visé) quel en avant les événements de contribution convenablement aux autres Couches ? I can’t find the source but what I did find was that this is only true if the Layers enable touch or accelerometer input, because that’s what costs a lot of performance. So what you don’t want to have is several layers accepting input, otherwise use as many Layers as you need – which shouldn’t be many anyway. And if you do need multiple Layers accepting input, why not just use one master Layer (possibly using a Targeted Touch handler) which forwards the input events appropriately to the other Layers?

Livre de cocos2d, le Chapitre 2 : Commencer

Le 2 juillet 2010, dans les Annonces, le livre, cocos2d, par Steffen Itterheim by Steffen Itterheim

Le chapitre 2 – Être commencé

Ce chapitre commence avec les préalables ordinaires. Téléchargez et installez l'I-Phone SDK et cocos2d. Le fait d'installer cocos2d Gabarits. La création du premier projet d'un cocos2d projette le gabarit. Installing cocos2d Templates. Creating the first project from a cocos2d project template.

Ce De quoi j'ai déjà écrit que j'estime que ce sera environ un tiers du chapitre. Je crois ce qui serait le plus intéressant dans ce chapitre doit parler de la structure codée générale de projets de cocos2d. Les éléments fondamentaux comme les Scènes, les Couches et les Noeuds. Comment traverser d'un écran à un autre, voir que nous faisons en fait quelque chose de frais avec peu d'effort. Pour cela je crois que les sélectionneurs programmés devraient aussi être présentés aux transitions de temps et un écran pourrait être une Couche qui attend la contribution de contact pour avancer à l'écran suivant. The basic elements like Scenes, Layers and Nodes. How to transition from one screen to another, to see that we’re actually doing something cool with little effort. For that I think the scheduled selectors should also be introduced to time transitions, and one screen might be a Layer which is waiting for touch input to advance to the next screen.

Cela pourrait être aussi un bon endroit pour discuter la direction de mémoire cocos2d, comme l'autolibération statique initializers et s'assurant on appelle dealloc quand vous échangez des scènes – autrement vous avez évidemment une fuite de mémoire.

Le but est de recevoir le lecteur dans une position où il se sent confortable en posant une structure d'écran dans cocos2d. Il sait comment initialiser des objets et comment les ajouter et enlever de la scène. La fondation de travail avec cocos2d si vous allez ainsi. The foundation of working with cocos2d if you so will.

Ce qui fait vous pensez devrait être dans le Chapitre 2 ?

Faites-moi savoir si vous croyez que je manque n'importe quoi d'important. Si vous n'avez pas de suggestions pensent alors juste à quoi vous vous attendriez du chapitre en lisant cette description, qui pourrait vous donner quelques pensées.

Aussi j'approuverais n'importe quels bouts et les écueils communs dans lesquels les promoteurs cocos2d premiers fois pourraient se piéger. Les bouts spécialisés sont bienvenus aussi, ces petites choses désagréables ou habitudes qui pourraient vous mordre plus tard sur si vous ne les considérez pas à partir du commencement.

J'attends votre réaction impatiemment! Plus tôt mieux. Le chapitre 2 sera soumis ensuite vendredi, le 9 juillet. Chapter 2 will be submitted next Friday, July 9th.

Ce qui est planifié pour le Chapitre après celui-ci

Juste pour mettre le Chapitre 2 dans le contexte, pour le Chapitre 3 je projette de parler des classes cocos2d essentielles et des processus. Les lutins, les Étiquettes, les Menus, les Actions, etc. Il vous montrera comment travailler avec eux utilisant de petits fragments codés. Le chapitre aura probablement un caractère "de référence" avec les échantillons codés différents, pour que les utilisateurs expérimentés se sentent confortables en sautillant en avant pendant que les débutants le trouvent encore facile et encourageant pour ramasser les détails. It’ll show you how to work with them using small code snippets. The chapter will probably have a “reference” character with various code samples, so that experienced users feel comfortable skipping ahead while beginners still find it easy and encouraging to pick up the details.