【发布时间】:2011-06-30 18:10:29
【问题描述】:
我有一个像精灵一样的长矛。它的旋转由 touchesMoved 方法决定。每当用户滑动手指时,它就会指向该触摸。这是我的方法:
- (void)ccTouchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch* touch = [touches anyObject];
CGPoint location = [touch locationInView: [touch view]];
float angleRadians = atanf((float)location.y / (float)location.x);
float angleDegrees = CC_RADIANS_TO_DEGREES(angleRadians);
spear.rotation = -1 * angleDegrees;
}
这有点用,但只能从 0 到 45 度。它相反。所以当我从手指向下移动到顶部时,它顺时针旋转(它应该跟随手指的方向并逆时针旋转)。从 45 到 90,它工作正常(反向点击移动),但前提是我在屏幕的上对角线开始触摸。
我做错了什么? 谢谢
【问题讨论】:
-
如果不从上对角线开始,45 到 90 会发生什么?你说的上对角线是什么意思?
标签: objective-c ios cocoa-touch cocos2d-iphone