ズボラ応援ブログ始めました

Unity入門(4) プレハブを使ってオブジェクトを複製する

Unity入門シリーズ第4弾です。

今回はプレハブ(Prefab)を使ってオブジェクトを複製していきましょう。

ランダムな場所からランダムなスピードで落ちてくる障害物を複製していきます。

前回の記事:衝突判定とアニメーション

プレハブを使ってオブジェクトを複製しよう

プレハブを作成する

複製するオブジェクトをプロジェクトビューへドラッグするとプレハブが作成されます。

プレハブをクリックしてF2を押すとリネームできるので、わかりやすく名前を変えます。この例ではmonsterPrefabとしておきます。

オブジェクトを作成するスクリプトを書く

スクリプトファイルを作成する

プロジェクトビューで「Create」-「C# Script」を選択してスクリプトファイルを作成する。

スクリプトにコードを書く

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MonsterCreator : MonoBehaviour {
public GameObject monsterPrefab;
void Start()
{
InvokeRepeating("CreateMonster", 1, 2);
}
void CreateMonster()
{
Instantiate(monsterPrefab, new Vector3(Random.Range(-2.5f, 2.5f), 6, 0), Quaternion.identity);
}
}

InvokeRepeatingは一定時間ごとに指定のメソッドを呼び出すようにする関数です。

第1引数で指定したメソッドを、第2引数で指定した秒数が経った後、第3引数で指定した秒数間隔で呼び出します。

CreateMonsterメソッドではランダムな位置にプレハブを出現させてます。

スクリプトをオブジェクトに紐づける

今回はスクリプトを紐づけるオブジェクトがないので、空のオブジェクトを作成します。

ヒエラルキービューで「Create」-「Create Empty」を選ぶと空のGameObjectが作成されます。

スクリプトをドラッグして空のGameObjectにドロップします。

ヒエラルキービューで空のGameObjectを選択している状態でInspectorを見るとプレハブを指定する項目があるので、プロジェクトビューからプレハブをドラッグ&ドロップします。

実行する

オブジェクトが複製されてどんどん落ちてくるのを確認してください。

次の記事:スクリプトからテキストの表示を切り替える

タイトルとURLをコピーしました