1

我刚开始使用 Slick2d 游戏库(遵循指南)。由于某种原因,整个框架都是黑色的。我不知道出了什么问题,因为我没有收到来自 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();
    }
}

你可以/res/land.jpg这里找到。这是/res/plane.jpg

/res/plane.jpg

最后,以防你不相信我,这是正在运行的应用程序:

运行应用程序; 没有显示图像

4

1 回答 1

1
 land = new Image("/res/land.jpg");

 land = new Image("/res/plane.png");

是罪魁祸首,/你想从你的文件系统的基础开始的主要状态,一个绝对路径。尝试使用:

 land = new Image("res/land.jpg");
 land = new Image("res/plane.png");

此路径与您的项目相关,应该可以工作。

此外,绘制调用需要在渲染方法中进行。

于 2013-05-10T20:30:18.903 回答