いくつかのスプライトをレンダリングしようとしていますが、行
batch.setProjectionMatrix(cam.combined);
が必要ですスプライトがカメラから独立して移動するために、このラインを追加すると、スプライトが突然異常に大きくなりますが、スプライトがなければ、スプライトは正常になります。プレイヤーのスプライトに設定した境界もスプライトのサイズと同様に拡張されるため、世界の寸法などを変更する疑いがありますが、背景(OrthogonalTiledMapRendererでレンダリングされたタイルマップ)は同じ。
これは通常のレンダリングです。https://ibb.co/m4T2GT
これは、setProjectionMatrixを使用したときに表示されるレンダリングです。https://ibb.co/j0EL38
(写真には外部サイトを使用しました。何らかの理由でここに追加できなかったためです)
これが私のレンダリング機能です。
player.draw(..);
そして
e.draw(..);
Spriteクラスのdraw関数を呼び出すだけです。
public void render() {
handleInput();
renderer.setView(cam);
renderer.render();
batch.setProjectionMatrix(cam.combined);
batch.begin();
player.draw(batch);
for (Entity e: enemies) e.draw(batch);
batch.end();
}
回答 1 件
関連記事
- localhost:8080のsuperDevに準拠したlibGDXゲームにはボタンが1つしか表示されません
- Java libGDX配列の破損
- オブジェクトの特定のインスタンスのLibGDX box2d検出
- libgdx androidプロジェクトのアプリケーションアイコンを変更する方法
- LibGdxゲームで重要な文字列を非表示にする-module core-
- Libgdxは2DでPerspectiveCameraビューを計算します
- Libgdx Box2Dライト、Androidデバイスでは見た目が違う、奇妙な光の輪郭
- 2つ以上の異なるフォントファイルでlibgdxの共通のAtlasを使用する方法
- LibGDX:コンパスにキャリブレーションが必要かどうかを確認します
フロートを使用できます:
cam.zoom
すべてが表示される大きさを変更します。設定で変更するか、カメラオブジェクトを初期化した直後に変更すると、ズームのままになります。それでもうまくいかない場合は、マップのレンダリングをカメラの投影マトリックスにも設定する必要があります。