Java - Slick2D TileD Map正在渲染但没有显示

时间:2016-10-09 07:35:17

标签: java lwjgl slick2d tiled

我在Java中使用Slick2D测试TileD的使用,但是当我尝试导入地图并渲染它时,渲染功能运行平稳但地图不会显示在我的屏幕上。我的播放器显示但不是地图。我是java的新手,请原谅我凌乱的代码。

MapRender类:

在调用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类中循环调用render

public static void main(String[] args) {



    while(true)
    {

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

任何和所有帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

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

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