[過去ログ] 【ゲームエンジン】Unityなんでも質問スレpart11 (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
67
(2): 名前は開発中のものです。 [] 2023/08/11(金) 19:01:37.44 ID:/Wy+OxKS(4/7) AAS
transformについて質問です
あるオブジェクトをGameobject.Findで見つけて、その子を取得したいと思います
その場合このようなコードになります
canvasを取得して、そのあとテキストgame objectを検索します

GameObject ui_canvas;
Transform text;
void Start()
{
ui_canvas = GameObject.Find("uiCanvas");
text = ui_canvas.transform.Find("text");
print(text);
}

子でもゲームオブジェクトであることに代わりはないと思うのですが、なぜtransform型なのでしょうか
71
(1): 名前は開発中のものです。 [sage] 2023/08/11(金) 19:54:31.66 ID:Yt1EJqlB(5/12) AAS
>>67
Text取得すんならワザワザtransform型にしなくても、Text型にしとけゃよくね?

何故そんなコードにしたん?
89
(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がアタッチされたゲームオブジェクトが取得できるから
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.033s