Unity

Unityで生成したプレファブをリストに追加や削除をする

投稿日:2020年1月31日 更新日:

スクリプトを貼り付けるための空オブジェクトの作成

Create → CreateEmptyをおします

Listに入れたオブジェクトを操作する流れ

リストに格納したオブジェクトを消します
①リストの作成
②リストにオブジェクトを追加
③リストに追加されたオブジェクトを指定して消す
という流れになります

入力するスクリプト

using System.Collections;
using System.Collections.Generic;// Listを扱うのに必要
using UnityEngine;

public class ListScript : MonoBehaviour
{
    public GameObject ListObject;// リストに入れるために生成するプレファブ
    public List<GameObject> ObjectList = new List<GameObject>();// プレイファブを入れるリスト
    private int ObjectCount;// 生成したプレファブの数

    // Update is called once per frame
    void Update()
    {
        if (Input.GetMouseButtonDown(0))// もし、右クリックしたら、
        {
            GameObject ListObjects = GameObject.Instantiate(ListObject) as GameObject;// ListObjectsとしてプレファブを生成する
            ListObjects.transform.position = transform.position;// このオブジェクトの位置にプレファブの座標を移動させる
            ListObjects.transform.rotation = Quaternion.identity;// プレファブの向きを元のままにする
            ObjectList.Add(ListObjects);// リストにプレファブを加える
            ObjectCount += 1;// プレファブの数を1増やす
        }

        if (ObjectCount < 1)// もしプレファブの数が1以下なら、
        {
            ObjectCount = 0;// プレファブの数を0にする
        }

        if (Input.GetMouseButtonDown(1))// もし、右クリックしたら、
        {
            Destroy(ObjectList[ObjectCount - 1]);// リストの(プレファブの数-1)番目のオブジェクトを消す
            ObjectList.RemoveAt(ObjectCount - 1);// リストの(プレファブの数-1)番目を削除する
            ObjectCount -= 1;// プレファブの数を1減らす
        }
    }
}

入力したら、スクリプトを空オブジェクトにドラッグ&ドロップし、ListObjectにはプレファブ化したオブジェクトをドラッグ&ドロップします

テストプレイをしてみると

左クリックしたら、プレファブが生成され、

右クリックしたら、プレファブが削除されます

リストを見てみると、リストにも追加されたり、

削除されたりします
これによって敵が大量に出る時の管理がやりやすくなりますね♪

このサイトについて

ここには、自己紹介やサイトの紹介、あるいはクレジットの類を書くと良いでしょう。

検索

このサイトについて

ここには、自己紹介やサイトの紹介、あるいはクレジットの類を書くと良いでしょう。

検索

-Unity

執筆者:


comment

メールアドレスが公開されることはありません。

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

関連記事

漫画で分かるUnity #1 基本操作編

Unityで必ず理解しておいてほしい基本操作を漫画でまとめてみました♪ とりあえず、今からUnity始める人はこの漫画で基本を覚えてからやってみてください

no image

「ゲームが作れる!」と言い切れるようになるために

さて、僕は子どもにゲーム作りを教えてそれによって子どもの表現力を伸ばすという仕事をしています。 その過程でまず習得に必要なツールとして、 ①Scratch これはプログラミングに必要な最低限の知識を習 …

no image

UnityでTextを使って文字を作成する

文字を作成する Create → UI → Textをおします 作成した文字の設定をする 設定の内容 ①文字の座標 ②表示する文字 ③文字の大きさ ④文字の揃える位置 ⑤Overflowにすると全部表 …

Unityで一定間隔で発射する砲台を作る【3D】

今回やること 一定間隔で弾を発射する砲台を作ります 素材の準備 こちらより砲台をダウンロードして、解凍して使ってください 砲台の作成 砲台をHierarchyにドラッグ&ドロップします 弾の作成 Cr …

Unityでスコープ機能を実装する

今回やること 画像のようにキーをおしたらズームするようになります 照準の画像も通常時とズーム時で変わるようにします フォートナイトみたいなゲームでよく使われますね 照準の作成 照準の画像が無い場合はこ …

ゲタバコ倶楽部へようこそ

  • 300739総閲覧数:
  • 22今日の閲覧数:
  • 231532総訪問者数:
  • 19今日の訪問者数:

住所
Akita,Japan

営業時間
月~日: 10:00 AM – 10:00 PM

このページはゲタバコ先生の日々思うことや活動、プログラミングの習得方法を発信するページです。
仕事のご依頼、メッセージ等、サービス概要をご覧の上で、お気軽にご連絡ください。

getabakosensei@gmail.com