我正在用Java中的TileD测试Slick2D的使用,但是当我试图导入并呈现它时,呈现函数运行得很顺利,但是地图并没有显示在我的屏幕上。我的球员显示,但地图没有显示。我刚开始使用java,所以请原谅我混乱的代码。
MapRender类:
在调用KeyListener ()函数的loadMap()函数之后,在循环中调用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;
}
}循环调用主类中的呈现
public static void main(String[] args) {
while(true)
{
try {
mapRender.render();
} catch (SlickException e1) {
e1.printStackTrace();
}
}
}任何和所有的帮助都将不胜感激!
发布于 2016-10-09 07:52:56
在主函数中编写的循环不允许Slick2D自己运行任何代码来更新屏幕上的图像。因此,您的程序可能会被困住,只需一遍又一遍地将映射呈现到某个不可见的缓冲区。
查看Slick2D维基上的"Hello“示例如何实现核心循环,并在其render方法中添加映射呈现调用。
https://stackoverflow.com/questions/39941154
复制相似问题