[Unity 2D] プレイヤーが動ける範囲を設定する

どうも、tatsuです!

今回はプレイヤーが動ける範囲を設定する方法について説明しようと思います。

プレイヤーが動ける範囲を設定する

プレイヤーが動ける範囲を設定するには、以下のプログラムをプレイヤーにアタッチされているスクリプトのUpdateメソッド内に記述してください。

// 動ける範囲のXとY(背景画像のサイズに合わせるなど)
float X_MIN_MOVE_RANGE = -3150f;
float X_MAX_MOVE_RANGE = 3150f;
float Y_MIN_MOVE_RANGE = -280f;
float Y_MAX_MOVE_RANGE = 280f;

// 動ける範囲を制限する
Vector3 targetPosition = transform.position;
targetPosition.x = Mathf.Clamp(transform.position.x, X_MIN_MOVE_RANGE, X_MAX_MOVE_RANGE);
targetPosition.y = Mathf.Clamp(transform.position.y, Y_MIN_MOVE_RANGE, Y_MAX_MOVE_RANGE);
transform.position = new Vector3(targetPosition.x, targetPosition.y, transform.position.z);

 
Mathf.Clampは、第一引数の値を、第二・第三引数の値の中に制限してくれるメソッドです。
そのため、プレイヤーが範囲の外に出ようとしたときに最小or最大値で止めてくれるのです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です