0

我是新手。我正在尝试 wilchit sombat 关于制作 packman 的游戏教程。我无法查看BufferedImage. 这是覆盖游戏引擎中一些方法的代码。

package game.packman;

import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

import javax.imageio.ImageIO;

import org.Game.Engine.Game;
import org.Game.Engine.GameApplication;

public class PackMan extends Game {

    public static void main(String args[]) {
        GameApplication.start(new PackMan());
    }

    BufferedImage packman;

    public PackMan() {
        title = "PACKMAN";
        width = height = 400;
        try {
            packman = ImageIO.read(new File("images/pacmanimg.xcf"));
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }


    }

    @Override
    public void init() {


        // TODO Auto-generated method stub

    }

    @Override
    public void update() {
        // TODO Auto-generated method stub

    }

    @Override
    public void draw(Graphics g) {
        g.drawImage(packman, 100, 100, null);


    }

}
4

2 回答 2

4

Image I/O内置支持GIF, PNG, JPEG, BMP, and WBMP. 图像 I/O 也是可扩展的,因此开发人员或管理员可以“插入”支持其他格式。例如,插件和插件TIFFJPEG 2000单独可用的。

因此,似乎XCF: 图像编辑程序的原生图像格式GIMP,不受ImageIO.

参考:

  1. 读取/加载图像
于 2013-11-08T03:11:11.190 回答
0

packman加载后检查图像的大小

packman = ImageIO.read(new File("images/pacmanimg.xcf"));

如果未加载图像,则为 0 宽度/高度。

无论如何,最好将图像放在类路径中并使用 getResourceAsStream() 通过 ImageIO 加载它。相反,当您将代码打包到 jar 中时,您需要解决使用文件和相对路径的问题。

于 2013-11-08T07:36:14.837 回答