La liste Complète (?) D'outils Cocos2D

Le 24 juin 2011, dans le livre, cocos2d, les outils, par Steffen Itterheim by Steffen Itterheim

Pour la deuxième édition du fait d'Apprendre Cocos2D réservent j'ai compilé une liste alphabétiquement classée d'outils que les promoteurs peuvent utiliser pour les projets de cocos2d. Faites-moi savoir s'il vous plaît s'il y a un outil manquant de cette liste ou s'il y a celui qui ne travaillera plus et n'a pas été actualisé au cours des mois.

Les outils suivants peuvent être utilisés pour le développement avec cocos2d :

Outils de Fonte de Bitmap

BMFont (Windows)
Fonteditor
Créateur de Glyph
Hiero
LabelAtlasCreator

Outils de Révisant de particule

ParticleCreator
Créateur de particule

Outils de Révisant de physique

Mekanimo
PhysicsBench
PhysicsEditor
VertexHelper

Outils de Révisant de scène

CocosBuilder
Cocoshop
LevelHelper

Outils d'Atlas de texture

Rédacteur de DarkFunction
SpriteHelper
TexturePacker
Zwoptex

Tilemap Révisant des Outils

iTileMaps
Rédacteur de Carte couvert de tuiles

La construction du Projet de Cocos2D Ultime

Le 25 février 2011, dans Kobold2D, par Steffen Itterheim by Steffen Itterheim

Première mise à jour de vendredi après le poste de taquin. Je travaille sur un nouveau projet. J'étaie encore les détails du "trait du tueur" et fais des épreuves, donc je ne peux pas en parler vraiment. Mais je peux vous dire ce que j'ai déjà en haut et la course à pied. I’m still fleshing out the details of the “killer-feature” and making tests, so I can’t really talk about that. But I can tell you what I have already up and running.

L'Ancêtre : cocos2d-projet

Vous pouvez vous souvenir que les Xcode Cocos2D projettent la classe de travaux dirigés que j'ai écrite il y a presque une année. Le but de cela était d'utiliser Cocos2D comme une bibliothèque externe pour être capable d'actualiser Cocos2D simplement en tirant une nouvelle version du conard, ou juste en remplaçant la chemise Cocos2D. J'ai donné un nom ennuyeux, peu intéressant, générique au projet résultant (si typique pour un programmeur) : cocos2d-projet. I gave the resulting project a boring, uninteresting, generic name (so typical for a programmer): cocos2d-project.

Le cocos2d-projet nouvel et amélioré pas a seulement un nom de spiffy (pour être annoncé), mais lève aussi la barre pas un, mais deux ou peut-être même trois niveaux, selon la valeur perçue. Ce sont sans aucun doute des sauts et des limites devant le projet de distribution Cocos2D, surtout si vous aimez comment les projets de code source devraient être composés.

Un Xcode projette pour les deux iOS & Mac OS X Cibles

Une chose qui m'a tracassé vraiment quand Cocos2D est devenu capable pour construire Mac OS X applications a consisté en ce qu'il a exigé un projet de Xcode séparé pour chaque plate-forme. Si vous faisiez jamais le développement de trans-plate-forme vous savez que cela ne va pas vous rendre heureux. Chaque action a besoin d'être faite deux fois, ajouter une ressource dans un projet, alors vous devez l'ajouter aussi l'autre. Changez un cadre construire dans un projet, changez-le aussi dans l'autre. Construisez et courez dans un projet, construisez ensuite et dirigez l'autre projet avec une complètement différente disposition de fenêtre et copiant probablement toutes les fenêtres flottantes aka “Qui est-il le Mac OS le débogueur ou est-il celui pour le projet d'IOS ?”. Vous l'appelez. Every action needs to be done twice, add a resource in one project, then you must also add it in the other. Change a build setting in one project, also change it in the other. Build and run in one project, then build and run the other project with a completely different window layout and probably duplicating all the floating windows aka “Is that the Mac OS debugger or is it the one for the iOS project?”. You name it.

J'ai fait un peu de recherche, ensuite une épreuve et Il se termine : il est entièrement possible de viser tant le Mac OS X que la plate-forme d'IOS de l'intérieur le même projet de Xcode. Il travaille comme un charme! It works like a charm!

Vraiment la seule chose que vous avez besoin de tenir dans la tête consiste en ce que Xcode ne vous donne pas l'option de changer SDK Actif par défaut. Mais si vous claquez la Vue d'ensemble dropdown en maintenant la clé d'Option en place, vous pouvez choisir n'importe quel SDK c'est installé sur votre système (voir l'image). La clé doit changer d'abord ici la Cible Active en cible de Mac, alors le claquement de l'Option de nouveau et l'élection Mac OS X 10.6 comme SDK Actif. Et l'autre voie autour de pour changer en arrière en IOS. Donc c'est un deux processus de pas, mais encore une voie plus confortable que la gestion de deux seperate Xcode les projets. The key here is to first change the Active Target to the Mac target, then Option-Click again and select Mac OS X 10.6 as the Active SDK. And the other way around to change back to iOS. So it’s a two step process but still way more comfortable than managing two seperate Xcode projects.

XCConfig Construisent la Configuration

