import java.awt.Canvas;
public class GSM extends Canvas implements Runnable {
//The game state manager
public final long secondNS = 1000000000;
public final long frameNS = secondNS/60;
public boolean running = true;
public long now = System.nanoTime();
public long startTime = now;
public long lastFrame = now;
public long lastSecond = now;
public int frames = 0;
public void run()
{
System.out.println("Program started.");
while(running)
{
now = System.nanoTime();
if(now - lastFrame >= frameNS)
{
lastFrame = now;
frames++;
}
if(now - lastSecond >= secondNS)
{
lastSecond = now;
System.out.println(frames);
frames = 0;
}
}
}
public static void main(String[] args)
{
new GSM();
}
}
刚刚开始制作游戏引擎,但程序立即终止。有人可以指出错误吗?我知道那里缺少一些非常明显的东西,而且我要去面对,我很感激你的帮助。谢谢!
答案 0 :(得分:7)
如果你想运行Runnable
,你必须启动它。
public static void main(String[] args)
{
new Thread(new GSM()).start();
}
请参阅http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html
答案 1 :(得分:1)
GSM实现Runnable,但你实际上并没有为它运行创建一个线程,因此永远不会调用run()方法
答案 2 :(得分:1)
你正在创建一个新的GSM,但你永远不会打电话。我假设您正在尝试启动一个线程,但这需要您使用Runnable和Thread对象。如果这是你想要做的Oracle has a tutorial on it。