我有这个想要运行的GUI,当我尝试从类中创建一个Object时,我得到错误无法实例化类型GUI.那是什么意思,我该如何解决?
主类中的代码
public static void main(String[] args){
//Classes
GUI go = new GUI();
//Running Class Methods
//JFrame
//JFrame frame = new JFrame("Yatsy");
go.setVisible(true);
go.setVisible(true);
//go.setLocation((dim.width - width) / 2, (dim.height - height) / 2);
go.setSize(width, height);
System.out.println(width + " " + height);
//draw paint = new draw();
//go.add(paint);
}
Run Code Online (Sandbox Code Playgroud)
GUI类中的代码
public GUI(){
super();
panel = new JPanel();
roll = new JButton("Roll");
nextPlayer = new JButton("Next Player");
bDice1 = new JButton("dice");
quit = new JButton("Quit");
use = new JButton("Use");
roll.addActionListener(
new …Run Code Online (Sandbox Code Playgroud) 在游戏中,计算渲染最后一帧(增量时间)以产生平滑移动,计时器等所花费的时间是很常见的.
这样做的一种方法是声明3个全局变量:
float deltaTime, currentTime, elapsedTime;
Run Code Online (Sandbox Code Playgroud)
然后计算游戏循环开始时的增量时间:
currentTime = getTime();
deltaTime = currentTime - elapsedTime;
elapsedTime = currentTime;
Run Code Online (Sandbox Code Playgroud)
(其中getTime()是一个返回自程序启动以来的时间的函数)
另一种方法是将deltaTime和currentTime声明为局部变量:
float currentTime = glfwGetTime();
float deltaTime = currentTime - elapsedTime;
elapsedTime = currentTime;
Run Code Online (Sandbox Code Playgroud)
如果我的理解是正确的,那么编译器必须在循环结束时释放变量的内存,并且在循环的下一次迭代中,再次重新分配它,导致它比仅仅声明全局变量更低效.
这是正确的还是在后台自动发生的其他一些我不知道的事情?