Это то, что не относится конкретно к программированию игр, поэтому я и спрашиваю здесь. В принципе, у меня есть этот код:
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;
}
}
Который кто-то еще дал мне, сказав, что это решит мою первоначальную проблему, которая заключалась в том, что если я положу основной указатель, все будет хорошо, и то же самое для вторичного указателя, но любой отпущенный первый палец считается вторичным указателем, но это поднимает еще одну проблему, которую я почему-то не могу понять. Здесь рано, так что это способствует, но все же.
Проблема, с которой я столкнулся с этим кодом, заключалась в том, что если первичный и вторичный указатели оба опущены, и любой из них отпущен, он активирует оба случая, поэтому выводятся как «Первичный вверх», так и «Вторичный вверх», второй освобожден узнает, какой именно, если оба случая сработают до того, как я туда доберусь, то в этот момент это не будет иметь значения. Любая идея, как исправить что-то подобное? Или другой способ сделать мультитач для игры, или что-то в этом роде. Спасибо!
Уолдо