2014-09-02 37 views
0

我知道如何制定一个普通的定时器有和没有处理程序,但我更喜欢与处理程序,所以如果你可以给你的答案,最好与此,我会更感激它:)有一个扭曲的Android定时器

我想要做的是创建一个计时器,它开始于我的postDelayed处理程序之后,并且它给用户x点时间点击其中一个按钮,否则就会丢失。基本上你有1秒钟点击一个按钮,否则你会失去HP(或某物)。

这里有一个例子任务:

我必须做出一个颜色的应用程序,以及随之而来的文字了一个颜色的名称。然后用户必须按下颜色正确的按钮/图像按钮。现在,用户有1秒钟点击其中一个按钮,否则他输了..

任何人都知道一个教程,或例如我可以用于此目的?

回答

0

例如,请考虑以下Handler定义:

private static final int LOSE_GAME_EVENT = 1; 

private final Handler mHandler = new Handler() { 
    @Override 
    public void handleMessage(Message msg) { 
     switch(msg.what) { 
      case LOSE_GAME_EVENT: 
       // Then the player has lost the game. 
       break; 
     } 
    } 
}; 

当玩家点击按钮,启动定时器,你可以发布LOSE_GAME_EVENT消息像这样的1秒的延迟后执行:

mHandler.sendEmptyMessageDelayed(LOSE_GAME_EVENT, 1000); 

如果用户在1秒钟之前没有点击按钮,则该事件将被执行并且玩家将失去游戏。否则,当按钮被点击,你可以从处理移除事件(从而保证它不会被执行)是这样的:

mHandler.removeMessages(LOSE_GAME_EVENT); 
+0

谢谢:)短期和优雅,我是多么喜欢它^ .- – 3rdaccountQQ 2014-09-02 23:55:58