En coulisses il y a un pas supplémentaire exigé de faire ce travail, que j'ai voulu faire pendant longtemps : utiliser XCConfig demande construisent des cadres. Cocoaphony a un poste de blog le Refus du Comité Construire décrivant la technique. La bonne partie est : il y a moins de confusion entre du projet de tout et spécifique de la cible construisent des cadres. Même ce qui est plus important si vous construisez plusieurs différentes bibliothèques vous voulez les construire avec exactement mêmes cadres – avec les dossiers XCConfig que c'est facile à faire, en changeant manuellement les cadres construire de plusieurs projets avec les cibles multiples n'est pas pratique simplement. Cocoaphony has a blog post Abandoning the Build Panel describing the technique. The good part is: there’s less confusion between project-wide and target-specific build settings. Even more importantly, if you build several different libraries you want to build them with the exact same settings – with XCConfig files this is easy to do, manually changing the build settings of several projects with multiple targets simply isn’t practical.

Plus vous peut documenter chaque cadre et vous pouvez utiliser encore le Comité de Cadres Construire pour vos propres besoins en me permettant d'utiliser des changements critiques du système dans les Cadres Construire. Par exemple, si un certain construit des éditions de causes de cadre (eg comme le changement à LLVM GCC) alors je peux changer le cadre et libérer une nouvelle version du projet, ou juste le fait de construire config le dossier séparément. Vous pouvez remplacer alors ce dossier et il devrait fixer le fait de construire (supposant que vous n'avez pas de changement que le cadre exact dans le Comité Construire). Tous vos personnalisés Construisent des Cadres restera intact évidemment. You can then replace that file and it should fix the build (assuming you haven’t change that exact setting in the Build Panel). All of your customized Build Settings will remain untouched of course.

Ceux sont seulement deux améliorations très fondamentales sur un niveau d'ingénierie de système qui ne vous excitera pas probablement trop si vous vous concentrez à rendre des jeux avec des moyens nécessaires. Je garde le bon truc pour une mise à jour future, avec un peu de chance dans 3 à 4 semaines je serai capable de vous donner quelques premiers détails du "trait du tueur". :)

Nate Weiss, l'auteur du Kit de Jeu d'I-Phone commercial, voudrait que vous aidiez à construire la première communauté conduite le jeu RPG pour l'I-Phone. Lisez son annonce.

Il a écrit un document de design de jeu pour vous à mouillé votre appétit et apprenez quels besoins être faits. C'est un projet ambitieux que je crois serait impressionnant pour prendre part à, surtout si vous n'avez pas le temps et l'énergie de construire un projet de jeu complet par vous, mais vous aimez encore prendre part aux activités de développement de jeu fructueuses. De quoi le jeu a besoin le plus doit concevoir des niveaux en utilisant le Rédacteur de Carte Couvert de tuiles populaire et les nouvelles oeuvres d'art pour les tuiles, les caractères et cutscenes. What the game needs most is to design levels using the popular Tiled Map Editor, and new artworks for tiles, characters and cutscenes.

Vous vraiment avez besoin d'avoir une copie du Kit de Jeu d'I-Phone pour participer, mais actuellement c'est en vente avec 30 % de et coûte seulement 69$. Pour cela vous recevez le code source complet et les actifs pour l'action Quexlor RPG et un développement de jeu de 150 pages eBook. Je crois son produit et ebook sont excellents et bien de valeur de l'argent et je dirige actuellement deux annonces pour Nate sur une base volontaire. Vous pouvez apprendre plus des pros et contra du Kit de Jeu d'I-Phone de ces révisions indépendantes : I think his product and ebook are excellent and well worth the money, and I’m currently running two ads for Nate on a voluntary basis. You can learn more about the pros and cons of the iPhone Game Kit from these independent reviews:

Ajoutez votre lien vers le Cocos2D Linkvent le Calendrier

Avez-vous quelque chose pour partager avec la communauté Cocos2D ? Je n'ai pas reçu assez de soumissions pour remplir tous les jours jusqu'au Noël, bien que j'aie vraiment assez de liens pour poster celui chaque jour, je posterais un lien sur votre site Internet ou poste de blog.

Étiqueté avec :    

Levée de la conscience : usage de mémoire & fuites

Le 25 juillet 2010, dans cocos2d, Programmation, Parlant De l'Expérience, par Steffen Itterheim by Steffen Itterheim

En aidant d'autres à résoudre leurs éditions de projet de cocos2d pendant l'année passée il est devenu évident que beaucoup de projets ont au moins un problème important d'une de ces régions :

  • direction de mémoire
  • direction de ressource
  • structure codée

Exemples

Les éditions de direction de mémoire varient normalement d'allouer trop de mémoire, en chargeant trop de textures en haut le devant qui vont seulement être nécessaires plus tard, ou par les fuites de mémoire telles que les scènes pas deallocating en échangeant des scènes. Les problèmes de direction de ressource varient de ne pas ajouter les bonnes ressources à la bonne cible, en ayant pour résultat souvent la grandeur App augmentée parce que les ressources sont ajoutées au paquet, mais n'utilisées jamais par l'App. Cela pourrait vouloir dire aussi de charger des dossiers de ressource identiques sauf qu'ils ont de différents noms de fichier (les copies ?), en finissant la mémoire supplémentaire. Ou pas les lutins fermement faisants les valises dans les Atlas de Texture mais plutôt l'utilisation d'un Atlas de Texture par objet de jeu – pendant que c'est compréhensible d'un point de vue de seperation logique il gaspille vraiment des occasions pour l'optimisation. It could also mean loading identical resource files except that they have different filenames (copies?), using up additional memory. Or not tightly packing sprites into Texture Atlases but instead using one Texture Atlas per game object – while this is understandable from a standpoint of logical seperation it does waste opportunities for optimization.

