我在Java方面还有点新意,需要一些我目前正在开展的游戏方面的帮助。我已经实现了游戏的核心,其中球从屏幕顶部掉落,用户控制平台将球弹回到屏幕的右侧。如果玩家成功,则获得一分。我已经实现了弹跳球,平台,得分和各种状态的代码。
我坚持的是控制根据得分而下降的球数。我已经对算法有了一个大概的了解。没有太多细节,它就是这样的:
let cell = tableView.cellForIndexPath(indexPath)
我已经知道有多少球以及根据得分会发生多少随机延迟。有一件事我只是坚持拖延行动。我知道我们可以使用java.util.Timer和TimerTask,但我也听说libgdx也有一些内置的延迟方法。无论如何,任何帮助将不胜感激。
感谢。
答案 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方法并放置您希望它执行的操作。
将上述代码段放在您想要创建新球的位置或执行某些操作。