⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gametaskmanager.java

📁 JAVA游戏编程光盘,内有18个实例,非常详细地阐述了JAVA游戏编程的知识.
💻 JAVA
字号:
package com.brackeen.javagamebook.scripting;

import java.util.*;

/**
    Manages a queue of GameTask objects.
*/
public class GameTaskManager {

    private List tasks;


    /**
        Creates a new GameTaskManager with a empty task queue.
    */
    public GameTaskManager() {
        tasks = new ArrayList();
    }


    /**
        Adds a task to the queue that exetued the specified
        runnable after a delay.
    */
    public void addTask(long delay, Runnable runnable) {
        addTask(new GameTask(delay, runnable));
    }


    /**
        Adds a task to the queue.
    */
    public void addTask(GameTask task) {
        tasks.add(task);
    }


    /**
        Clears the task queue.
    */
    public void clear() {
        tasks.clear();
    }


    /**
        Updates this manager, executing any ready tasks.
    */
    public void update(long elapsedTime) {

        List removeList = null;
        int size = tasks.size();

        // note that executing a task can potentially add more
        // tasks onto the queue.
        for (int i=0; i<size; i++) {
            GameTask task = (GameTask)tasks.get(i);
            if (task.check(elapsedTime)) {
                // add object to list of objects to remove later
                if (removeList == null) {
                    removeList = new ArrayList();
                }
                removeList.add(task);
            }
        }

        // clear tasks that executed
        if (removeList != null) {
            tasks.removeAll(removeList);
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -