Ship連射


Ship から弾丸を連射します。

シップを描画

  1. シップを矢印キーで操作しながら、空白キーでシップから弾丸を連射します。
    このページは次のプロジェクトの組み合わせです。
    2D Image
    C# Key
    2D連射
  2. Unity を起動して 2D 選択で Project を生成します。
    メニューから[Save Scene]を選び Main の名前で保存します。
  3. ウインドウエクスプローラで Assets に画像(Ship.png)をドラッグします。
    Assets からヒエラルキービューに画像をドラッグしてシーンビューに表示します。
    Main Cameraをクリックして Inspector にある Size を3にします。
    これはゲーム画面で見える範囲を調整するためです。
  4. [Projectタブ][Createタブ] から NewBehaviourScript.cs を作成して Update() 関数を修正して下さい。
        void Update () {
            float x = Input.GetAxis("Horizontal");
            float y = Input.GetAxis("Vertical");
            transform.Translate(new Vector3(x * 0.05f, y * 0.05f, 0));
        }
    
  5. NewBehaviourScript.cs をシップにアタッチして、矢印キーでシップが移動することを確認して下さい。

弾丸を設定

  1. ウインドウエクスプローラで Assets に画像(Tama.gif)をドラッグします。
  2. ヒエラルキービューに Tama をドラッグして表示します。
  3. [Projectタブ][Createタブ] から Tama.cs を作成して次のように修正して下さい。
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    public class Tama : MonoBehaviour {
        void Update()
        {   transform.Translate(new Vector2(0.0f, 0.2f));
        }
    }
    
  4. Tama.cs を Tama にアタッチしてプレイボタンで Tama が上に発射されることを確認して下さい。
  5. プロジェクトを閉じると保存の確認があるので、保存して終了して下さい。
    ウインドウエクスプローラーでプロジェクトのフォルダーをコピーしてバックアップを取りましょう。
    長い作業が続くときは、要所要所でバックアップするのが賢明です。

自機から発射

  1. プロジェクトフォルダーに格納されている Assets/Main のダブルクリックで起動します。
    ヒエラルキービューの Tama を Assets に移動して、右クリックから削除します。
  2. [GameObject][Create Empty] から空のオブジェクト PlayerBullet を作成します。
  3. [Projectタブ][Createタブ] から PlayerBullet.cs を作成して次のように修正して下さい。
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    
    public class PlayerBullet : MonoBehaviour {
        public GameObject tama;
    
        void Update()
        {
            if (Input.GetButtonUp("Jump"))
            {
                Instantiate(tama, transform.position, transform.rotation);
            }
        }
    }
    
  4. PlayerBullet.cs を PlayerBullet にアタッチします。
    (アタッチがうまく行かないときは Unity Project を参照して下さい)
    public GameObject tama; を宣言すると Inspector に Tama が追加されます。
    Inspector の Tama にヒエラルキービューから移動した Assets/Tama を設定します。

  5. プレイボタンで実行して Space キーで弾丸が発射されることを確認して下さい。
  6. ヒエラルキービューの Ship の下位に PlayerBullet を移動して親子関係に設定します。
    親子関係を設定すると Ship の移動に PlayerBullet が付いてきます。
  7. 画面右の Order in Layer で弾丸よりシップの数値を大きく設定するとシップの下から弾が発射されます。
    矢印キーでシップを移動しながら Space キーで弾が連射されます。
    画面の外に出た弾丸を削除する方法は 2D連射 を参照して下さい。

[Previous Chapter ↑] 2D連射

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