[過去ログ] 【3Dゲームエンジン】Unity質問スレッド36 (1002レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
528(1): 名前は開発中のものです。 [sage] 2018/06/27(水) 07:45:22.36 ID:3rw/3qxm(1/2) AAS
>>526526(2): 名前は開発中のものです。 [sage] 2018/06/27(水) 05:52:24.02 ID:MZGUGuBC(1/2) AAS
すみません、例えば、ゲーム本筋をまわすManagerスクリプトを作ったとして
そのスクリプト内で、
各ゲームオブジェクトにアセットしたスクリプトのメソッドを使うためには
『 //ゲームオブジェクトを検索し取得する
変数名 = GameObject.Find("オブジェクト名"); 』
を必ず宣言する必要があるのですよね?
しかし、Managerスクリプト内にて
FindObjectOfType<スクリプト名>().メソッド名();
だと、取得抜きで、いきなり他のスクリプトのメソッドを利用できるのは
なぜですか?
>必ず宣言する必要があるのですよね?
そんなことはなく、例えばオブジェクトaにアタッチされたbのメソッドcを使うとして
GameObject.Find("a").GetComponent<b>().c()
と書けばFindでも一行でメソッドを呼び出せる
逆にFindObjectOfTypeで探したbのインスタンスを変数に保存することもできる
何度もbやcを呼び出すときは変数に保存した方が良いというだけ
530(1): 名前は開発中のものです。 [sage] 2018/06/27(水) 09:18:58.70 ID:MZGUGuBC(2/2) AAS
>>527>>528
ありがとうございます。まだちょっと理解できてないのですが
そのGameObject.Find("a").GetComponent<b>().c()は
aというオブジェクトを参照して、それにアセットしてるスクリプトbのメソッドcにアクセス、で
FindObjectOfType<b>().c()では
スクリプトbを参照して、その中のメソッドcにアクセスする、ですよね?
逆に言えば、FindObjectOfTypeではゲームオブジェクトにアセットした
スクリプトにはアクセスできない、ということでしょうか?
でも、FindObjectOfType<Object>でオブジェクトを探せる、とありました。
これはどういうことでしょうか?
この探すObjectというのはGameObject.Findで取得するゲームオブジェクトのことでは無いのでしょうか?
Unity上でのゲームオブジェクトとオブジェクトクラスの違いが理解できていません。
ゲームオブジェクトの中身ってオブジェクトクラスに入ってる情報じゃ無いんですか?
FindObjectOfTypeはゲームオブジェクトに入って居ない
スクリプトにアクセスする時だけ使うってことですか?
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.030s