第02回

第02回 プレイヤーの移動

プロジェクトの準備

  1. このページは 2Dシューティングゲーム を初心者用に簡略化したものです。
    Shooting Guid を参照して、ダウンロードした「第01回プロジェクト」を起動して下さい。
  2. このまま作業を進めると、左右キー(→←)が効きません。(上下キー(↓↑)は何故かOK) (^_^;)
    何度か試しましたが同じ結果で、これがこのコーナーを掲載するきっかけでした。
    そこで Assets/Prefabs から Player を削除して作り直して下さい。
    1. Assets/Prefabs から右クリックで Player を削除します。
      Assets/Animations/Player から右クリックで Normal と Player を削除します。
    2. Assets/Sprites/Spaceship から Spaceship_0~Spaceship_3 までを選択して、ヒエラルキービューに投げ込みます。
      アニメーターを格納する Assets/Animations/Player を指定して Normal の名前で保存します。
    3. ヒエラルキービューの Spaceship_0 を Player に変更します。
    4. 再生ボタンでアニメーションの描画を確認します。
    5. ヒエラルキービューの Player を Assets/Prefabs に投げ込んで、ヒエラルキービューの Player を削除します。
  3. メニューから[Save Scene]を選び Main の名前で保存すると Assets に Main のアイコンが追加されます。
    次回からはプロジェクトフォルダーに格納されている Assets/Main のダブルクリックで起動することが出来ます。

Rigidbody2D を組み込む

  1. Assets/Prefabs から Player をヒエラルキービューにドラッグして、再生ボタンで Player のアニメーションを確認して下さい。
  2. 今回は Rigidbody2D を組み込んで、矢印キーでプレイヤーを操作します。
    画像をキーで操作する方法は C# Key に掲載しています。
    チュートリアルでは Object を移動するとき Rigidbody2D が組み込まれているようです。
    Rigidbody2D は Rigidbody の2D版で物理的挙動を行うクラスです。
    Rigidbody2D の基本は Rigidbody を参照して下さい。
  3. Player の Inspector から Add Component ボタンをクリックして Physics 2D→Rigidbody 2D を追加します。
    Rigidbody 2D の Gravity Scale を 0 に設定して下さい。
  4. Assets を選択して、右クリックから Create→Folder で Scripts のフォルダーを作成して下さい。
    Scripts のフォルダーを選択して Projectタブ→Createタブ→C#Script から NewBehaviourScript.cs を作成します。
    Assets/Scripts/NewBehaviourScript の名前を Player に変更して、次のように修正して保存して下さい。
    class 名前(Player)は、ファイル名と一致しなければなりません。
    float x には「→キー」を押すと +1 が、「←キー」を押すと -1 が設定されます。
    float y には「↓キー」を押すと +1 が、「↑キー」を押すと -1 が設定されます。
    direction に移動の方向を設定して、Rigidbody2D の velocity に格納することにより Player を動かします。
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    
    public class Player : MonoBehaviour
    {   public float speed = 5;
    
        void Update ()
        {   float x = Input.GetAxisRaw ("Horizontal");
            float y = Input.GetAxisRaw ("Vertical");
            Vector2 direction = new Vector2 (x, y).normalized;
            GetComponent<Rigidbody2D>().velocity = direction * speed;
        }
    }
    
  5. Player.cs をヒエラルキービューの Player にアタッチ(ドラッグして関連付ける)します。
    (アタッチがうまく行かないときは Unity Project を参照して下さい)
    再生ボタンをクリックして、矢印キー(←→↑↓)の操作で Player が移動することを確認して下さい。

  6. Assets を選択して右クリックから Create→Folder で Scenes のフォルダーを作成して下さい。
    メニューの File/Save Scene as... から Scenes フォルダに Stage の名前で保存して下さい。
    次回からは Assets/Scenes/Stage をダブルクリックして起動すると保存した状態が再現されます。
  1. 2Dシューティングゲームでは Main Camera(メインカメラ)の調整をしています。
    ヒエラルキービューの Main Camera を選択して、Inspector から Projection を Orthographic に、Size を 3 にします。
    これはゲーム画面で見える範囲を調整するためで、Player が大きく描画されます。
  2. プロジェクトの詳細は 2Dシューティングゲーム から 「第02回 プレイヤーの移動」を参照して下さい。
    第02回 の完成したプロジェクトは、後部の「今回のプロジェクトファイルをダウンロード」からダウンロードすることが出来ます。

[Next Chapter ↓] 第03回
[Previous Chapter ↑] 第01回

前田稔の超初心者のプログラム入門
超初心者のプログラム入門(Unity)