(我知道还有其他像这样,但请耐心等待,因为我有一个特殊的问题)
所以我正在开发一款名为Dodge的游戏,其中用户将来自屏幕顶部的ImageViews
轻拂到底部。我的目标是当用户的手指进入ImageView
时,运行endGame()
。当你举起手指时,我已经把它设置好了。
这里的问题是你在ACTION_DOWN
上使用TextView
事件开始游戏,当你举起手指时,你就输了。这个问题是我无法弄清楚如何在已经从手指拖动中运行的那个内部运行另一个onTouch
。
我的TextView
onClick()
title3.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
int eventAction = event.getAction();
switch (eventAction) {
case MotionEvent.ACTION_DOWN:
//On button down
startGame();
break;
case MotionEvent.ACTION_UP:
// finger leaves the button
endGame();
break;
}
return false;
}
});
答案 0 :(得分:1)
将MotionEvent.ACTION_MOVE
与event.getX()
和event.getY()
结合使用,看看x,y坐标是否属于下降图片边界之一。
答案 1 :(得分:0)
onTouch称为连续,通常足够了 你必须使用getX和getY函数来指示手指的位置并做一些事情 当手指离开视图时使用MotionEvent.ACTION_CANCEL
偷偷摸摸你
答案 2 :(得分:0)
Action_Down - 用于触摸屏幕的第一个指针(手指)。这会启动手势。
Action_Pointer_Down - 用于进入屏幕之外的额外指针(秒指)。
Action_Move - 在按下手势期间发生了更改
Action_Pointer_Up - 非主指针上升时发送。
Action_Up - 在最后一个指针离开屏幕时发送
现在您可以根据上述操作进行编码。