我是一名开发空气曲棍球安卓游戏的学生。我在理解多点触控方面遇到问题。我刚刚了解了 ACTION_DOWN、ACTION_POINTER_DOWN 等。
但问题在于 ACTION_MOVE。我为 2 个玩家创建了 2 个精灵。第一个精灵会在我的第一根手指移动的地方移动,但我的第二个精灵不会在我的第二根手指移动的地方移动。
我的问题是,我想如何确定哪个手指在 ACTION_MOVE 中移动?我曾尝试使用 getPointerId(index),但我不明白如何使用它,因为如果第一根手指离开屏幕,索引会发生变化
switch (action & MotionEvent.ACTION_MASK) {
case MotionEvent.ACTION_DOWN: {
break;
}
case MotionEvent.ACTION_POINTER_DOWN: {
break;
}
case MotionEvent.ACTION_UP: {
break;
}
case MotionEvent.ACTION_POINTER_UP: {
break;
}
case MotionEvent.ACTION_MOVE: {
if((int)event.getPointerId(index) == 0){ //i know this IF statement is wrong, what should i do?
player1.setX((int)event.getX()); //player1 & player2 is a sprite object
player1.setY((int)event.getY());
}
if((int)event.getPointerId(index) == 1){
player1.setX((int)event.getX());
player1.setY((int)event.getY());
}
}
}