Quantcast
Channel: C#タグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 9703

オブジェクトを複製しよう(Prehub)

$
0
0

前置き

C#なら一度書けば覚えるのに、Unity関係の機能は何度やっても覚えられない……。(-_-)zzz
ゲームのステージ作るのにPrehub使いたいのになあ。( ;∀;)
このブログは何のためにあるのか、それは覚えるのが面倒なもののメモのためだー!(定期)

ここから本編スクリーンショット (226).png

3分Prehubクッキング
1分目 

Prehubにしたいオブジェクトを作りましょう。

2分目 
PrehubにしたいオブジェクトをAsset内にドラック&ドロップしましょう。

3分目 
Prehubにしたいオブジェクトが青くなったのを確認して、お茶を飲みましょう。


大量生産!大量消費!

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


Viewing all articles
Browse latest Browse all 9703

Trending Articles