これは特にゲームプログラミングのものではないので、私はここで尋ねています。基本的に、私はこのコードを持っている:マルチタッチゲームのコントロールandroid
for (int i = 0; i < event.getPointerCount(); i++) {
switch (event.getAction() & MotionEvent.ACTION_MASK) {
case MotionEvent.ACTION_DOWN:
case MotionEvent.ACTION_POINTER_DOWN:
if(event.getPointerId(i) == 0)
{
Log.d("Game", "Primary Down");
}
else if(event.getPointerId(i) == 1)
{
Log.d("Game", "Secondary Down");
}
break;
case MotionEvent.ACTION_UP:
case MotionEvent.ACTION_POINTER_UP:
if(event.getPointerId(i) == 0)
{
Log.d("Game", "Primary Up");
}
else if(event.getPointerId(i) == 1)
{
Log.d("Game", "Secondary Up");
}
break;
}
}
他の誰かが、それは私が主ポインタを置くならば、それは罰金、および二次ポインタで同じだろうということでした私のオリジナル問題を修正することを言ってくれたが、何でもどの解放された最初の指は2次ポインタと見なされますが、別の問題が発生します。これは何らかの理由で把握できないようです。ここでは初期のものなので、貢献していますが、それでも。
私がこのコードで遭遇した問題は、プライマリおよびセカンダリポインタが両方ともダウンし、いずれかがリリースされた場合、両方のケースをアクティブにするので、「プライマリアップ」と「セカンダリアップ」の両方が出力され、私がそこに着く前に両方のケースが消えてしまえば、その時点でそれは問題ではないでしょう。どのようにこのような何かを修正するための任意のアイデア?ゲームのためにマルチタッチをする別の方法、またはそのようなことについては何か。ありがとう!
WWaldo私の知る限りでは
あなたは私がforループを取り出して、if文であなたの答えにあるpointerId変数をチェックしていると言っていますか? – WWaldo
イムを推測しています。今は完璧に動作しているので、ありがとうございます! – WWaldo