Android关键下来

时间:2011-11-21 15:54:41

标签: android onkeydown

我正在开发适用于Android的迷你游戏。当我单击并按住我单击的按钮时,我希望每隔一段时间触发一次事件。

public boolean onKeyDown(int keyCode, KeyEvent msg) {
    if (keyCode == KeyEvent.KEYCODE_DPAD_LEFT) {
        moveLeft();
        return (true);
    }

    if (keyCode == KeyEvent.KEYCODE_DPAD_RIGHT) {
        moveRight();
        return (true);
    }
}

如果我使用模拟器和键盘上的箭头,此代码可以正常工作。 我还在布局上放下了2个按钮,现在希望在按一定时间间隔触摸按钮时,对象可以向左或向右移动。 我怎么能这样做?

1 个答案:

答案 0 :(得分:2)

什么按钮? Android手机上没有左右按钮。

但无论如何最好的方法取决于你的游戏是如何构建的,我猜你可能应该使用postDelay或者一个帖子。

也许你可以尝试设置一个布尔值,当键关闭时设置为true,当设置为up时设置为false,然后当键关闭时运行postDelay

new Handler().postDelayed(new Runnable(){
        public void run(){
          if (movingLeft) //your boolean
              moveLeft();
        }
    },1000); //time interval in milliseconds

不要忘记杀死它,你不希望成千上万的处理程序运行.. 虽然我对编程游戏没有任何经验。 希望它有所帮助。