【发布时间】:2012-09-28 01:28:56
【问题描述】:
我打算使用一个可见的计时器,它会从 30 秒倒计时到 0 秒。这个计时器将作为我的游戏应用程序中得分的基础,因为每次触摸移动的精灵(包含一个数字)但与请求的数字不匹配(如窗口/通知中所示),当前剩余时间将被扣除5 秒 (-5)。但是如果包含匹配数字的精灵被触摸,则计时器停止并且游戏重新开始(或移动到下一个级别)。
这是GameView 类中touchEvent 的代码:
@Override
public boolean onTouchEvent(MotionEvent event) {
if (System.currentTimeMillis() - lastClick > 300) {
lastClick = System.currentTimeMillis();
float x = event.getX();
float y = event.getY();
synchronized (getHolder()) {
for (int i = sprites.size() - 1; i >= 0; i--) {
Sprite sprite = sprites.get(i);
if (sprite.wasPopped(x, y)) {
sprites.remove(sprite);
spritePopped.add(new TempSprite(temps, this, x, y, pop));
break;
}
}
}
}
return true;
}
每次触摸移动精灵周围的区域 (sprite.wasPopped) 时,都会将其从屏幕上移除(以及从分配的列表中删除),随后会出现一个图像 (spritePopped) 以指示它被触摸的位置(为了增加效果)。如何为计时器创建一个单独的类并在我的GameView 中使用它?
到目前为止,我遇到过使用刻度来计分,它是根据在某个类中调用了多少 update() 事件来计时的。任何 cmets/建议都会非常有帮助。
【问题讨论】: