gpt4 book ai didi

java - Libgdx游戏: Delay Action Based on Score Count

转载 作者:太空宇宙 更新时间:2023-11-04 13:04:54 25 4
gpt4 key购买 nike

我对 Java 还很陌生,需要一些关于我目前正在开发的游戏的帮助。我已经实现了游戏的核心,其中球从屏幕顶部掉落,用户控制平台将球弹到屏幕右侧。如果玩家成功,则奖励一分。我已经实现了弹跳球、平台、得分和各种状态的代码。

我坚持的事情是根据得分控制掉落的球的数量。我已经对该算法有了一个粗略的了解。无需赘述太多细节,它是这样的:

public class BallContainer{

public ArrayList<Ball> balls;

public BallContainer(ArrayList<Ball> balls){
this.balls = balls;
}

public void drop(int howMany){
//code to activate the gravity of "howMany" random balls with a .5 second delay between them

}

public class MainGame{

public void update(float dt){
//check score and drop a selection of balls with random seconds of delay between each group of balls dropped at a time
}
}

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

最佳答案

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

这是一个例子 -

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 类的静态方法,该方法将 Taskfloat 中的delaySeconds 作为参数。

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

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

关于java - Libgdx游戏: Delay Action Based on Score Count,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34582959/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com