【问题标题】:Draw Image Not working Slick2d绘制图像不工作 Slick2d
【发布时间】:2014-02-11 18:53:44
【问题描述】:

最奇怪的事情正在发生,我想不通。我正在制作一个 StateBasedGame,并且在其中一个 BasicGameStates 中,我正在尝试绘制图像。不过,它显示为白色。代码:

@Override
    public void render(GameContainer arg0, StateBasedGame arg1,
            Graphics g) throws SlickException {
        // TODO Auto-generated method stub
        g.setBackground(Color.blue);
        Image image = new Image("res/Sniper Scope (Border).png");
        g.drawImage(image, 230,100);
    }

它似乎正在寻找图像(它不会崩溃),但出现的只是这个:

任何帮助将不胜感激。

【问题讨论】:

  • 这是对slick中使用的render方法的不当使用。经验法则是永远不要声明/初始化变量(尤其是图像,因为没有时间处理图像)或在渲染线程中执行任何类型的繁重逻辑。你的游戏运行的方式,会在游戏的每一个滴答声中初始化并加载该图像,这将大致在你拥有的任何 FPS 左右,并且过于繁重而无法处理。

标签: java image lwjgl slick2d


【解决方案1】:

将您的图像初始化/声明移动到 init 方法中。如果要在渲染范围内调用图像,则应将图像设置为全局变量,然后在 Init 方法中对其进行初始化。

编辑:另外,slick 中的图像类具有可用的 draw(x, y) 方法!所以不需要 g.drawImage()。 例子: 图片 img = New Image("res/Image.png");

渲染方法: img.draw(0, 0);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-21
    • 2014-07-06
    • 2012-10-31
    相关资源
    最近更新 更多