Java - Slick2D TileD 地图正在渲染但未显示

Java - Slick2D TileD Map is Rendering but not Showing

我正在 Java 中测试 TileD 和 Slick2D 的使用,但是当我尝试导入地图并渲染它时,渲染功能运行流畅,但地图没有显示在我的屏幕上.我的播放器显示但不显示地图。我是 java 的新手,请原谅我乱七八糟的代码。

MapRender class:

在调用 loadMap() 函数的 KeyListener 之后循环调用 render() 函数,"render" 打印到控制台,但地图从未显示。我该如何解决这个问题?

package com;

import org.newdawn.slick.SlickException;
import org.newdawn.slick.tiled.TiledMap;

public class MapRender {

    private TiledMap testMap;
    public boolean mapAdded = false;

    public MapRender() {

    }

    public void render() throws SlickException {

        if(mapAdded)
        {
            //Rendering map
            testMap.render(100,100,0,0,100,100);
            System.out.println("render");
        }

    }

    public void loadMap() throws SlickException {

        //Adding map
        testMap = new TiledMap("maps/testMap.tmx", false);
        mapAdded = true;



    }

}

在 Main 中循环调用渲染 class

public static void main(String[] args) {



    while(true)
    {

        try {
            mapRender.render();
        } catch (SlickException e1) {
            e1.printStackTrace();
        }
    }
}

如有任何帮助,我们将不胜感激!

您在主函数中编写的循环不允许 Slick2D 运行 自己的任何代码来更新屏幕上的图像。因此,您的程序可能只是将地图一遍又一遍地渲染到某个不可见的缓冲区。

查看 the "Hello World" example on the Slick2D wiki 如何实现核心循环,并在其 render 方法中添加地图渲染调用。