Finalement, la structure codée ou le manque mènent de cela régulièrement à “tout dans une classe” le design codé qui est le fort probablement un processus évolutionniste, plutôt qu'intentionnel. Il est assez ordinaire de voir des classes avec des milliers de lignes de code, quelquefois même 10 000 lignes passées allant de code dans une classe. D'autres choses utilisent trop de CCLayers sans eux ajoutant un avantage clair, par exemple juste pour grouper tous les noeuds à un ordre de z spécifique ensemble ou les grouper par la fonctionnalité, eg une couche pour les ennemis, un pour les joueurs, un pour le fond, un pour UI, un pour le score, un pour les effets de particule, et cetera – sans n'importe laquelle de ces couches étant utilisées pour à ce quoi ils sont vraiment bons : le fait de modifier des noeuds multiples immédiatement, comme le mouvement, le fait d'escalader, le fait de faire tourner ou la z-recommande eux. Et évidemment il y a la copie & l'enfer de colle, les grands blocs de code reproduit dans les endroits différents seulement pour modifier quelques paramètres au lieu de créer une méthode qui prend les paramètres modifiables comme les arguments. Même les professionnels j'ai travaillé avec reçu si utilisé pour l'action qu'il est devenu difficile juste de surmonter la résistance du fait de laisser vont de vieilles habitudes. Mais ils ont appris. Other things are using too many CCLayers without them adding a clear benefit, for example just to group all nodes at a specific z order together or to group them by functionality, eg one layer for enemies, one for players, one for background, one for UI, one for score, one for particle effects, and so on – without any of these layers being used for what they’re really good at: modifying multiple nodes at once, like moving, scaling, rotating or z-reordering them. And of course there’s the copy & paste hell, large blocks of code reproduced in various places only to modify some parameters instead of creating a method which takes the modifiable parameters as arguments. Even professionals I worked with got so used to doing that it became hard just to overcome the resistance of letting go of old habits. But they learned.

Résumé

Rien de ce design codé et structurant ne me frappe comme bizarre ou surprenant. J'ai écrit le code comme cela moi-même. Je crois aussi si c'est assez bon et les travaux, alors pourquoi bon Dieu non ? C'est une affaire d'expérience et c'est seulement avec l'expérience que vous voyez clairement comment améliorer des choses. Cela se réalise à la courbe d'apprentissage régulière où seulement l'entraînement et les leçons particulières et juste le fait de faire simplement des erreurs et le fait d'apprendre d'eux aident à la longue. C'est comment nous apprenons des choses. I also believe if it’s good enough and works, then why the hell not? It’s a matter of experience and it’s only with experience that you clearly see how to improve things. This boils down to the regular learning curve where only training and tutoring and just simply making mistakes and learning from them helps in the long run. That’s how we learn things.

D'autre part, les choses comme la direction de Ressource et de Mémoire peuvent aussi être apprises mais ils ont une différente nature. Ils peuvent être statistiquement évalués, ils pourraient être calculés et vérifiés automatiquement. Cela me fait me demander s'il n'y a pas quelque automation et outils d'information qui aideraient des promoteurs à accomplir de meilleurs résultats du point de vue de l'usage de mémoire et de la direction de ressource ? Entre-temps c'est tout de la levée de la conscience … This makes me wonder if there isn’t some kind of automation and information tools that would help developers achieve better results in terms of memory usage and resource management? In the meantime it’s all about raising awareness …

Levée de la Conscience de Mémoire

De la manière la plus importante je crois que nous avons besoin de lever plus de conscience à ces éditions aux promoteurs cocos2d. Un pas vers cela serait pour cocos2d pour afficher un “comptoir de mémoire disponible” le long du comptoir de FPS. J'avais l'habitude de rapiécer CCDirector pour simplement afficher la mémoire au lieu de FPS depuis que c'était toujours plus important pour moi. Le type cocos2d le promoteur Joseph m'a envoyé sa version pour afficher tous les deux – je n'ai pas pensé simplement à l'évident. Ainsi si vous voudriez voir FPS et mémoire disponible à côté de l'un l'autre je crois que vous pouvez manipuler les changements dans CCDirector exposé ici : I used to patch CCDirector to simply display memory instead of FPS since that was always more important to me. Fellow cocos2d developer Joseph sent me his version to display both – I simply didn’t think of the obvious. So if you’d like to see FPS and available memory next to each other I think you can handle the changes to CCDirector outlined here:


//CCDirector.h, ajoutent au-dessous de @interface :
+ (double) getAvailableBytes;
+ (double) getAvailableKiloBytes;
+ (double) getAvailableMegaBytes;

//CCDirector.m, ajoutent comme approprié :
#inc lude <sys/sysctl.h>  
#import <mach/mach.h>
#import <mach/mach_host.h>

[...]

+ (double) getAvailableBytes
{
  vm_statistics_data_t vmStats;
  mach_msg_type_number_t infoCount = HOST_VM_INFO_COUNT;
  kern_return_t kernReturn = host_statistics (mach_host_self (), HOST_VM_INFO, (host_info_t) &vmStats, &infoCount);

  si (kernReturn! = KERN_SUCCESS)
  {
    rendez NSNotFound;
  }

  revenez (vm_page_size * vmStats.free_count);
}

+ (double) getAvailableKiloBytes
{
  revenez [CCDirector getAvailableBytes] / 1024.0;
}

+ (double) getAvailableMegaBytes
{
  revenez [CCDirector getAvailableKiloBytes] / 1024.0;
}

[...]

