最近我一直致力于为 iPhone 创建吃豆人。是的,我知道它在 App Store 上,但它是 5 美元,而且我自己制作它玩得更开心。一切都很好,除了操纵杆。它不擅长处理急转弯,而且我经常将自己加倍回到鬼魂中。显然,这令人难以置信的沮丧。我想知道是否有人遇到过任何类似的问题以及他们做了什么来解决它?目前我的操纵杆代码如下所示:
-(BOOL) checkTouchesBegan: (CGPoint*) location
{
int converty = location->y-160;
int convertx = location->x-240;
float ydif = (1.0)*(converty - y);
float xdif = (1.0)*(convertx - x);
float degrees = atan2f(xdif, ydif) * 57;
float squared = xdif*xdif + ydif*ydif;
if(degrees >= 45 && degrees < 135 && sqrt(squared) < 120)
{
direction = 1;
return YES;
}
else if(degrees < -45 && degrees >= -135 && sqrt(squared) < 120)
{
direction = -1;
return YES;
}
else if(degrees >= -45 && degrees < 45 && sqrt(squared) < 120)
{
direction = 2;
return YES;
}
else if(sqrt(squared) < 120)
{
direction = -2;
return YES;
}
return NO;
}
基本上我会检查触摸的位置并据此更改字符方向。
谢谢您的帮助!