JavaとLibGDXおよびBox2Dライブラリを使用してゲームを作成しています。
画面には 12*7 ブロックの横長が含まれているため、ビューポートの幅と高さとして 12 と 7 の正投影カメラを使用します。また、Box2Dワールドはこのカメラを使用しています。ウィンドウの画面サイズは 840 x 490 で、12 と 7 で分割するのに適しています :)。
カメラは主人公を追いかけているため、その射影行列はカメラの動きごとに変化します。batch.setProjectionMatrix(camera.combined)
そのため、ゲーム オブジェクトを使用して描画します。
しかし、マウス スクリーンの座標をローカルの box2D 座標に変換する必要がある場合はどうすればよいでしょうか。
座標をある射影 maxtrix から別の射影 maxtrix に変換する方法はありますか?
たとえば、私のカメラが画面の中央にある (0; 0) を見ている場合、画面の座標で (840/2; 490/2) のポイントを取得します。カメラの動きを考慮して、(420; 245)から..何でも。