【3Dゲームエンジン】Unity質問スレッド29at GAMEDEV
【3Dゲームエンジン】Unity質問スレッド29 - 暇つぶし2ch90:名前は開発中のものです。
17/05/26 16:54:28.58 nZys6g5+.net
本を読んでわからないコードが出てきたので質問させてください
Sceneに、ObjectState.csというスクリプトをアタッチしたCubeを3つ
何もアタッチしてないCapsuleが1つあります
GameObject[] goArray = (GameObject[])
GameObject.FindObjectsOfType (typeof(GameObject));
foreach (GameObject go in goArray) {
ObjectState z = go.GetComponent<ObjectState> ();
if (z == null || z == this) { 
continue; 
}
//処理
}
まず1行目なんですが、GameObject[]型へのキャストの型を、GameObject型にするとエラーになるのはなんででしょうか。
error CS0030: Cannot convert type `UnityEngine.Object[]' to `UnityEngine.GameObject'
GameObject[]にGameObjectを代入が制限されるケースってあるんですか?
それと、4行目のコードでgoArrayの要素にObjectStateコンポーネントがアタッチされてるか調べてると書いてあったんですけど、
これはgoにObjectStateコンポーネントを追加して代入してるふうにしか読めません。
しかしplayボタンを押すと、CapsuleにObjectStateコンポーネントは追加されずに本に書いてあるコード通りに動きます。
どなたか回答お願いします。


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch