前置き
C#なら一度書けば覚えるのに、Unity関係の機能は何度やっても覚えられない……。(-_-)zzz
ゲームのステージ作るのにPrehub使いたいのになあ。( ;∀;)
このブログは何のためにあるのか、それは覚えるのが面倒なもののメモのためだー!(定期)
ここから本編![スクリーンショット (226).png]()
3分Prehubクッキング
1分目
2分目
3分目
大量生産!大量消費!
prehub.cs
usingUnityEngine;//最初にステージを生成するpublicclassstagecreate:MonoBehaviour{//スクリプトにPrehubをアタッチするpublicGameObjectfields;voidStart(){//Prehubを作成GameObjectfield=Instantiate(fields)asGameObject;//ここで位置情報を入力したり、名前を変えたり、後はお好みで。}}Instantiate関数ってのを使います。Prehubを生成する関数という認識で大丈夫!('ω')
destroy.cs
usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;publicclassControl:MonoBehaviour{voidUpdate(){//一定範囲内にいないとこのオブジェクトを破壊するif(this.transform.position.x >50){Destroy(this.gameObject);}}//何かに当たったら反応voidOnTriggerStay(Colliderother){//当たったものが"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
