我是Android开发新手,想创建一个简单的游戏来学习android的基础知识。我正在尝试实施TicTacToe游戏。
我在运行时动态生成'X'和'O'图像,并将'X'和'O'放在显示单元格的另一个图像的顶部。
单击“新游戏按钮”我将显示该板,我正在尝试在图像上找到用户触摸事件的x,y坐标。现在,初始的'O'将被随机放置,之后'X'将由用户放置。我看到当用户触摸一次多次调用监听器时。
我不确定为什么。任何人都可以帮忙吗? 我还想在用户按下'X'后立即放置'O',我应该在touchListener中调用placeCircle方法吗?
谢谢, 维诺德!
答案 0 :(得分:0)
我认为正在为ACTION_DOWN和ACTION_UP事件调用侦听器。 要让它只在一个事件中执行,请执行以下操作:
public boolean onTouch(View v, MotionEvent event) {
switch(event.getAction())
{
case MotionEvent.ACTION_DOWN:
// code for event action DOWN
break;
case MotionEvent.ACTION_UP:
// code for event action UP
break;
}
// rest of the code
}
答案 1 :(得分:0)
you must first call setontouchlistner(this);
after that make some thread or according to your requirement you must implement
setontouchlistener(null);
after thread completing you again call setontouchlistener(this); it will work
public boolean onTouch(View v, MotionEvent event) {
switch(event.getAction())
{
case MotionEvent.ACTION_DOWN:
// code for event action DOWN
break;
case MotionEvent.ACTION_UP:
// code for event action UP
break;
}
// rest of the code
}