- (vide) showFPS
{
  cadres ++;
  accumDt + = dt;

  si (accumDt> CC_DIRECTOR_FPS_INTERVAL)  {
    frameRate = frames/accumDt;
    cadres = 0;
    accumDt = 0;

    //le seul changement dans showFPS est cette ligne :
    NSString *str = [[NSString alloc] initWithFormat:@" le %.1f  le %.1f", frameRate, [CCDirector getAvailableMegaBytes]];

    [FPSLabel setString:str];
    [libération de str];
  }
}

La levée de la conscience aux Scènes fuyantes

En plus j'hautement, fortement et avec le renforcement extrême (sans retirer un fusil) recommande aux promoteurs cocos2d de fréquemment vérifier les méthodes dealloc de votre scène. Ajoutez de préférence un point d'arrêt là, ou ajoutez au moins la ligne notante : CCLOG (”dealloc : le %”, moi). Si vous voulez une méthode plus visible mais moins indiscrète vous pourriez faire quelque chose comme le solin de l'écran ou le jeu d'un son chaque fois que la dernière scène est deallocated, pour que vous deveniez si utilisés pour cela que quand vous ne le voyez pas ou n'entendez plus il lève immédiatement votre attention. CCLOG(@”dealloc: %@”, self). If you want a more visible but less intrusive method you could do something like flashing the screen or playing a sound whenever the last scene is deallocated, so that you get so used to it that when you’re not seeing or hearing it anymore it immediately raises your attention.

