▼そのUnityの作業、依頼しませんか?
サンプルゲーム・サンプルプロジェクト・ゲームの作り方・チュートリアル

【Unity2Dサンプルゲーム】爆弾を避けよ!~8~

Unityサンプルゲームの「爆弾を避けよ!」の8

前回の爆弾を避けよ!~7~の続きです。

【Bakudan】を量産していきます。いろんなところから落ちてくるようにします。

前提条件

ゲームの終了時

【Bakudan】が落ちてきて【Player】と接触すると、【Player】が破壊されるまでですね。

この記事の「爆弾を避けよ!」の作成の流れ

  • 量産する説明
  • 【Bakudan】を量産させるスクリプトを実行する空のオブジェクトを生成する
  • 【Bakudan】のPrefabを作る
  • 【BakudanGenerator】スクリプトを作成、開く
  • 【BakudanGenerator】スクリプトに記述する
  • 【BakudanGenerator】オブジェクトに【BakudanGenerator】スクリプトをアタッチする

こちらを行っていきます。

量産する説明

【Bakudan】を量産して、さまざな場所から落ちてくるにします。そこでわたしたちは【BakudanGenerator】という工場をつくっていきます。

工場に必要なものは3つあります。空のオブジェクトと設計図とスクリプトです。空のオブジェクとスクリプトと設計図があることで、量産することができます。

今回の【Bakudan】を量産する例で表します。

空のオブジェクトBakudanGeneratorオブジェクト
設計図BakudanPrefab
スクリプトBakudanGeneratorスクリプト

この3つを作って、【Bakudan】を量産する工場を作成していきます。

あくまで今回のオブジェクトを量産する方法は一例です。

空の【BakudanGenerator】オブジェクトを作成する

Unityで空の【BakudanGenerator】オブジェクトを作成する

【Hierarchy】→【Create】→【Create Empty】→【右クリック】→【名前をBakudanGenerator】

空のオブジェクトを作成していきます。

【Bakudan】の設計図【BakudanPrefab】を作る

UnityでPrefabを作る

【Hierarchy】→【BakudanをProjectウィンドウにドラッグ&ドロップ】→【右クリック】→【Rename】→【BakudanPrefabという名前にする】

HierarchyからProjectウィンドウにドラッグ&ドロップすると【Prefab】という設計図ができます。

Projectウィンドウの【BakudanPrefab】を見てください。他のオブジェクトと色が違いますよね。これがPrefab(設計図)である証拠です。

Hierarchy上から【BakudanPrefab】を消そう

Unityでオブジェクトを削除する

【Hierarchy】→【BakudanPrefab】→【右クリック】→【Delete】

【Hierarchy】→【BakudanPrefab選択】→【Deleteキー】

あとで量産するので今のHierarchy上にある【BakudanPrefab】は削除しちゃいましょ。

なんかせっかく作ったのにせつなくなります(T_T)。ただ設計図があるので、いつでも復元できます。

補足:1つ前の手順に戻りたいときは【CTRL+Z】

【CTRL + Z】で1つ前の作業に戻ることができます。

【BakudanGenerator】スクリプトを作成、開く

Unityでスクリプトを作成、開く

【Projectウィンドウ】→【Scriptsフォルダ】→【Create】→【C# Script】→【BakudanGeneratorという名前にする】→【ダブルクリックして開く】

スクリプトを作成して、開きましょう。ダブルクリックすることで開くことができます。

【BakudanGenerator】スクリプトに記述する

BakudanGenerator.cs

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

public class BakudanGenerator : MonoBehaviour
{

    public GameObject BakudanPrefab;
    float span = 1.0f;
    float delta = 0;

    // Use this for initialization
    void Start()
    {

    }

    // Update is called once per frame
    void Update()
    {
        this.delta += Time.deltaTime;
        if (this.delta > this.span)
        {
            this.delta = 0;
            GameObject Bakudan = Instantiate(BakudanPrefab) as GameObject;
            int x = Random.Range(-7, 7);
            Bakudan.transform.position = new Vector3(x, 4, 0);
        }
    }
}

GameObject Bakudan = Instantiate(BakudanPrefab) as GameObject;

【BakudanPrefab】という設計図を作りましたよね。その設計図から実物(インスタンス)を作ったもの【Bakudan】変数にいれてます。

 

 int x = Random.Range(-7, 7);

【x】変数に-7以上7未満の数値をいれています。もっと詳しくしりたい人はUnityで乱数(ランダムの値)を生成する【Random.Range】メソッドの使い方をみてね。

 

 Bakudan.transform.position = new Vector3(x, 4, 0);

【Bakudan】変数にいれたオブジェクトの位置をX軸はxの値、Y軸は4の値、Z軸は0の値に設定しています。

xの値はランダムですから、これによって、様々な場所から【Bakudan】が落ちてきます。

【BakudanGenerator】オブジェクトに【BakudanGenerator】スクリプトをアタッチする

Unityでスクリプトをアタッチする

【Projectウィンドウ】→【BakudanGeneratorスクリプトをHierarchy上のBakudanGeneratorにドラッグ&ドロップする】

まず空のオブジェクトである【BakudanGenerator】とスクリプトである【GameGenerator】スクリプトを紐付けます。

【BakudanGenerator】オブジェクトに【BakudanPrefab】設計図をわたす

Unityでオブジェクトに設計図を渡す

【Hierarchy】→【BakudanGeneratorオブジェクトを選択】→【ProjectウィンドウにあるBakudanPrefabをBakudan Prefabの欄にドラッグ&ドロップする】

ゲームを実行してみよう

Unityでゲームを実行する

工場が完成ですね。

おわりに

Unityでサンプルゲーム終了後

では次の爆弾を避けよ!~9~に行きましょう。

Unityサンプルゲームの「爆弾を避けよ!」の9
【Unity2Dサンプルゲーム】爆弾を避けよ!~9~Unity2Dサンプルゲーム『爆弾を避けよ!』を作っていきます。この記事ではリトライボタンを作成していきます。そのボタンを押すと、ゲームを最初から実行することができます。...
ABOUT ME
さぎのみや
さぎのみや
超書手。現在はUnityメディア「ユニシャー」の運営とゲーム開発がメインです。Unity、ライティング関係のお仕事お待ちしております。 >>詳しいプロフィール >>Amazonほしいものリスト
【Unity3D】新しいサンプルゲーム(チュートリアル)を作りました!!!
Unity有料サンプルゲーム

色々と応用できるサンプルゲームとなっています。ぜひ、作ってみてください。

>>BOOTHでサンプルゲームを見る

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください