Java 游戏中的计时器
我正在尝试编写一个2D java游戏。像往常一样,我有Java 游戏中的计时器,java,timer,Java,Timer,我正在尝试编写一个2D java游戏。像往常一样,我有init(),render(),update()方法。我想弄清楚的是,我想把计时器连接到对象上。例如,通电会在地图中随机生成,但它应该存在5秒。或者当用户点击“播放”按钮时,我想让他等待3秒钟,同时做背景工作(加载资源、创建场景等)。我的意思是我想让时间计数器在后台工作,同时我在游戏中正常工作。我如何实现这一点?任何帮助,即使是简单的想法都将不胜感激 编辑:我正在使用slick2D库和图形类来绘制屏幕。有几种方法可以“暂停”执行。这是两个:
init()
,render()
,update()
方法。我想弄清楚的是,我想把计时器连接到对象上。例如,通电会在地图中随机生成,但它应该存在5秒。或者当用户点击“播放”按钮时,我想让他等待3秒钟,同时做背景工作(加载资源、创建场景等)。我的意思是我想让时间计数器在后台工作,同时我在游戏中正常工作。我如何实现这一点?任何帮助,即使是简单的想法都将不胜感激
编辑:我正在使用slick2D库和图形类来绘制屏幕。有几种方法可以“暂停”执行。这是两个:
- 您可以从
类中使用Robot
delay(毫秒)
- 或者静态方法
Thread.sleep(毫秒)
public class Timer implements Runnable {
private long startTime, runTime;
public Timer(long runTime){//set runtime
this.runTime = runTime;
}
public void run(){
startTime = System.currentTimeMillis();//gets system's current time in milliseconds
while(System.currentTimeMillis() - startTime < runTime ){//loops until the current time - the start time is less then the specified run time.
//Runs this
}
}
}
公共类计时器实现可运行{
私有长启动时间,运行时;
公共计时器(长运行时){//设置运行时
this.runTime=运行时;
}
公开募捐{
startTime=System.currentTimeMillis();//获取系统的当前时间(毫秒)
而(System.currentTimeMillis()-startTime
要获得更好的答案,请提供更多信息。例如,您使用的GUI库是什么?您正在使用游戏引擎库吗?你是如何实现游戏循环的?问题是我不想暂停执行,我需要对游戏中出现的一些对象保持时间跟踪。这就是为什么当我使用时间计数器时游戏必须继续