Si n'importe quand pendant le développement de votre projet on n'appelle pas la méthode dealloc pour une scène quand vous changez des scènes, vous divulguez la mémoire. Divulguer la scène entière est une fuite de mémoire de la pire sorte. Vous voulez l'attraper tôt pendant que vous pouvez revenir encore sur vos pas qui pourraient avoir provoqué le problème. Dès que vous arrivez à l'utilisation des centaines d'actifs et des milliers de lignes de code et vous rendez compte ensuite que la scène n'est pas deallocated, vous serez dans pour un trajet amusant essayant de trouver où cela vient de. Dans ce cas, en enlevant des noeuds en les non remarquant jusqu'à ce que vous puissiez vous rapprocher sur le coupable est probablement la meilleure stratégie, à côté de l'utilisation des Instruments (que je n'ai pas trouvé trop utile dans ces cas). You want to catch that early while you can still retrace your steps that might have caused the problem. Once you get to using hundreds of assets and thousands of lines of code and then realize the scene isn’t deallocated, you’ll be in for a fun ride trying to figure out where that’s coming from. In that case, removing nodes by uncommenting them until you can close in on the culprit is probably the best strategy, next to using Instruments (which I haven’t found too helpful in those cases).

J'ai heurté un tel problème une fois parce que je passais l'objet de CCScene aux sous-classes pour qu'ils aient l'accès aux méthodes de la scène. La sous-classe a retenu la scène et a été tirée de CCNode et ajoutée au CCScene comme l'enfant. Le problème avec cela : pendant le nettoyage de la scène il a enlevé correctement tous les noeuds d'enfant mais certains des noeuds d'enfant retenaient encore la scène. À cause de cela on n'a jamais appelé leur méthode dealloc et à tour de rôle la scène n'était jamais deallocated. The problem with that: during cleanup of the scene it correctly removed all child nodes but some of the child nodes still retained the scene. Because of that their dealloc method was never called, and in turn the scene was never deallocated.

Le Jeu de dessin au trait Starterkit finalement disponible pour la vente!

Le 19 juillet 2010, dans les Annonces, le Marketing, par Steffen Itterheim by Steffen Itterheim

Je suis content d'annoncer que le Jeu de Dessin au trait Starterkit est disponible finalement pour la vente! C'est un projet de code source pour quelqu'un intéressé au développement d'un jeu de dessin au trait. Le gameplay est modelé après le jeu de Contrôle de Vol célèbre. Les travaux de Starterkit avec le dernier cocos2d v0.99.4 la version et recevront au moins des mises à niveau de compatibilité pour l'avenir cocos2d les versions. The gameplay is modelled after the famous Flight Control game. The Starterkit works with the latest cocos2d v0.99.4 version and will at the very least receive compatibility upgrades for future cocos2d versions.

Le bond sur à la page de produit pour vérifier la liste de trait, la documentation d'API et un échantillon de code source. Vous pouvez télécharger aussi le Starterkit App pour l'I-Phone d'iTunes. L'Édition iPad est encore dans l'approbation. The iPad Edition is still in approval.

Notez : pour le rappel de juillet de 2010 vous pouvez recevoir le Starterkit à un prix de lancement pour seulement 179$!

Le fait de placer du Starterkit

Je suis désolé que vous deviez attendre un et demi mois comparés à la date de libération initialement planifiée du 1 juin. Je double et triple a vérifié chaque décision que j'ai faite et vous pouvez voir certains des résultats sur la page de produit Starterkit.

J'ai décidé aussi d'augmenter le prix régulier de 199$ initialement projetés à 299$ efficaces du 1 août 2010. Une des raisons étant cela j'ai projeté initialement d'avoir des licences multiples en incluant des Indépendants et Commerciaux. Je pensais longtemps et dur du fait de placer le Starterkit et ai décidé finalement de vendre seulement des Licences de Site. Pour le promoteur individuel il coûte un peu plus mais pour les équipes petites et commerciales ce sont de grandes nouvelles et de petites équipes et des promoteurs établis, consacrés sont qui je vise. Ceux qui apprécient vraiment la valeur de code source commercial sauvant des jours et des semaines de recherche et développement et tout le problème, sueur et douleur associée à cela. Et je dois aider ici si vous avez des questions concernant le code source du Starterkit. I thought long and hard about positioning the Starterkit and eventually decided to sell only Site Licenses. For the individual developer it costs a bit more but for small and commercial teams it’s great news, and small teams and established, dedicated developers is who I am targeting. Those who really appreciate the value of commercial source code saving days and weeks of research and development, and all the trouble, sweat and pain associated with it. And I’m here to help if you have any questions regarding the Starterkit’s source code.

Je n'ai pas de plans de faire un autre Starterkit et dans toute la probabilité cela restera le seul produit cocos2d-lié commercial pour le reste de cette année.

Chapitre de livre des Jeux de Dessin au trait

Pour ceux qui sont déçus du nouveau prix, saisissent le Starterkit avant le 1 août ou attendent jusqu'au décembre l'I-Phone Apprendre et iPad Cocos2D le livre de développement de Jeu que j'écris. Il contiendra un chapitre couvrant certains des aspects fondamentaux d'un jeu de dessin au trait, mais sans les détails plus parfaits et les actions réciproques complexes transmises dans le Starterkit. Ce sera le Chapitre 12 ainsi dans environ 8 semaines (la mi-septembre) je le mentionnerai dans mes postes de chapitre de livre hebdomadaires. It’ll be Chapter 12 so in about 8 weeks (Mid-September) I’ll mention it in my weekly book chapter posts.

La Période Des ventes fermée, le Résumé de

Et voici pour la transparence : exactement il y a 10 jours j'ai informé les 668 abonnés de mon Bulletin de la période des ventes fermée. La page de produit Starterkit protégée contre le mot de passe a reçu juste plus de 200 visiteurs uniques. Pendant les 10 derniers jours j'ai rendu 9 ventes m'élevant à environ 1.530$ avec les honoraires de 5 % de Plimus déjà déduites, mais évidemment avant la taxe. Toutes les ventes ont été faites au cours des 4 premiers jours après que j'ai envoyé le Bulletin et pour les ventes de 6 derniers jours étaient absolument le zéro. Bien que j'aie été en contact avec plusieurs parties intéressées qui n'a pas voulu à ou ne pouvait pas l'acheter simplement immédiatement pour différentes raisons. Si vous êtes un d'entre eux : vous le recevrez pour 179$ peu importe quand vous faites l'achat, contactez-moi juste à l'avance. The password-protected Starterkit product page received just over 200 unique visitors. During the last 10 days I made 9 sales amounting to about $1,530 with Plimus’ 5% fee already deducted but obviously before tax. All sales were made within the first 4 days after I sent the Newsletter and for the last 6 days sales were absolutely zero. Although I’ve been in contact with several interested parties who didn’t want to or simply couldn’t buy it right now for various reasons. If you’re one of them: you’ll get it for $179 no matter when you make the purchase, just contact me beforehand.

Immédiatement je suis curieux à voir comment les ventes consisteront maintenant en ce que le Starterkit est publiquement disponible.

Promotion de Starterkit

J'apprécierais si vous gazouilleriez et le repépiement ce poste et mentionneriez le Starterkit à tout le type cocos2d-sians! Si vous iriez même en écrivant une révision sérieuse et honnête sur votre blog, mettez-vous en contact s'il vous plaît avec moi.

N'évaluez pas juste d'eaux en mentionnant le Starterkit dans le forum de communauté cocos2d.

Lance de position

Je regrette que Ricardo n'ait pas pris du temps pour être prévenant et m'avait parlé ensuite au lieu de partir en courant en faisant un assumptive, excessif et le poste de position (hors de thème) pour la plupart hors de propos qui a servi seulement pour provoquer une grande agitation parmi sa communauté en permettant sa règle de forum “Traitent les gens avec le respect.” pour devenir une farce.

En Conclusion

Dans la sagesse rétrospective je suis heureux que tout cela m'ait reçu pensant dans tant de nouvelles directions. De la manière la plus importante il m'a reçu en contact avec beaucoup de promoteurs qui ne voyagent pas par la poste consciemment sur le forum cocos2d. Pour recevoir ces mots encourageants et réaction positive et le fait de gagner des aperçus intéressants des perspectives d'autre promoteur – surtout ceux qui viennent aussi silencieusement – m'ont aidé vraiment à comprendre la communauté de développement cocos2d mieux. Merci, vous savez qui vous êtes! To get those encouraging words and positive feedback and gaining interesting insights from other developer’s perspectives – especially those who tag along silently – really helped me understand the cocos2d development community better. Thank you, you know who you are!

La hutte entière a servi aussi d'un grand facteur motivant pour verser mon tout dans le livre de cocos2d, qui est venu à juste le bon moment pour faire partir la vapeur de juste la bonne façon. Je l'écris pour être la documentation cocos2d qu'il mérite et celui je regrettais toujours qu'il n'ait pas. Je ne peux même pas commencer à décrire comment la satisfaction de cela se sent pour écrire ce livre. Tellement en fait que cela fait mal d'arrêter d'écrire la chaque fois j'atteins 27 pages que l'on s'attend à ce que chaque chapitre ait. :) I can’t even begin to describe how satisfying it feels to write this book. So much in fact that it hurts to stop writing every time I reach the 27 pages each chapter is expected to have. :)

J'écris un Livre : Apprenez l'I-Phone et iPad Cocos2D le développement de Jeu

