絵本レビューとWwbと…

unityで簡単なゲームの作る方法

Unityで簡単なシューティングゲームを作る[3]

Step3:移動範囲を制限する

今回はプレイヤーがステージの外に出ないよう、移動範囲を制限する設定を行う。

※このサイトのチュートリアルはとりあえず自力でゲームを作ってみることを目的としているため、プログラム言語に関する解説部分はかなり大雑把で意訳気味です。プログラム言語(C#)について正しく、詳しく学びたい方は、入門書やUnityの解説サイトなどをご参考にしていただけたらと思います。また、このサイトはコピープロテクトをかけているため、画面上からスクリプトのコピペができません。「スクリプトはこちら」というリンクからテキストファイルを表示して使ってください。面倒くさくてすみません。

移動範囲を制御するスクリプトを作成する

まず移動範囲を制限するC#スクリプトを作成する。メニューの「Assets」から「Create」で「C# Script」を作成。ファイル名を「Range」とする。

移動範囲の設定

スクリプトファイルを開き、以下のように記述する。スクリプトはこちらから。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public static class Range{
    public static Vector2 m_moveLimit = new Vector2( 2f, 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
        );
    }
}

以下の部分で、移動可能な範囲は左右に2、上下に4と設定している。

public static Vector2 m_moveLimit = new Vector2( 2f, 4f );
スクリプトを呼び出す記述を追加する

スクリプトが書けたら保存する。次に作成したスクリプト「Range」を呼び出す記述を、プレイヤーを動かしているスクリプト「Player Controll」に追記する。Assetsフォルダ内の「Player Controll」をダブルクリックしファイルを開いたらvoid Update () {の下に赤字の一文を追記する。スクリプトはこちらから。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PlayerController : MonoBehaviour{
	void Update () {
		
  // プレイヤーの移動範囲を制限するRangeを呼び出す
  transform.localPosition = Range.ClampPosition( transform.localPosition );

		if (Input.GetKey (KeyCode.LeftArrow)) {
			transform.Translate (-0.1f, 0, 0);
		}
		if (Input.GetKey (KeyCode.RightArrow)) {
			transform.Translate ( 0.1f, 0, 0);
		}
		if (Input.GetKey (KeyCode.UpArrow)) {
			transform.Translate ( 0,0.1f, 0);
		}
		if (Input.GetKey (KeyCode.DownArrow)) {
			transform.Translate ( 0,-0.1f, 0);
		}
	}
}
動作確認

ゲームビューに切り替えてプレイボタンを押し、矢印キーを使って動作確認する。同じ方向にキーを押し続けてもステージ外に出ないことが確認できればOK。

次の「Step4:弾を発射する」では、プレイヤーに攻撃用の弾を発射させてみる。

★チュートリアル一覧

  1. Step1:プロジェクトの設定
  2. Step2:プレイヤーを動かす
  3. Step3:移動範囲を制限する
  4. Step4:弾を発射する
  5. Step5:敵を動かす
  6. Step6:弾で敵を倒す
  7. Step7:スコアを更新する
  8. Step8:ゲームオーバーの設定
  9. Step9:リトライボタンの設定
  10. Step10:背景を動かす
  11. Step11:BGMを設定
  12. Step12:爆破エフェクトをつける
  13. Step13:ゲームをビルドする

2020.6.3投稿

最近の投稿

レビュー記事

Work-life

Hobby

Diary