2

私はインポートしました:

 import javax.swing.ImageIcon;

このコードを使用してPNGファイルをインポートしました。(黒い四角を簡単に作成できることは知っていますが、必要なのはゲームに画像をインポートすることです)。

Image player1 = Toolkit.getDefaultToolkit().createImage("Users/Documents/JavaGameImages/Tag/BlackSquare.png");

後でこの画像を呼び出してみましたが、ウィンドウに画像が表示されませんでした。(myX = 100 および myY = 100 と仮定)

public void paint(Graphics g) {         
        g.setColor(BackgroundColor);
        g.fillRect(WindowWidth, WindowHeight, 1000, 1000);

/////////////////////// 以下のコードは私が問題を抱えている場所です:

        g.drawImage(player1, myX, myY, null);
4

1 に答える 1

0

配布用にそのコードを作成するときは、おそらくクラスファイルとともにイメージをjarファイルに入れたいと思うでしょう。私がやっていることは、それにアクセスしているクラスと同じディレクトリにそれを置き、次に、テクスチャ背景の境界からのコードのこのスニペットのように、getClass()。getResource(fileName)を使用してアクセスします。

final Toolkit toolKit  = Toolkit.getDefaultToolkit();
URL imgURL = getClass().getResource(textureFileName);
if (imgURL != null)
{
  Image tmpImage = toolKit.createImage(imgURL);
  toolKit.prepareImage(tmpImage, -1, -1, 
            new ImageObserver() {
    public boolean imageUpdate(Image updatedImage, int infoFlags, int x, 
                               int y, int width, int height)
    {
      if ((infoFlags & ImageObserver.ALLBITS) == ImageObserver.ALLBITS)
      {
        int           w               = updatedImage.getWidth(null);
        int           h               = updatedImage.getHeight(null);
        BufferedImage backgroundImage = new BufferedImage(w, h, 
                                            BufferedImage.TYPE_INT_ARGB_PRE);
        Graphics2D    g = backgroundImage.createGraphics();
        g.drawImage(updatedImage, 0, 0, null);
        g.dispose();

        Rectangle rect = new Rectangle(0, 0, w, h);
        texture = new TexturePaint(backgroundImage, rect);

        return false;
      }

      return true;
    }
  });
}
于 2012-10-06T21:30:51.743 に答える