【大喜利】【投稿~8/16】最新のお掃除ロボットの説明書に書いてあった驚くべきこと

タイトルの通りです。
サイトで検索しても、子オブジェクトの破壊の方法について記載されてるものがとても少なくて困っています。
30くらいの子オブジェクトの中から、ランダムに例えば3個だけ選んで一気にでも1つずつでもどちらでもいいですが、破壊する場合のC#のプログラムの書き方がわかりません。
子を有する親の持つスクリプト上から操作する形です。
わかる方、教えてください。よろしくお願いします。

A 回答 (3件)

Transformクラスのリファレンスには「シーン内のすべてのオブジェクトは Transform を持ちます。

Transform はオブジェクトの位置、回転、スケールを格納し、操作するために使用されます。 すべての Transform は親を持ち、階層的に位置、回転、スケールを適用することができます。これはヒエラルキーウインドウで階層を見ることができます。 また、以下のようにループを使って子の Transform を使用する列挙体をサポートしています。」とあり、Pblic関数の項目にGetChild「インデックスから子の transform を取得します」とあり、Static関数の項目にDestroy「ゲームオブジェクトやコンポーネント、アセットを削除します」とあります。
また、GameObjectクラスのリファレンスには変数の項目にtransform「GameObject にアタッチされている Transform」とあります。
リファレンス読まれましたか?
    • good
    • 0
この回答へのお礼

Transformのリファレンス読んでみました。まだUnityの初心者という事もあって、わからない部分が多々あると思うのですが、なんというかズバリ、ランダムに子オブジェクトを消すには、こういうプログラムを書けばいいんだよ。という風にわかりやすく教えてもらわないと、ちょっと、わからないんです。もちろん、子オブジェクトを削除する方法をいくつか実際にプログラムで試してはいますが、この質問のタイトルのランダムに選んだものを破壊するというもののプログラムの書き方がわからないため、質問した次第です。

お礼日時:2018/04/26 14:21

”子オブジェクト 破壊 unity” で検索したら


http://nosnoomemo.hatenablog.com/entry/2015/10/1 …
なんてのがヒットしたんだけど, これはだめ?
    • good
    • 0
この回答へのお礼

回答ありがとうございます。リンクのは既に見てました。結構色々見て、実際にプログラム上で、試したりもしたのですが、ダメでした。リンクのものは、ランダムに選んだものをというのではないため、どう応用すればいいのかがわからずに、できませんでした。

お礼日時:2018/04/26 14:18

ランダムAPIで配列の中のどれを破棄するかを決定してその後破棄処理でよいかと。



どのような破棄処理を実装をしているかは分からないから何とも言えないけれどこんな感じかな。

private void dispouseChildObject(){
int dispouseIndex=Random.Range(0,子オブジェクトの配列またはList.Length-1);

~dispouseIndexを使って破棄処理~

}
    • good
    • 0
この回答へのお礼

回答ありがとうございます。考え方がわからないというのではなく、その肝心の破棄処理の実装自体が何なのかがわからないのです。サイトで”子オブジェクト 破壊 unity”で検索しても出てくるのは子オブジェクト全てを破壊するものばかりで、個別にランダムに破壊するというものの文法がのっていませんでした。

お礼日時:2018/04/26 12:04

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!