私はタイルやマップとして機能する他の資産でいっぱいのコンテナを持っています。その容器の上には、プレーヤーが見るカメラの役目をするマスクがあります。カメラを動かすために、コンテナを動かす。ズームアウト時にカメラの位置を維持する方法は?
Iは以下の式を使用して容器内のタイルを中心にすることができるよ:
container.x = (((tile.x + (tile.width/2)) * container.scaleX) * -1) + (mask_width/2);
container.y = (((tile.y + (tile.height/2)) * container.scaleY) * -1) + (mask_height/2);
これはマスクの中心がタイルであろうように、マスクとの相対位置にコンテナを移動させます質問。
私は最近、ズーム機能を追加しました。これは、コンテナのscaleX/scaleYを大きくしたり小さくしたりするだけです。上記のセンタリングコードを修正しましたが、問題が発生して、ビューが縮小するにつれて "カメラ"が動き回っていないように見えます。基本的にズームアウトすると、コンテナが縮小するため、すべてが左に移動するように見えます。上記のコードで何かを中心にするとすべてうまくいきますが、zoomXのときと同じ位置にあるように見えるようにscaleXとscaleYの違いに基づいてコンテナを右に突き上げる方法が必要です。私はすでにいくつかのことを試したことがありますが、私は頭の中で頭を包むことができません。負荷の
Erは、プレイヤーがコンテナの動きを見るのを妨げる視点であるため、マスクはカメラではありません。フラッシュは0,0からその高さ/幅にレンダリングされるため、コンテナは代わりに移動するため、移動できません。とにかく、ズームの高さ/幅の違いに基づいて調整を試みましたが、それは過剰です。 2または4で割っても、右にパンを移動させました。 – Mont
カメラコンテナを移動するマスクは移動しません。マスクはあなたが見る「窓」です。また、登録ポイントを0,0からcontainer.width/2にオフセットすると、camのcontainer.height/2はスケーリングが中央に配置されます。私が投稿したコードの残りの部分は、マスクを中心にすることでしたが、余分でした。 –
これがうまくいかない場合は、あなたが記述したレイアウトは、それがどのようなものかは分かりません。 –