Libgdx游戏:基于分数计数的延迟动作

时间:2016-01-03 23:45:31

标签: java android libgdx delay

我在Java方面还有点新意,需要一些我目前正在开展的游戏方面的帮助。我已经实现了游戏的核心,其中球从屏幕顶部掉落,用户控制平台将球弹回到屏幕的右侧。如果玩家成功,则获得一分。我已经实现了弹跳球,平台,得分和各种状态的代码。

我坚持的是控制根据得分而下降的球数。我已经对算法有了一个大概的了解。没有太多细节,它就是这样的:

let cell = tableView.cellForIndexPath(indexPath)

我已经知道有多少球以及根据得分会发生多少随机延迟。有一件事我只是坚持拖延行动。我知道我们可以使用java.util.Timer和TimerTask,但我也听说libgdx也有一些内置的延迟方法。无论如何,任何帮助将不胜感激。
感谢。

2 个答案:

答案 0 :(得分:0)

您可以创建一个新线程,在其中放置一个标志,然后睡眠新创建的线程,在睡眠完成后 - 将您的标志设置为true。

所以如果你要睡觉主线,你的游戏就不会冻结。

答案 1 :(得分:0)

您可以使用libgx 计时器类来提供在一定延迟后发生的操作。

这是一个例子 -

Timer.schedule(new Task() {
    @Override
    public void run() {
        //create new balls here or do whatever you want to do.
    }
}, DELAY_TIME_IN_SECONDS);

这里发生的是你正在调用名为schedule的Timer类的静态方法,它在Task中以float和delaySeconds为参数。

现在作为参数创建一个新的匿名内部类对象,因为Task是一个抽象类。在匿名内部类对象中,您可以覆盖run方法并放置您希望它执行的操作。

将上述代码段放在您想要创建新球的位置或执行某些操作。