gpt4 book ai didi

java - 它要我创建一个方法是什么?

转载 作者:行者123 更新时间:2023-12-01 13:43:54 24 4
gpt4 key购买 nike

我正在尝试为我正在开发的游戏创建菜单,但是当我尝试使用 GetBufferStrategy 时,Eclipse 会告诉我创建一个方法。我要的不是方法。我希望它获得缓冲策略。我对java有点陌生,所以请解释为什么我的代码是错误的,这样我就不会再重复了。

package homeScreen;
import java.awt.Graphics;
import java.awt.Toolkit;
import java.awt.image.BufferStrategy;
import java.awt.image.BufferedImage;
import java.io.IOException;

import javax.swing.JFrame;

public class homeScreen {

static Toolkit tk = Toolkit.getDefaultToolkit();
public static final int WIDTH = (int) tk.getScreenSize().getWidth();
public static final int HEIGHT = (int) tk.getScreenSize().getHeight();

BufferedImageLoader imageLoader = new BufferedImageLoader();

private static homeScreen home = new homeScreen();

private BufferedImage backgroundImage = null;
private BufferedImage Buttons = null;

public static void main(String args[]){
JFrame frame = new JFrame("Game");
frame.pack();
frame.setSize(WIDTH, HEIGHT);
frame.setResizable(false);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
home.loadImages();
}

private void loadImages() {
try {
backgroundImage = imageLoader.loadImage("/res/HomeScreen.png");
Buttons = imageLoader.loadImage("/res/MainScreenButtons.png");
} catch (IOException e) {
e.printStackTrace();
}
home.display();
}

private void display(){
BufferStrategy buffStrat = this.getBufferStrategy();
Graphics g = buffStrat.getDrawGraphics();

if(buffStrat == null){
createBufferStrategy(3);
return;
}
////////////////////////////////////////////////

////////////////////////////////////////////////
g.dispose();
buffStrat.show();
}
}

最佳答案

您的类不从任何内容扩展,因此 this.getBufferStrategy() 不存在于您的类的上下文中。

尝试从 java.awt.Canvas 扩展

话虽如此,混合重型和轻型组件时要小心,它们往往不能很好地协同工作。

我也会避免 Toolkit.getScreenSize() 因为它没有考虑屏幕上可能存在的任何“附加”元素(如任务栏)。

您“可以”使用frame.setExtendedState(MAXIMIZED_BOTH);来代替...

关于java - 它要我创建一个方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20482397/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com