我似乎在计算精灵和触摸点之间的角度时遇到问题。每当用户触摸屏幕时,我试图让我的精灵直接面向触摸点的方向。这是我的代码:
-(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 答案的末尾,以避免当触摸位置位于精灵的右下角时出现负角度。
if (calculatedAngle < 0)
{
calculatedAngle+=360;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)