【3Dゲームエンジン】Unity質問スレッド2at GAMEDEV
【3Dゲームエンジン】Unity質問スレッド2 - 暇つぶし2ch9:名前は開発中のものです。
12/07/29 21:42:59.57 Lxzto2px
>>7
var myScrpt = playerObj.GetComponent("testScript");
これだとmyScriptはUnityEngine.Component型になっている
ComponentにはtestFuncというメソッドは無いのでBCE0019のエラーが出る

var myScrpt = playerObj.GetComponent.<testScript>();
これは指定された型で返されるのでmyScrptはtestScript型になりtestFuncも呼び出せる

var myScrpt : testScript = playerObj.GetComponent("testScript");
これはmyScriptはtestScript型になるがGetComponentが返すのはComponentなので暗黙の型変換が行われる
暗黙の型変換のルールが分からないがこれで失敗するのであれば明示的な型変換(キャスト)を行う

キャストする場合は以下のようにする
var myScrpt = (testScript)playerObj.GetComponent("testScript");
var myScrpt = playerObj.GetComponent("testScript") as testScript;

HTMLとかで使うJavaScriptだとエラーにならず動いたりするけれど
UnityのJavaScriptはJScript.NETに近いらしいからエラーになるのかも


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