小编Qwe*_*500的帖子

无法实例化类型......,这是什么意思?

我有这个想要运行的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)

java user-interface swing instantiation

1
推荐指数
1
解决办法
6432
查看次数

全局或局部变量是否更有效?

在游戏中,计算渲染最后一帧(增量时间)以产生平滑移动,计时器等所花费的时间是很常见的.

这样做的一种方法是声明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()是一个返回自程序启动以来的时间的函数)

另一种方法是将deltaTimecurrentTime声明为局部变量:

float currentTime = glfwGetTime();
float deltaTime = currentTime - elapsedTime;
elapsedTime = currentTime;
Run Code Online (Sandbox Code Playgroud)

如果我的理解是正确的,那么编译器必须在循环结束时释放变量的内存,并且在循环的下一次迭代中,再次重新分配它,导致它比仅仅声明全局变量更低效.

这是正确的还是在后台自动发生的其他一些我不知道的事情?

c++

1
推荐指数
1
解决办法
575
查看次数

标签 统计

c++ ×1

instantiation ×1

java ×1

swing ×1

user-interface ×1