####前置き
C#なら一度書けば覚えるのに、Unity関係の機能は何度やっても覚えられない……。(-_-)zzz
ゲームのステージ作るのにPrehub使いたいのになあ。( ;∀;)
このブログは何のためにあるのか、それは覚えるのが面倒なもののメモのためだー!(定期)
####ここから本編
3分Prehubクッキング
1分目
2分目
3分目
大量生産!大量消費!
using UnityEngine;
//最初にステージを生成する
public class stagecreate : MonoBehaviour
{
//スクリプトにPrehubをアタッチする
public GameObject fields;
void Start()
{
//Prehubを作成
GameObject field = Instantiate(fields) as GameObject;
//ここで位置情報を入力したり、名前を変えたり、後はお好みで。
}
}
Instantiate関数ってのを使います。Prehubを生成する関数という認識で大丈夫!('ω')
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Control : MonoBehaviour
{
void Update()
{
//一定範囲内にいないとこのオブジェクトを破壊する
if(this.transform.position.x > 50)
{
Destroy(this.gameObject);
}
}
//何かに当たったら反応
void OnTriggerStay(Collider other)
{
//当たったものが"weapon"だったらこのオブジェクトを破壊
if (other.gameObject.name == "weapon")
{
Destroy(this.gameObject);
}
}
}
参考までに作ったPrehubを破壊するオブジェクト。(Prehubである必要は特にない)
Prehubに直接このスクリプトをアタッチすれば動いてくれる。('ω')ノ
たくさんPrehubを破壊する場合はプールという機能を使えばいいらしいけど、勉強不足なので、勉強後にそれについてもメモ書いとこうかなあ(計画倒れになるやつ)
Instantiate関数についてはこれが詳しく書いてくれてます。(*^^)v
オブジェクト生成の仕方 Instantiate
https://qiita.com/Teach/items/c28b4fe5ca8dc4c83e26#prefab%E3%81%AEtransform%E3%81%AE%E3%81%BE%E3%81%BE%E3%81%A7%E7%94%9F%E6%88%90%E3%81%99%E3%82%8B%E5%A0%B4%E5%90%88