cocos2d движущиеся объекты - PullRequest
1 голос
/ 16 июля 2009

Я пытаюсь переместить объект по экрану, как в геометрических войнах. Я могу вращать объект очень хорошо, однако я не могу заставить его двигаться в зависимости от направления, в котором он находится. У меня есть этот код здесь, который я считаю правильным для этого, но я продолжаю получать синтаксические ошибки:

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

Ошибки: «запрос на член x не в структуре или объединении». Как это сделать в синтаксисе Objective-c / cocos2d?

1 Ответ

1 голос
/ 16 июля 2009

Глядя на документацию для класса спрайтов , вам необходимо сделать следующее:

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

edit (в ответ на комментарий):

Я вижу, что вы программируете для iPhone, что означает, что вам нужно использовать библиотеку iphone cocos2d, а не ту, с которой я связывался до .

Синтаксис будет другим, как и пример кода, так как версия для iPhone использует язык Objective-C, тогда как оригинальный cocos2d использует Python.

Код Google содержит хорошую документацию по версии cocos2d для iPhone, включая пример кода .

На основе этого примера кода вам нужно будет сделать следующее:

float newX = spriteObject.position.x + speed * cos(angle);
float newY = spriteObject.position.y + speed * sin(angle);
spriteObject.position =  ccp( newX, newY );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...