Le 1 juillet 2010, dans les Annonces, cocos2d, par Steffen Itterheim by Steffen Itterheim

J'écris un livre pour Apress :

Apprenez l'I-Phone et iPad Cocos2D le développement de Jeu : Le Principal Cadre pour Construire de 2èmes Applications Graphiques et Interactives

Je suppose que quelqu'un a voulu être très précis et consciencieux. :D

Je vais le blog du progrès du livre ici et quand il est publié j'ajouterai le matériel supplémentaire donc les lecteurs peuvent continuer leur voyage ici. Comme ce voyage commence juste – je suggère que le premier chapitre ait intitulé justement "l'Introduction" demain – et l'écriture qu'un livre entier de 400 pages est une entièrement nouvelle expérience à moi, je veux vous faire entrer sur le voyage.

Aidez-moi à vous aider en fournissant la réaction au contenu du livre puisque je l'écris!

Pour les prochaines semaines, j'annoncerai le titre de chapitre de livre actuel et une description courte et vous demanderai ce que vous voudriez voir dans ce chapitre. Je ferai ces postes tous les vendredis en commençant demain jusqu'à ce que le livre soit complet. Dans ce poste vous pourriez commencer en me disant à quoi vous vous attendriez de ce livre ou ce que vous voudriez y voir juste donné son titre ? Je suppose que votre réponse sera "beaucoup" donnée la nature allongée du titre. :p In this post you could start by telling me what you’d expect from this book or what you’d like to see in it just given its title? I guess your answer will be “a lot” given the title’s elongated nature. :p

J'espère que vous me pardonnez si les mises à jour contentes sur ce site Internet ne seront pas comme complet au cours des mois venant, en faveur de l'écriture du livre et du codage des jeux de promotion. Plus je fais cuire en haut quelque chose de spécial sur le côté, mais tous en temps voulu.

Oh, à propos, si vous arrivez à savoir quelle sorte de fruit qui est sur la couverture que je voudrais savoir. Je pourrais demander juste que mon rédacteur mais je veuille voir si nous pouvons le trouver sans l'aide d'Apress. Il ne me ressemble pas vraiment à une noix de coco, qui serais allé donné le sujet. Si vous avez des idées quel le fruit c'est, faites-moi savoir! Cela l'apparence sûre exotique et c'est definetely pas une banane, ni un citron. Ainsi qu'est-ce que c'est? Le premier pour poster la réponse correcte dans un commentaire, ensemble avec un lien vers Wikipedia ou autre site Internet comme la preuve, reçoit une copie du livre gratuitement quand il est sorti (ou 40$ maintenant)! It doesn’t really look like a coconut to me, which would have been fitting given the subject. If you have any ideas what fruit it is, let me know! It sure looks exotic and it’s definetely not a banana nor a lemon. So what is it? The first to post the correct answer in a comment, together with a link to Wikipedia or some other website as proof, gets a copy of the book for free when it’s out (or $40 now)!

Et maintenant pour quelque chose de complètement différent …

Comme une note de côté, les dossiers de projet de Xcode de la Classe de travaux dirigés Xcode sont disponibles maintenant pour le téléchargement ici. J'avais l'habitude de vous demander de rejoindre mon Bulletin mais je ne suis pas trop content du fait de vous accrocher en haut avec mon Bulletin en utilisant le projet comme une carotte se balançant, l'ainsi raccordement du Bulletin sera maintenant une chose complètement volontaire. J'envoie seulement des bulletins pour les mises à jour substantielles et les nouvelles importantes, au plus une ou deux fois par mois, donc c'est la chose vous voulez si vous vous battez déjà avec le débordement de RSS. I only send newsletters for substantial updates and important news, at most once or twice per month, so that’s the thing you want if you are already struggling with RSS overflow.

Starterkit : Dessin au trait

Le 27 mai 2010, dans, par Steffen Itterheim by Steffen Itterheim

Jeu de dessin au trait Starterkit

Recevez le début de tête pour votre jeu de Dessin au trait et sauvez des jours sinon les semaines de votre temps! Vous recevrez le code de gameplay modelé après le jeu de Contrôle de Vol extrêmement populaire. Vous apprendrez comment tirer des lignes, découvrir effleure des objets, ayez des objets suivent un sentier – et beaucoup, beaucoup plus! Écrit par un promoteur de jeu professionnel et un vétéran d'industrie de jeu (moi) le code source est annoté avec beaucoup de commentaires en expliquant mes raisons et écrit avec la lisibilité en tête. You’ll learn how to draw lines, detect touches on objects, have objects follow a path – and much, much more! Written by a professional game developer and game industry veteran (me) the source code is annotated with lots of comments explaining my rationale and written with readability in mind.

Contient les deux I-Phone & versions iPad!

Le Starterkit compile tant à l'I-Phone qu'aux appareils iPad en utilisant natalement le même code. Si la Cible d'iPad est choisie les images de locations seront utilisées. La sélection d'image est faite automatiquement en chargeant ces images dont les noms de fichier ont le suffixe “-ipad”. Les paramètres de jeu peuvent être tordus individuellement par utilisation d'appareil Image selection is done automatically by loading those images whose filenames have the “-ipad” suffix. Game parameters can be tweaked individually per device using 

#if TARGET_IPAD

directives de précompilateur.

Toute l'oeuvre d'art a fourni par Arezou Ipakchi Design.

Ce que d'autres disent :

“Le code est tout à fait clairement écrit et documenté convenablement [...] sans aucun doute un investissement parfait.
De : le Code de cocos2d commercial fait la critique d'Alex Curylo.

