2016-09-11 4 views
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); 
} 
} 

答えて

0

「Yasuo.png」ファイルが見つかりません。クラスファイルと同じフォルダにあることを確認してください。

+0

私はパスを指定してみましょう(ちょっと変わっていない)。 –

+0

@ JavaBeginner画像がバックゴールとして機能する場合は、最初にペイントし、その後にオブジェクトをペイントする必要があります。助けてくれますか? –

+0

いいえ、残念ながらそれはまだ何もない灰色のJframrです。 –

関連する問題