2009-04-03 6 views
3

Espérons que cette question n'est pas stupide car je crains que cela ne sonne, mais il peut encore être assez stupide. Je suis nouveau à Objective-C et Cocoa. En fait, je suis complètement nouveau à C en général. J'essaie de mettre en œuvre un jeu iPhone en utilisant Cocos2d-iPhone. C'est un jeu que j'ai fait auparavant dans Flash, alors j'ai pensé que ce serait un bon moyen de s'appuyer sur Objective C, Cocoa et Cocos2d. Une chose avec laquelle j'ai un gros problème, c'est de comprendre pourquoi tout le code Chipmunk est différent de tout ce qui est normal dans Objective-C. Par exemple, il y a des trucs commeQu'est-ce que Chipmunk? (En dehors d'être un moteur de physique)

chipmunkBody->position.x 

que je pensais aurait été

chipmunkBody.position.x ou peut-être [[chipmunkBody position] x] (mauvais exemple peut-être).

Une manière que cela continue à me mordre dans le cul est avec cpVect. cpVect est assez important, mais je n'arrive pas à comprendre comment le transmettre. CGPoint, pas de problème, je peux faire des pointeurs, les passer dans les méthodes et ce qui ne l'est pas, mais à la seconde j'utilise cpVect à la place, c'est "bienvenue à Errorville, population vous".

Alors, c'est la question, qu'est-ce que Chipmunk, donc je peux commencer à en savoir plus sur le fait de travailler avec.

grâce -t

Répondre

2

Je n'ai pas utilisé Chipmunk, mais il est probablement écrit en C/C++. C'est la raison.

EDIT: Eh oui, il est écrit en C.

chipmunkBody est un pointeur vers une struct, et l'opérateur de flèche (->) comment vous accédez aux membres d'une struct par un pointeur vers la struct dans C.

+0

au risque de trop simplifier quelque chose que je suis inquiet pourrait être ridiculement com plex, que devrais-je savoir en mélangeant C et Objective-C? – gargantuan

+1

Je pense que vous devriez publier cela comme une question distincte. Je n'ai pas personnellement mélangé C/C++ et Objective-C avant, et je ne suis donc pas au courant d'embûches. –

+1

Objective-C est un sur-ensemble de C, donc il n'y a vraiment aucun concept de les mélanger. Ils sont pré-mélangés. Sachez juste que le code C est là. –

1

Si vous êtes à la recherche d'un moyen facile à utiliser Chipmunk à travers de façon Objective-C, Theres un joli petit post sur une classe Objective-C appelé SpaceManager ici: http://www.mobile-bros.com/?p=126

Questions connexes