2016-10-09 4 views
0

Slick2DをJavaで使用してTileDの使用をテストしていますが、マップをインポートしてレンダリングしようとするとレンダリング機能はスムーズに実行されますが、マップは表示されません私の画面にアップ。私のプレイヤーは地図を表示しますが、表示しません。私はJavaに新しいので、私の乱雑なコードを許してください。Java - Slick2D TileD Mapはレンダリング中ですが表示されません

MapRenderクラス:

レンダリング()関数は、loadMap()関数を呼び出すのKeyListenerた後、ループ内で呼び出され、コンソールにプリントを「レンダリング」が、地図が表示されることはありません。どうすればこの問題を解決できますか?

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(); 
     } 
    } 
} 

任意およびすべてのヘルプをいただければ幸いです!

答えて

0

メイン関数でコーディングしたループでは、Slick2Dが独自のコードを実行して画面上の画像を更新することはできません。その結果、あなたのプログラムはおそらく、マップをいくつかの目に見えないバッファに何度もレンダリングするだけで止まってしまうでしょう。

the "Hello World" example on the Slick2D wikiコアループの実装方法については、renderメソッドでマップレンダリング呼び出しを追加してください。

+1

ありがとう、私はそれをBasicGameレンダリング関数に移動し、それがうまくいった – Flizzet

関連する問題