gpt4 book ai didi

android - 如何在 ACTION_MOVE 过程中用另一根手指检测 TOUCH 事件

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:00:00 24 4
gpt4 key购买 nike

我正在开发一款游戏,我需要能够检测到一根手指正在执行 MOVE,而另一根手指可能会触摸屏幕的另一部分。

使用下面的代码我可以检测到 ACTION_MOVE(在屏幕的特定区域)和 ACTION_DOWN

public boolean onTouch(View v, MotionEvent event) {
final int dest_x = (int) event.getX();
final int dest_y = (int) event.getY();

onTrackPad = dbSettings.TRACK_PAD.contains(dest_x, dest_y);

switch (event.getAction()) {
case MotionEvent.ACTION_MOVE:
if (onTrackPad)
{
//move character
}
break;
case MotionEvent.ACTION_DOWN:
// Fire bullets
break;
}
//The event was consumed
return true;
}

问题是我不能同时移动和开火(我需要停止移动才能开火,反之亦然)

我知道 Android can handle multi-touch events但还没有弄清楚如何使用它来同时处理这些事件,以便玩家可以同时移动和开火

我也尝试过使用 getActionMasked 但没有任何运气

最佳答案

读完这个问题Android MotionEvent.getActionIndex() and MultiTouch

我是这样解决问题的

public boolean onTouch(View v, MotionEvent event) {
int dest_x ;
int dest_y ;

p = event.getActionIndex() ;

dest_x = (int) event.getX(p);
dest_y = (int) event.getY(p);

onTrackPad = dbSettings.TRACK_PAD.contains(dest_x, dest_y);

action = event.getActionMasked() ;

switch (action) {
case MotionEvent.ACTION_MOVE:
if (onTrackPad)
{
//move character
}
break;
case MotionEvent.ACTION_DOWN:
// Fire bullets
break;
}
//The event was consumed
return true;
}

关于android - 如何在 ACTION_MOVE 过程中用另一根手指检测 TOUCH 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30307991/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com