cocos2d移动物体

时间:2009-07-16 18:15:12

标签: iphone objective-c cocos2d-iphone

我试图像在游戏几何战中一样在屏幕上移动一个物体。我可以很好地旋转对象,但是我似乎无法根据它面向的方向移动它。我在这里有这个代码,我认为这样做是正确的,但我不断收到语法错误:

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

错误是“请求成员x而不是结构或联合”。你如何用Objective-c / cocos2d语法做到这一点?

1 个答案:

答案 0 :(得分:1)

查看documentationsprite class,您需要执行以下操作:

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

编辑(以回应评论):

我看到你正在为iPhone编程,这意味着你需要使用 iphone cocos2d库,不是我之前链接的那个

语法将与示例代码不同,因为iPhone版本使用Objective-C langugage,而原始cocos2d使用Python。

Google代码在cocos2d的iPhone版本上有很好的文档,包括sample code

根据该示例代码,您必须执行以下操作:

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