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

📄 timer.java

📁 一个java的免费游戏引擎,里面有文档,和例子
💻 JAVA
字号:
// Decompiled by Jad v1.5.7g. Copyright 2000 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/SiliconValley/Bridge/8617/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi 
/**
 * Class to manage timing in GTGE Frame Work to create game independent of frame rate. Timer is usually used to create sprite behaviour, such as used in sprite animation. 

 Example how to use timer in conjunction with sprite in order to make the sprite do an action every 1 second : 

 public class DummySprite extends Sprite {

 // 1000 ms = 1 sec
 Timer timer = new Timer(1000);

 public void update(long elapsedTime) {
 if (timer.action(elapsedTime)) {
 // do an action!! this always called every 1 second
 }
 }

 }

 }
 */
package com.golden.gamedev.object;

import java.io.Serializable;

public class Timer implements Serializable {

	private boolean isActive;

	private long delay;

	private long tick;

	/**
	 * Creates new Timer with specified delay time in milliseconds.
	 * 
	 * @param delay
	 */
	public Timer(int delay) {
		isActive = true;
		this.delay = delay;
	}

	public boolean action(long elapsedTime) {
		if (isActive) {
			tick += elapsedTime;
			if (tick >= delay) {
				tick -= delay;
				return true;
			}
		}
		return false;
	}

	public void refresh() {
		tick = 0L;
	}

	public void setEquals(Timer timer) {
		isActive = timer.isActive;
		delay = timer.delay;
		tick = timer.tick;
	}

	public boolean isActive() {
		return isActive;
	}

	public void setActive(boolean flag) {
		isActive = flag;
		refresh();
	}

	public long getDelay() {
		return delay;
	}

	public void setDelay(long delay) {
		this.delay = delay;
		refresh();
	}

	public long getCurrentTick() {
		return tick;
	}

	public void setCurrentTick(long tick) {
		this.tick = tick;
	}
}

⌨️ 快捷键说明

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