2009-07-16 7 views
1

En essayant de déplacer un objet autour de l'écran comme dans les guerres de géométrie du jeu. Je peux faire tourner l'objet très bien, mais je n'arrive pas à le faire bouger en fonction de la direction à laquelle il fait face. J'ai ce code ici que je pense est juste pour le faire, mais je continue à avoir des erreurs de syntaxe:objets en mouvement cocos2d

spriteObject.x = spriteObject.x + speed*cos(Angle) 
spriteObject.y = spriteObject.y + speed*sin(Angle) 

Les erreurs sont « demande de membres x non struct ou union ». Comment faites-vous cela dans la syntaxe Objective-c/cocos2d?

Répondre

1

regardant le documentation pour le sprite class, vous devez faire ce qui suit:

float angle = spriteObject.rotation 
spriteObject.position.x = spriteObject.position.x + speed*cos(angle) 
spriteObject.position.y = spriteObject.position.y + speed*sin(angle) 

modifier (en réponse à des commentaires):

Je vois que vous programmez pour l'iPhone , ce qui signifie que vous devez utiliser la bibliothèque iphone cocos2d, et pas celui auquel je suis lié avant.

La syntaxe sera différente, tout comme l'exemple de code, puisque la version de l'iPhone utilise le langagage Objective-C, alors que le cocos2d original utilise Python.

Google code a une bonne documentation sur la version iPhone de cocos2d, y compris sample code.

Sur la base de ce code d'échantillon, vous devrez effectuer les opérations suivantes:

float newX = spriteObject.position.x + speed * cos(angle); 
float newY = spriteObject.position.y + speed * sin(angle); 
spriteObject.position = ccp(newX, newY); 
+0

à l'aide qui me donne les mêmes erreurs ... spriteObject.position.x = spriteObject.x + vitesse * cos (angle) spriteObject.position.y = spriteObject.y + vitesse * sin (Angle) –