Android surfaceview - 只要按下左侧或右侧的屏幕按钮,就可以移动Starship

时间:2012-05-09 23:01:33

标签: android touch surfaceview move

我正在尝试使用基本的surfaceview单线程引擎在android中制作Galaga类型的游戏。我的问题很简单,在Gameview类中,我已经定义了onTouch方法,该方法读取画布上发生的任何触摸事件。如果触摸了放置左按钮的位置(或右按钮),只要按下按钮,星舰就会向左/向右移动。

但是当触摸按钮区域时,我的船只的更新方法只被调用一次,它只向左或向右移动一次,并且必须再次触摸按钮才能进一步移动。只要触摸按钮区域,有没有办法使船只能连续左/右移动?

提前致谢。

1 个答案:

答案 0 :(得分:1)

请勿将移动逻辑与onTouch逻辑混合使用。在onTouch中你可以设置一个标记'触摸',然后在常规游戏更新循环中你可以移动船只,如果触摸是真的。然后在onTouchReleased中取消设置'被触摸'标志。