【unity】カメラを制御する【縦横スクロール】

Unity

よく2Dゲームのカメラワークで『横(縦)スクロール』がよく使われるかと思います。

本記事ではその横スクロールを簡単に実現できるコードを紹介します。

シンプルなカメラワークを求めている方はぜひ参考にしてみてください。

スポンサーリンク



カメラを制御する【縦横スクロール】

ここでは「カメラを横移動させる」方法について紹介します。

下がそれを実現するためのコードになります。

 

上のコードの簡単な説明は下のとおりです。

・17~20行目:一番最初のクリック時のpositionを「_previousPos」に代入

※『Input.GetMouseButtonDown(0)』は「左クリック押下時」を判定する。(ちなみに左クリックを押下中は呼び出されない)

・22~28行目:左クリック押下中のカメラ移動処理

Update()は常に更新されるので、22行目の「_currentPos」と27行目の「_previousPos」で前後のマウス位置を保持している。

そして、常に前後のマウス位置の差分を計算し、メインカメラのpositionのx座標に差分を代入している。

※『Input.GetMouseButton(0)』は「左クリック押下中か」を判定する。

※26行目の「* 0.015f」部分はカメラ移動の速度を調整する数値なので、お好みで変えてみてください。

 

上のコードの26行目ではメインカメラのx座標を操作しています。

もしも、縦スクロールにしたい場合は「new Vector3(0, _diffDistance.y * 0.015f)」で実現できます。

 

スポンサーリンク