我刚刚开始使用 Slick2d 游戏库(遵循 this 指南)。由于某种原因,整个框架都是黑色的。我不知道出了什么问题,因为我没有收到 Eclipse 和 Slick2d 的投诉。
这是我的项目树的屏幕截图:
这是 Game.java 源代码:
package com.michael.ivorymoon;
import org.newdawn.slick.AppGameContainer;
import org.newdawn.slick.BasicGame;
import org.newdawn.slick.GameContainer;
import org.newdawn.slick.Graphics;
import org.newdawn.slick.Image;
import org.newdawn.slick.SlickException;
public class Game extends BasicGame
{
Image land = null;
Image plane = null;
float x = 400;
float y = 300;
float scale = 1.0f;
public Game()
{
super("Ivory Moon");
}
@Override
public void init(GameContainer container) throws SlickException
{
land = new Image("/res/land.jpg");
land.draw(0, 0);
plane = new Image("/res/plane.png");
plane.draw(x, y, scale);
}
@Override
public void update(GameContainer container, int delta) throws SlickException
{
;
}
@Override
public void render(GameContainer container, Graphics graphics) throws SlickException
{
;
}
public static void main(String[] args) throws SlickException
{
AppGameContainer appContainer = new AppGameContainer(new Game());
appContainer.setDisplayMode(800, 600, false);
appContainer.start();
}
}
您可以在here上找到/res/land.jpg
。这是/res/plane.jpg
:
最后,以防万一您不相信我,这是正在运行的应用程序:
最佳答案
land = new Image("/res/land.jpg");
和
land = new Image("/res/plane.png");
是罪魁祸首,前导 /
表示您要从文件系统的基础(绝对路径)开始。尝试使用:
land = new Image("res/land.jpg");
land = new Image("res/plane.png");
此路径与您的项目相关,应该有效。
此外,绘制调用需要在渲染方法中进行。
关于java - Slick2d Image 对象无法正确显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16490252/