[過去ログ] 【ゲームエンジン】Unityなんでも質問スレpart11 (1002レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
84(2): 名前は開発中のものです。 [] 2023/08/12(土) 10:11:34.14 ID:23T7TNTu(1/8) AAS
質問です
ヒエラルキー上のオブジェクトで、スクリプトがついているかどうか判別する方法はないでしょうか?
アイコンでついててくれればいいんですが
>>8282(1): 名前は開発中のものです。 [sage] 2023/08/11(金) 21:58:11.02 ID:ry9UUaUJ(1) AAS
GameObjectはUnityEngineのシリアライズ機能を持ったObject型を継承したGameObject型
コンポーネントはMonoBehaviourを継承したそれぞれの型で、MonoBehaviourは基底クラスを辿るとBehaviour型→Component型→Object型を継承している
コンポーネントはゲームオブジェクトにアタッチするからゲームオブジェクトの派生クラスのように見えるけど、実はゲームオブジェクトとは先祖が同じ別人で別の型だから、GameObject型を取得する関数でコンポーネントは取得できない
transform.findで、特定のゲームオブジェクトを起点とした、子ゲームオブジェクトを取れるのが良くわからんのですよね
子ゲームオブジェクトはゲームオブジェクト型じゃないのだろうかと
86: 名前は開発中のものです。 [] 2023/08/12(土) 11:14:50.36 ID:23T7TNTu(2/8) AAS
>>8585(3): 名前は開発中のものです。 [] 2023/08/12(土) 10:39:35.73 ID:Gpugp7Yq(1/3) AAS
>>84 もしかしたらあるのかもだけど、こんなページ見つけました
【Unity】ScriptがアタッチされているObjectを探す
外部リンク:atelier-hinata.hatenablog.com/entry/2020/07/30/111702
>transform.findで、特定のゲームオブジェクトを起点とした、子ゲームオブジェクトを取れるのが良くわからんのですよね
公式によると
外部リンク[html]:docs.unity3d.com
戻り値
The returned child transform or null if no child is found.
てことなので、戻るのはtransform をもっているobjectですね
Gameoject.Find とか違うものでしょう
回答どうも
このような見た目に出来ないでしょうか?
外部リンク:assetstore.unity.com
以前、ヒエラルキー2という無料ツールがあったのですが、廃止されたようです
外部リンク:assetstore.unity.com
88: 名前は開発中のものです。 [] 2023/08/12(土) 11:36:47.65 ID:23T7TNTu(3/8) AAS
>>85
つまり、トランスフォームでもオブジェクトを取得出来るんですね 良く分かりませんが完全な理解は無理ですし 受け入れます(*´ω`*)
91: 名前は開発中のものです。 [] 2023/08/12(土) 13:18:23.41 ID:23T7TNTu(4/8) AAS
敵に触れたときにgameover uiを表示したいのですが、startなどにsetactive(false)をセットしておかないとだめなのですよね。
スタート時にヒエラルキーにgameover uiオブジェクトが存在しない状態だと、gameover uiを取得出来ないので、アクティブにも出来ないという理解です
>>8989(2): 名前は開発中のものです。 [sage] 2023/08/12(土) 12:03:12.27 ID:+4x1ZtpL(1/2) AAS
>>84
まず前提としてtransform.findでGameObject型は取れないよ
transform.findは子のゲームオブジェクトじゃなくて子のTransformを取得する
>>67の
GameObject ui_canvas;
Transform text;
void Start()
{
ui_canvas = GameObject.Find("uiCanvas");
text = ui_canvas.transform.Find("text");
print(text);
}
をよく読めば分かるけどフィールドのtextはTransform型で用意されてる
このコードはtextゲームオブジェクトは取得していない
じゃあなんで皆Transform型を探すかというと、TransformにはgameObjectプロパティがあって、このプロパティを使う(Transform.gameObject)とTransformがアタッチされたゲームオブジェクトが取得できるから
子のコンポーネントを取得しているのですね、、、。
取得したtransformコンポーネントから、上位にアクセスすることで、ゲームオブジェクトの取得にも使えるって理解で。
94: 名前は開発中のものです。 [] 2023/08/12(土) 14:17:12.43 ID:23T7TNTu(5/8) AAS
>>9393(1): 名前は開発中のものです。 [sage] 2023/08/12(土) 13:42:02.60 ID:H7jk2wl7(1) AAS
Findなんか使わずに最初からpublicなメンバ(変数)として持っとけばいいだろう
なんで初心者向けのサイトはFindを使わせたがるんだろうないずれ全く使わない方がいいとわかるのに
あーなるほど、そのやり方もあるんですね
インスペクタに表示させるやつですね
findは非推奨だったりするんですか?
95: 名前は開発中のものです。 [] 2023/08/12(土) 14:27:00.27 ID:23T7TNTu(6/8) AAS
たしかにシリアライズフィールドのほうが楽だわ(*´ω`*)、、、
96: 名前は開発中のものです。 [] 2023/08/12(土) 15:30:04.80 ID:23T7TNTu(7/8) AAS
シリアライズフィールド神ありがとう(*´ω`*)
98: 名前は開発中のものです。 [] 2023/08/12(土) 15:39:38.37 ID:23T7TNTu(8/8) AAS
はい
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.040s