LoginSignup
1
0

More than 5 years have passed since last update.

libGDXでTiledのマップを描画した上に画像を描画する方法

Last updated at Posted at 2018-09-28

前回記事

libGDXでTiled Map Editorのtmxファイルを読み込み、描画ずる方法

やること

前回表示したマップの上に画像を表示させる。

 重要なソースコード

tiledrenderer.getBatch().begin();
tiledrenderer.getBatch().draw( imagePass, positionX, positionY );
tiledrenderer.getBatch().end();

Tiledを使わない通常の画像表示の場合batch().begin();からbatch().end();の間に書く決まりがある。
しかしTiledを使うと少し記述が変わってくる。

renderer.getBatch().begin();からrenderer.getBatch().end();の間に書かなくてはいけない。
今まで通りのやり方だとおかしな実行結果になってしまいますので注意してください。

私はこの情報を見つけるまでに2週間かかりました。しかもネット上に情報が無かったので、エクリプスの予測変換で探しました(疲)。
私と同じように、この情報を見つけることが出来ずに諦めている人がいるかもしれませんが、大丈夫です!
これからはこれを使えば問題ありません!

実際に使う方法

Mainのrenderに記述しています。

Main.java

iledMap tiledMap;
OrthogonalTiledMapRenderer tiledRenderer;
OrthographicCamera camera;

public void create() {
        camera = new OrthographicCamera();
        camera.setToOrtho(false, WIDTH, HEIGHT);

        /* TiledMapの読込みとRendererの初期化 */
        tiledMap = new TmxMapLoader().load("map.tmx");
        tiledRenderer = new OrthoCachedTiledMapRenderer(tiledMap);
}

@Override public void render(){
        /* TiledMapの描画 */
        camera.update();
        tiledRenderer.setView(camera);
        tiledRenderer.render();

        /*マップの上に画像を描画*/
        tiledrenderer.getBatch().begin();
        tiledrenderer.getBatch().draw( imagePass, positionX, positionY );
        tiledrenderer.getBatch().end();
}

まとめ

これで表示できると思います。
画像以外にもフォントやエフェクトも同じような感じで出来ます。
情報は見つからない割に簡単なことでした。

参考URL

今回は参考になるサイトは見つかりませんでした。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0