我正在尝试计算与屏幕中间相关的点击角度。但也许我对如何使atanf
工作感到困惑。
CGPoint pt = [self convertTouchToNodeSpace:[touches anyObject]];
float adj = pt.x - 512;
float opposite = pt.y - 384;
float combined = opposite / adj;
float tan = atanf(combined);
但是当我尝试使用NSLog Tan时,我只得到了一些巨大的数字,如0.1253649
想法?
答案 0 :(得分:2)
将矢量转换为角度的正确方法是通过atan2
函数:
float angle = atan2f (pt.y - 384, pt.x - 512) * 180 / PI;
PS:您使用的是cocos2d
引擎吗?它具有ccpToAngle(...)
功能。