【发布时间】:2012-06-01 19:53:37
【问题描述】:
这段代码有什么问题?
-(float) getRotatingAngle : (CGPoint)firstPoint secondPoint:(CGPoint)secondPoint
{
float dx = firstPoint.x - secondPoint.x;
float dy = firstPoint.y - secondPoint.y;
float angle = CC_RADIANS_TO_DEGREES(atan2(dy, dx));
return angle;
}
当我尝试这样称呼它时:
float ang = [self getRotatingAngle:projectile.position secondPoint:projectile.position];
我从标题中得到错误。 我正在使用 cocos2d (COCOS2D_VERSION 0x00010001)。
代码位于CCLayerColor 中的ccTouchesEnded 处理程序中。
任何帮助表示赞赏。
编辑:
弹丸是CCSprite
编辑:编译器错误是(如标题)Incompatible types in initialization. TheLayer may not respond to '-getRotatingAngle:secondPoint')
提示:这是我从 cocos2d 项目中复制粘贴的代码,它在其中工作。只是该项目是cocos2d V2。 (?)
【问题讨论】:
-
如果你使用“
CGFloat”而不是float,你的运气会更好吗? -
@Michael,不,还是一样。
-
更好地向我们展示 projectile.position 是如何声明的。另外,在您尝试调用它之前是否声明了 getRotatingAngle:secondPoint?
-
不,就是这样,但我和你同时想通了。谢谢。不知道该接受什么作为答案:S?
-
至少给他们一个赞成票。没有人添加实际的“答案”,只有 cmets!
标签: objective-c xcode4 cocos2d-iphone