Livre de cocos2d, le Chapitre 6 : Spritesheets & Zwoptex

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

Le chapitre 6 – Spritesheets et Zwoptex

Dans ce chapitre le foyer sera sur Spritesheets (l'Atlas de Texture), ce qu'ils sont et quand, où et pourquoi les utiliser. Évidemment un chapitre de Spritesheets ne serait pas complet sans introduire l'outil Zwoptex. Les graphiques ajoutées dans ce chapitre seront alors utilisées pour le jeu créé dans le chapitre suivant. The graphics added in this chapter will then be used for the game created in the following chapter.

Le chapitre sera soumis vendredi, le 6 août.

N'importe quoi de Spritesheets vous vouliez toujours savoir ?

Faites-moi savoir juste. J'explorerai quelle sorte de gens d'éditions étaient et ont concernant Spritesheets. Je veux m'assurer qu'ils sont tous couverts dans le livre. I want to make sure that they are all covered in the book.

Quittez s'il vous plaît un commentaire ou écrivez-moi un courrier électronique.

Le résumé du fait de travailler sur le Chapitre 5 – les Éléments de construction de Jeu

J'ai trouvé finalement un meilleur titre pour le chapitre. Une grande partie s'agit de travailler avec les Scènes et les Couches. Une classe LoadingScene est exécutée pour éviter le chevauchement de mémoire en traversant entre deux scènes. Les couches sont utilisées pour modifier les objets de jeu seperately d'UI statique. J'explique comment utiliser des dresseurs de contact visés pour manipuler la contribution de contact pour chaque couche individuelle, les contacts avalants ou non. 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.

L'édition de si à la sous-classe CCSprite ou pas est discuté et un exemple est donnée comment créer des objets de jeu en utilisant la composition et sans sousclasser de CCNode et comment cela change la contribution de contact et le fait de programmer.

À la fin la conservation a spécialisé des classes CCNode telles que CCProgressTimer, CCParallaxNode et la classe CCRibbon avec le CCMotionStreak sont donnés un traitement.

Comme vous pouvez voir des dessins, je fais aussi le progrès satisfaisant lors de la formation d'un grand artiste de pixel. Seulement j'ai une voie looooooong devant moi encore. Mais j'admets, peu je suis au courant de l'art et combien moins je l'ai pratiqué, je suis assez heureux des résultats et m'amusant avec lui. L'aspect frais de cela est que cela devrait être l'art instructif. Cela ne doit pas être bon. Donc je pars devant juste et le fais et ai tendance à être positivement surpris par les résultats. Je toucherai probablement ce sujet dans le chapitre suivant de Spritesheets : action de votre propre art. Ce n'est mieux que rien, c'est le travail toujours créateur même si cela peut être laid à d'autres et cela beaucoup plus satisfait faire tout vous-même, même s'il prend un peu plus long et ne regarde pas comme bon. Au moins c'est tout le vôtre, vous vous amusez et apprenez quelque chose le long de la voie. Et vous pouvez toujours trouver un artiste autrefois plus tard qui distillera juste vos images existantes ou qui remplace vos effets sonores de pet avec quelque chose de plus approprié. 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, si vous cherchez un programme de manipulation d'images décent et libre pour le Mac, j'ai utilisé la Côte depuis environ une année maintenant et je suis assez heureux avec cela.

Scène bizarre [résolue] insecte changeant …

Le 27 juillet 2010, dans cocos2d, par Steffen Itterheim by Steffen Itterheim

J'ai besoin de l'aide. J'ai heurté des problèmes étranges avec cocos2d très simple v0.99.4 le projet créé du gabarit de projet de cocos2d. Ce sont deux scènes avec une couche chacun, beaucoup comme la couche HelloWorldScene régulière. Chaque scène est censée simplement se remplacer avec l'autre scène, sur le contact. Ce qui arrive est que la première scène commencée avec runWithScene n'est jamais deallocated après le premier changement de scène. Donc il reste dans la mémoire et continue à recevoir les contacts, qui signifie qu'un contact se comporte toujours comme si en échangeant dès le début à la deuxième scène. 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.

Ce qui est plus, si j'ajoute l'onEnter et les méthodes onEnterTransitionDidFinish à la première scène, sans leur ajouter un code, la première scène/couche ne reçoit pas d'événements de contact du tout. La deuxième scène ne montre pas ce comportement et travaux parfaits avec ces méthodes exécutées.

Peut-être je donne juste sur le très évident, si vous pourriez jeter un coup d'œil et faites-moi savoir s'il y a n'importe quoi que je fais mal avec ce code s'il vous plaît faites-moi savoir! Merci.

Téléchargez le code ici : ScenesAndLayers02

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.