Jac*_*lan 1 java schedule task
关于让代码在给定的时间间隔内自动运行,我有几个问题.我正在编程一种游戏模式,它检查玩家是否杀死了地图中的所有怪物(我有这些方法).我想知道编程这个检查的最佳方法是什么?我已经查找了一个人在类构造函数中创建ScheduledExecutorService的方法....
private ScheduledExecutorService executor = Executors.newSingleThreadScheduledExecutor();
Run Code Online (Sandbox Code Playgroud)
但我在网上看到人们使用的地方
static void main(String[] args) {
Run Code Online (Sandbox Code Playgroud)
并且运行方法来进行检查.哪个更好?我只是希望每隔几秒左右运行一次检查,看看玩家是否已清除地图,如果他或她有,则进入下一阶段.
Swe*_*per 11
我想你每次玩家杀死一个怪物都可以检查这个.也许你想听一个KillMonster事件.您可以创建接口并在其他类中实现它.
public interface KillMonsterEventListener {
void onKillMonster ();
}
Run Code Online (Sandbox Code Playgroud)
然后在播放器类中,您可以调用一个方法来调用onKillMonster()所有事件侦听器.我想你知道怎么做.只需创建一个KillMonsterEventListeners 列表,并有一个方法,如:
public void addKillMonsterEventListener (KillMonsterEventListener listener) {
listeners.add (listener); //listeners is the list of KillMonsterEventListeners.
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1195 次 |
| 最近记录: |