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に近いらしいからエラーになるのかも