0
新しいゲームを作成してBufferedImageでpngをインポートしようとすると、JFrameが灰色になり、他のクラスでペイントしたさまざまなオブジェクトが消えます。私は必要に応じて他のクラスを分かち合うことができますが、これはうまくいきません。BufferedImageを使用しているときにJFrameが灰色になる
public class Panel extends JPanel implements ActionListener, KeyListener {
private Teeto game;
private Player player;
private Shrooms shroom;
BufferedImage img;
public Panel(Teeto game) {
setBackground(Color.WHITE);
this.game = game;
player = new Player(100, (game.HEIGHT/2) - 100, 200, KeyEvent.VK_UP, KeyEvent.VK_DOWN);
shroom = new Shrooms(100);
Timer timer = new Timer(5, this);
timer.start();
addKeyListener(this);
setFocusable(true);
try {
img = ImageIO.read(new File("C:\\Users\\Patrick\\Desktop\\Teeto\\Yasuo.png"));
} catch (IOException e) {}
}
public void update() {
player.update();
shroom.update();
checkIntersection();
}
public void checkIntersection() {
if (player.getBounds().intersects(shroom.getBounds())) {
player.health = player.health - 20;
}
}
public void actionPerformed(ActionEvent e) {
update();
repaint();
}
public void keyPressed(KeyEvent e) {
player.pressed(e.getKeyCode());
}
public void keyReleased(KeyEvent e) {
player.released(e.getKeyCode());
}
public void keyTyped(KeyEvent e) {}
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
player.paint(g);
shroom.paint(g);
g.drawImage(game.getPanel().img, 0, 0, null);
}
}
私はパスを指定してみましょう(ちょっと変わっていない)。 –
@ JavaBeginner画像がバックゴールとして機能する場合は、最初にペイントし、その後にオブジェクトをペイントする必要があります。助けてくれますか? –
いいえ、残念ながらそれはまだ何もない灰色のJframrです。 –