我正在为Android制作一个简单的侧滚动应用程序,用户必须避开障碍物,目前用户点击屏幕跳转,这是由onTouchEvent()
方法拾取的,问题是,如果用户反复点击屏幕,则角色会上下跳跃,然后重复这个用户点击的次数,我不会做的是让应用程序只接受第一个用户点击。有什么建议吗?
答案 0 :(得分:2)
当您阅读水龙头时,设置一个标志,显示水龙头响应(跳跃)正在进行中。当标志条件为真时,接受点击事件并丢弃它们。当你准备好进行另一次跳跃时,清除标志。最简单的方法可能是存储系统时钟时间,只知道跳转的持续时间。但是你也可以使用其他一些标准,例如到达跳跃动画的结尾。
答案 1 :(得分:0)
只需创建一个处理标志,直到触发完整事件,然后再次允许输入。
即
bool beingHandled = false;
onTouch(){
if (beingHandled)
return;
beingHandled = true;
//code .... ///
beingHandled = false;
}
答案 2 :(得分:0)
在onTouchEvent()方法中维护一个静态变量,用于跟踪最后一次按下,如果已经过了足够的时间,则只调用一个characterJump()函数。您甚至可以使用几个变量...自上次characterJump()调用以来的时间以及自上次触摸事件以来的时间,以便在几次按下后允许跳转