norablog-techのブログ

このブログは、自分の忘備録的にアウトプットするためのブログとなっております。

【Unityを使った”2Dシューティングゲームの作成(プログラム編その2)】

今回は”敵機”を動かすプログラムを作成します。
単純に、初期位置(0,6,0)から真下へ、敵機が移動するだけのプログラムです。

Unityでは”敵機”や”弾”のような、動的に大量に生成し消費(破壊)されるようなGameObjectは、”PreFab(プレハブ)”という機能を使います。
今回はとりあえず、”敵機”が真下へ移動するプログラムを紹介します。

 


www.youtube.com

 

Unityのエディター(GUI)で敵機(Circle)に以下のコードを”追加・作成”します。

プログラム:(CircleController.cs)

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

 

public class CircleController : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        
    }

    // Update is called once per frame
    void Update()
    {
        transform.position += new Vector3(
                0f,
                -0.5f * Time.deltaTime,
                0f
            );
    }
}

 

プログラムとして書いたのは、
transform.position += new Vector3(
                0f,
                -0.5f * Time.deltaTime,
                0f
            );
の部分、実質一行だけです。

1フレームごとに実行される”void Update”の中に、”-y方向に0.5f/sec移動しなさい(+=)”という命令を書いています。

 

Unityでは、GameObjectのプロパティはGUIのエディターで指定できるので、C#のスクリプト(プログラム)は”やりたいことだけ”記述すればよいので、非常に簡単に動作させることができます。

 

簡単ですが、今回はこれまで。

ではまた。