我似乎在计算我的 sprite 和触摸点之间的角度时遇到了问题。每当用户触摸屏幕时,我都试图让我的 Sprite 直接面对触摸点的方向。这是我的代码:
-(void)ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
CGPoint tapPosition;
for (UITouch *touch in touches){
CGPoint location = [touch locationInView:[touch view]];
tapPosition = [self convertToNodeSpace:[[CCDirector sharedDirector] convertToGL:location]];
}
float angle = CC_RADIANS_TO_DEGREES(ccpAngle(fish.position, tapPosition));
[fish runAction:[CCRotateTo actionWithDuration:0.5 angle:angle]];
}
有什么想法吗?谢谢
最佳答案
将此添加到 Nikhil 的答案末尾,以避免在触摸位置位于 Sprite 右下角时获得负角度。
if (calculatedAngle < 0)
{
calculatedAngle+=360;
}
关于iphone - 旋转 Sprite 面对一个点(cocos2d),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10614876/