2011-12-16 4 views
12

J'utilise Xcode 4.2 et je construis un jeu pour iPhone (iOS 3.0 - 5.0). Est-ce que cocos2d prend en charge ARC? Quelles modifications doivent être apportées pour convertir le code écrit dans les versions précédentes?Est-ce que cocos2d prend en charge ARC?

Si j'utilise les mots clés forts et faibles pour les variables et que le compilateur est défini sur LLVM GCC 4.2, quels seront les résultats? Est-il nécessaire de changer le compilateur à 3.0 pour supporter ARC?

Répondre

10

Cocos2d v1.1 et v2.0 sont compatibles avec ARC. Cependant, le code cocos2d lui-même n'utilise pas ARC et il n'y a aucun modèle fourni par cocos2d que vous pouvez utiliser pour commencer à programmer avec ARC. Vous devez vous-même ajouter une cible de bibliothèque statique séparée pour les fichiers cocos2d. Comme Ankit l'a fait remarquer, Tiny Tim Games a apporté les modifications nécessaires à une version fourchue de cocos2d-iphone to make it ARC compatible. Ces modifications ont été intégrées dans la version de développement et devraient être disponibles dans la branche cocos2d v2.x. J'ai depuis écrit un tutorial to enable ARC in a cocos2d (2.0) project.

Il a été dit que cocos2d lui-même sera converti pour utiliser ARC de manière interne dans v2.1 ou v2.2.

Il est important de noter qu'il n'est pas prévu de supporter officiellement ARC dans la branche cocos2d v1.x car la ligne v1.x est censée rester rétrocompatible avec les périphériques de première génération et iOS 3.x. Mais la compatibilité ARC générale a été ajoutée à la version 1.1.


Kobold2D fully supports ARC and has it enabled in all 15 template projects pour almost two months now. Kobold2D utilise les dernières versions stables de cocos2d-iphone 1.x et 2.x. Il suffit de démarrer un nouveau projet Kobold2D et vous êtes prêt à travailler avec cocos2d et ARC.

+0

@ LearnCocos2D Pourquoi ne pas intégrer certains des Kobold2d caractéristiques (par exemple script avec lua) avec Cocos2d? De cette façon, vous n'aurez pas à diviser la base de développeurs dans Cocos2d vs Kobold2d et nous aurons des produits de meilleure qualité, car plus de développeurs contribueront au même projet et livreront des produits de meilleure qualité en moins de temps (sans avoir à rejeter les livres que nous avons achetés - par exemple apprendre Cocos2d pour le développement de jeux iPhone et iPad) – mm24

+1

Hmmm la réponse courte est la différence générale de direction. Lua vs. Javascript. Convivialité vs performance. Solution tout-en-un vs vouloir rester «pur». Qu'est-ce qui est important pour les utilisateurs par rapport à ce qui est important pour Zynga? Obtenir des mises à jour de code publiées en temps opportun, en attendant plusieurs semaines pour qu'une demande d'extraction soit acceptée et attendre encore plusieurs semaines pour la prochaine version officielle. – LearnCocos2D

2

Même si Cocos2d ne prend pas en charge l'arc mais que vous pouvez les utiliser tous les deux ensemble, c'est par référencement croisé. Vous pouvez apprendre à le faire en faisant référence à ce .. cocos2d and ARC

Questions connexes