最近は、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;
}
基本的にタッチの位置を確認してキャラの向きを変えていきます。
助けてくれてありがとう!