timer.java
来自「一个java的免费游戏引擎,里面有文档,和例子」· Java 代码 · 共 93 行
JAVA
93 行
// 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 + =
减小字号Ctrl + -
显示快捷键?