我试着在屏幕上移动一个物体,就像在游戏几何学战争中一样。我可以很好地旋转物体,但是我似乎不能让它根据它面对的方向移动。我在这里有这样的代码,我认为这是正确的,但我不断地得到语法错误:
spriteObject.x = spriteObject.x + speed*cos(Angle)
spriteObject.y = spriteObject.y + speed*sin(Angle)错误是‘请求成员x而不是在struct或union.’‘。如何在Objective/cocos2d语法中做到这一点?
发布于 2009-07-16 18:36:10
查看用于文档的雪碧类,您需要执行以下操作:
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版本使用目标C语言,而原始cocos2d使用Python。
谷歌代码对iPhone版本的cocos2d (包括样本代码 )有很好的文档。
根据该示例代码,您必须执行以下操作:
float newX = spriteObject.position.x + speed * cos(angle);
float newY = spriteObject.position.y + speed * sin(angle);
spriteObject.position = ccp( newX, newY );https://stackoverflow.com/questions/1139332
复制相似问题