我知道如何使用和不使用处理程序制作常规计时器,但是我更喜欢使用处理程序,所以如果你能给出你最好的答案,我会更加欣赏它:)
我想要做的是创建一个在postDelayed处理程序之后启动的计时器,它为用户提供了点击其中一个按钮的时间,否则会丢失。基本上你有1秒钟点击一个按钮,否则你将失去hp(或其他东西)。
下面是一个示例任务:
我必须制作一个颜色应用程序,然后会出现一个带有颜色名称的文本。然后,用户必须按下颜色正确的按钮/图像按钮。现在用户有1秒钟点击其中一个按钮,否则他会输掉..
任何人都知道一个教程,或者我可以用于此目的的例子吗?
答案 0 :(得分: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;
}
}
};
当玩家点击按钮并启动计时器时,您可以在1秒延迟后发布LOSE_GAME_EVENT
消息以执行:
mHandler.sendEmptyMessageDelayed(LOSE_GAME_EVENT, 1000);
如果用户在1秒钟之前未点击按钮,则会执行该事件并且玩家将失去游戏。否则,当单击该按钮时,您可以从处理程序中删除该事件(从而确保它不会被执行),如下所示:
mHandler.removeMessages(LOSE_GAME_EVENT);