0

こんにちは、slick2D で 2D RPG を作成しており、新しいマップを作成するための小さなクラスを作成しました。

public class Map {
    TiledMap tiledmap = null;

    public Map(String location, int x, int y) {
        try {
            tiledmap = new TiledMap(location);
        } catch (SlickException e) {
            e.printStackTrace();
        }

        tiledmap.render(x, y);

}
}

しかし、FPS が 60 (ターゲット FPS) から 30 程度に低下します。何が起こったのかわかりません。しばらく探していましたが、結果が見つからないため、コミュニティに質問するためにここにいます。あなたは大いに助けることができます、そしてああ、これが私がそれを呼んでいる方法です

Map map = new Map("res/gametileset.tmx", 0, 0);

それは私のプレイ更新ループからのものです

4

1 に答える 1

0

ロードしているコードから判断すると、更新ループでマップを繰り返しレンダリングします。これはかなり遅いはずです。代わりに、インスタンスを一度作成し、関数を呼び出して更新ループから呼び出すMapだけのメソッドをこのクラスに導入することをお勧めします。render(x, y)

于 2014-07-16T21:38:38.320 に答える