“C'était un moment impressionnant où j'ai constaté que la source pour une ligne tire le jeu de ce calibre.
-Franklin Lyons, SpinFall

“Surtout le système de mouvement et du sentier me sauve beaucoup de maux de tête.
- Martin Hoffmann

Fait avec le Starterkit :

Recevez le Contrôle de Lancement sur iTunes


Liste de trait :

  • clairement seperated et GameScene bien structuré codent le design avec un minimum de dépendances
  • facile à ajouter de nouveaux objets et étendre des paramètres d'objet
  • le style de codage assuré pour aider à attraper des erreurs déterminantes le code dès le début
  • touchez s'opposent & tirent un sentier pour cela (s'il suit déjà un sentier ou pas)
  • le dessin de sentier finit quand le sentier est tiré sur l'endroit prévu approprié (eg la piste d'atterrissage pour les avions, en respectant l'angle d'approche)
  • le dessin de sentier finit quand la limite de point arbitraire est excédée (pour éviter des ralentissements)
  • le sentier est tiré quand tiré avec le style de ligne transparent épais comme le Maître de Port, sans pépins
  • le sentier est fendu dans les morceaux de longueur égaux peu importe comment vite l'utilisateur déplace le doigt
  • le frai d'objets à l'extérieur de l'écran, les endroits peuvent être redéfinis et prolongés
  • les objets affichent le marqueur d'avertissement entrant à la frontière d'écran
  • les objets affichent la collision prévenant quand n'importe quels deux d'entre eux arrivent trop près
  • les objets suivent le sentier pour finir – disparaissent en fondu alors et l'augmentation marquent ou continuent à bouger
  • les objets tournent toujours dans la direction de mouvement
  • les objets rebondissent en arrière aux frontières d'écran
  • les Étiquettes motivantes pour les atterrissages réussis, précachés
  • Score et Étiquettes de HighScore
  • HighScore a sauvé au disque entre les séances de jeu
  • les soutiens les deux orientations de Paysage avec l'autochiquenaude
  • les charges corrigent des dossiers de ressource selon la Cible (l'I-Phone ou iPad)
  • la manipulation de Pause convenable pour les appels entrants, le SMS
  • Beaucoup d'Aide de Maths généralement utile fonctionne inclus
  • Beaucoup de commentaires en expliquant des raisons et en donnant des bouts pour l'amélioration
  • Complètement documenté
  • Utilise le Projet de professionnel Xcode de ma Classe de travaux dirigés (la Liste de Trait)
  • inclut tant le Contact d'I-Phone/iPod que les versions iPad en utilisant seperate les Cibles, même codebase
  • compatible avec cocos2d v0.99.5 (ferme) et IOS SDK 4.2
  • l'organisation facile, défaites juste et l'utilisation – inclut Cocos2D pour votre avantage

Questions ? Besoin d'aide?

Allez au forum de soutien pour le Jeu de Dessin au trait Starterkit sur Cocos2D Central.

Notez : le Dessin au trait le forum de soutien de Starterkit est un forum public. Dans le cas où vous avez besoin de poster des sections de code du starterkit je l'apprécierais si vous les avez gardés courts et au point. In case you need to post sections of code from the starterkit I’d appreciate it if you kept them short and to the point.

Démenti juridique

Cocos2D est une marque inscrite de Ricardo Quesada. Steffen Itterheim, le site Internet de Maître & du fait d'Apprendre Cocos2D et le Jeu de Dessin au trait Starterkit ne sont ni affiliés à, ni endossés par Ricardo Quesada.


Essayez Auparavant Achètent!

App de Démonstration pour l'I-Phone
App de Démonstration pour iPad

Parcourez la Documentation d'API

Voyez un Échantillon Codé


Licence de site! Apps Illimité!

Redevance Libre!

Garantie argent de 30 jours!


Protégez des Paiements En ligne et un Traitement de Carte de crédit par Plimus


Maintenant seulement Etats-Unis 119$! (*)

(*) le Prix a entaillé de 33 % en bas des Etats-Unis 179$.



Un lien de téléchargement sera envoyé par le courrier électronique après l'achat qui est valide depuis 48 heures. Contactez-moi si le lien de téléchargement a expiré.


Accord de licence

Copyright

Le Code source offert dans ce Starterkit est possédé et vendu par Steffen Itterheim où les dossiers de code source incluent cette mention de copyright : “Copyright 2009 Steffen Itterheim. Tous droits réservés.”. Le code source protégé par le copyright fourni reste la propriété et le copyright de Steffen Itterheim. L'achat vous accorde la Licence pour utiliser et modifier le code source et les actifs selon les Termes suivants et les Conditions : All rights reserved.”. The provided copyrighted source code remain property and copyright of Steffen Itterheim. Purchase grants you the License to use and modify the source code and assets under the following Terms and Conditions:

On ne vous permet pas de rendre le code source publiquement disponible. Vous n'êtes pas permis de donner ou vendre le code source à d'autres, modifiés ou non. Les licences ne sont pas transférables. Licenses are not transferable.

Toutes les Licences sont la redevance libre. Vous pouvez rendre si beaucoup d'Apps libres ou commerciaux l'utilisation du code source comme vous voulez. Vous pouvez réutiliser n'importe quels actifs existants dans votre App. You may re-use any existing assets in your App.

Si vous contractez vraiment le travail et avez ou voulez donner le code source Starterkit à votre client, votre client a besoin d'acheter une Licence de Site aussi.

Licence de site

Chaque achat vous accorde une Licence de Site. La licence de Site vous accorde l'utilisation du Starterkit sans restrictions sur un site.

Un site est un bureau, une construction ou un espace vital loué ou possédé par la compagnie ou l'individu faisant l'achat. Il permet à quelqu'un travaillant sur le site d'utiliser et modifier le code source Starterkit.

De grandes compagnies opérant sur plusieurs sites ont besoin d'acheter une licence de site pour chaque endroit individuel si le Starterkit doit être utilisé aux endroits multiples. Contactez-moi si vous êtes une telle société et vous préférez une licence de commission fixe avec votre propre texte de licence être d'accord avec elle.

Soutien

Après l'achat, créez s'il vous plaît un compte sur Cocos2D Central et envoyez-moi un message privé de votre compte Central Cocos2D, alors je peux vous donner le plein accès au forum de soutien de Starterkit privé. Notez que j'ai besoin de votre compte de forum pour le faire, donc la voie la plus facile est de m'enregistrer et envoyer un message privé de votre compte.

Les mises à jour au Starterkit sont faites sur un comme la base nécessaire. Je le perfectionnerai aussi et courant avec les dernières libérations fermes de cocos2d. Les mises à jour sont distribuées via un lien de téléchargement envoyé au courrier électronique vous adressent utilisé pour votre ordre. Si votre adresse de courrier électronique change jamais contactez-moi s'il vous plaît, idéalement vous devriez m'envoyer votre confirmation d'ordre dans ce cas pour accélérer le changement. Updates are distributed via a download link sent to the email address you used for your order. If your email address ever changes please contact me, ideally you should forward me your order confirmation in that case to speed up the change.

Remboursement

Si pour n'importe quelle raison vous n'êtes pas satisfaits du Starterkit vous pouvez demander un remboursement par le courrier électronique au cours de 30 jours après votre achat. Attachez s'il vous plaît une copie du courrier électronique de confirmation d'achat. À tour de rôle votre droit d'utiliser et modifier le Code source Starterkit et publier des jeux construits avec cela sera révoqué. In turn your right to use and modify the Starterkit Source Code and publish games built with it will be revoked.

Un remboursement ne peut pas être publié si vous avez déjà publié un jeu sur l'iTunes App le Magasin construit avec ou utilisant n'importe lequel du code source Starterkit ou des actifs.

Le Code source non couvert par cette Licence

Le projet de Code source agréé contient des dossiers qui sont disponibles gratuitement et sont gouvernés par de différentes licences. Les Termes & les Conditions exposées ne s'appliquent pas ici aux dossiers de code source qui ne contiennent pas la Mention de copyright “le Copyright 2009 Steffen Itterheim. Tous droits réservés.” ou qui fait partie de la Collection de Code source Libre. All rights reserved.” or which is part of the Free Source Code Collection.

Refus de responsabilité

CE LOGICIEL EST FOURNI “COMME EST” ET N'IMPORTE QUELLES GARANTIES EXPRIMÉES OU IMPLICITES, EN INCLUANT, MAIS NON LIMITÉ À, LES GARANTIES IMPLICITES DE VALEUR MARCHANDE ET D'APTITUDE POUR UN BUT PARTICULIER SONT DÉSAVOUÉES. NE VONT EN AUCUN CAS LES RÉGENTS OU LES DONATEURS ÊTRE RESPONSABLES POUR N'IMPORTE QUI DES DOMMAGES COLLATÉRAUX OU DIRECTS, INDIRECTS, ACCESSOIRES, SPÉCIAUX, EXEMPLAIRES (EN INCLUANT, MAIS NON LIMITÉ À, L'OBTENTION DE MARCHANDISES DE REMPLAÇANT OU DE SERVICES; LA PERTE D'UTILISATION, DONNÉES, OU PROFITS; OU L'INTERRUPTION D'AFFAIRES) CEPENDANT PROVOQUÉ ET SUR N'IMPORTE QUELLE THÉORIE DE RESPONSABILITÉ, SI DANS LE CONTRAT, LA RESPONSABILITÉ STRICTE, OU LE DÉLIT CIVIL (EN INCLUANT LA NÉGLIGENCE OU AUTREMENT) SURVENANT DE TOUTE FAÇON DE L'UTILISATION DE CE LOGICIEL, MÊME SI CONSEILLÉ DE LA POSSIBILITÉ D'UN TEL DOMMAGE. LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Questions ? Contactez-moi!

Si vous avez des questions ou si vous exigez des textes de Licence spécifiques avant de faire un achat, contactez-moi s'il vous plaît.

La vidéo de Travaux dirigés de 90 minutes de cocos2d Défilant TMX Tilemap!!

Le 10 mai 2010, dans cocos2d, par Steffen Itterheim by Steffen Itterheim

Cela vaut la peine de montrer : paulsondev (qui n'a pas malheureusement De la page sur son blog, l'allusion d'allusion;)) a posté une classe de travaux dirigés de 90 minutes (!) de la création de Tilemap défilant avec TMX et cocos2d pour l'I-Phone! Je ne l'ai pas regardé, mais quelqu'un qui est consacré pour faire une vidéo de développement de 90 minutes mérite l'attention. Et autant que je peux dire que c'est assez frais. Plus il utilise le même fond de bureau que je fais. :) I haven’t watched it but anyone who is dedicated to make a 90 minute development video deserves attention. And as far as i can tell it’s pretty cool. Plus he uses the same desktop background as i do. :)

La page 1 de 212