目次
前回のチュートリアル
はじめに
前回は、プレイヤーを WASD キーや矢印キーで操作できるようにしました
今回は、プレイヤーが画面外に出ないように移動範囲を制限していきます
プレイヤーの移動範囲の制限
プレイヤーが画面外まで移動できてしまうため、スクリプトを修正していきます
前回、「Player」スクリプトを作成したときと同じ手順で、
「Scripts」フォルダ内に「Utils」スクリプトを作成します
そして、作成した「Utils」スクリプトに下記のコードを記述します
using UnityEngine; // 便利な関数を管理する静的クラス public static class Utils { // 移動可能な範囲 public static Vector2 m_moveLimit = new Vector2( 4.7f, 3.4f ); // 指定された位置を移動可能な範囲に収めた値を返す public static Vector3 ClampPosition( Vector3 position ) { return new Vector3 ( Mathf.Clamp( position.x, -m_moveLimit.x, m_moveLimit.x ), Mathf.Clamp( position.y, -m_moveLimit.y, m_moveLimit.y ), 0 ); } }
これで、プレイヤーの移動範囲を制限する関数の作成ができたので、
「Player」スクリプトで上記の関数を使用して、
プレイヤーの移動範囲を制限するようにします
「Player」スクリプトをコードエディタで開き、
Update 関数の末尾に下記のコードを記述します
// プレイヤーが画面外に出ないように位置を制限する
transform.localPosition = Utils.ClampPosition( transform.localPosition );
これで、プレイヤーを操作すると、画面外に出ないようになっていることが確認できます
以上で、プレイヤーの移動範囲の制限の作成が完了しました
次回は、プレイヤーがマウスカーソルの方を向くようにしていきます