[過去ログ] 【3Dゲームエンジン】Unity質問スレッド36 (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
530
(1): 名前は開発中のものです。 [sage] 2018/06/27(水) 09:18:58.70 ID:MZGUGuBC(2/2) AAS
>>527
527(1): 名前は開発中のものです。 [sage] 2018/06/27(水) 05:59:28.49 ID:UNiIJaZd(1) AAS
>>526
それは1行で取得&関数呼び出ししてるからだよ。
ただ、取得が失敗した時にエラーになるから分けた方が安全かな。
>>528
528(1): 名前は開発中のものです。 [sage] 2018/06/27(水) 07:45:22.36 ID:3rw/3qxm(1/2) AAS
>>526
>必ず宣言する必要があるのですよね?
そんなことはなく、例えばオブジェクトaにアタッチされたbのメソッドcを使うとして
GameObject.Find("a").GetComponent<b>().c()
と書けばFindでも一行でメソッドを呼び出せる
逆にFindObjectOfTypeで探したbのインスタンスを変数に保存することもできる
何度もbやcを呼び出すときは変数に保存した方が良いというだけ
ありがとうございます。まだちょっと理解できてないのですが
そのGameObject.Find("a").GetComponent<b>().c()は
aというオブジェクトを参照して、それにアセットしてるスクリプトbのメソッドcにアクセス、で
FindObjectOfType<b>().c()では
スクリプトbを参照して、その中のメソッドcにアクセスする、ですよね?

逆に言えば、FindObjectOfTypeではゲームオブジェクトにアセットした
スクリプトにはアクセスできない、ということでしょうか?
でも、FindObjectOfType<Object>でオブジェクトを探せる、とありました。
これはどういうことでしょうか?
この探すObjectというのはGameObject.Findで取得するゲームオブジェクトのことでは無いのでしょうか?
Unity上でのゲームオブジェクトとオブジェクトクラスの違いが理解できていません。
ゲームオブジェクトの中身ってオブジェクトクラスに入ってる情報じゃ無いんですか?

FindObjectOfTypeはゲームオブジェクトに入って居ない
スクリプトにアクセスする時だけ使うってことですか?
534: 名前は開発中のものです。 [sage] 2018/06/27(水) 09:57:12.54 ID:RXVaBhAJ(1) AAS
>>530
FindObject〜自体の挙動を知りたいならまずググれ
ゲームオブジェクトも(スクリプト含む)コンポーネントもobject型の派生だから検索できるが
検索対象はインスタンス化されたものだけで、最初に見つけた一つを返す
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.823s*