araragi_dev2021/10/01 13:53YOshimさん ご回答ありがとうございます。以下のコードをStartに入れてみました。 「GameObject joystick = GameObject.Find("Dynamic Joystick");」 しかし実行するとエラーが表示されてしまいました。 GameObject型のjoystickにはDynamic Joystickオブジェクトが代入されていそうですが、 エラー文から、おそらく生成したインスタンスにJoystickオブジェクトが正常に設定できていないようです。 お手数おかけいたしますが、ご教授願えませんでしょうか? (どうにかしてDynamicJoystick型のjoystick変数に、GameObject方のDynamic Joystickオブジェクトが入れば解決するのでしょうか?しかし型が違うのでどのようにしたらいいかわからず…またGetComponentを使えばできるとの情報がありますが、そのやり方が調べても良くわかりません…) 素人質問で大変恐縮ですが、よろしくおねがいします。 ■エラー NullReferenceException: Object reference not set to an instance of an object UnityChan.UnityChanControlScriptWithRgidBody.FixedUpdate () (at Assets/unity-chan!/Unity-chan! Model/Scripts/UnityChanControlScriptWithRgidBody.cs:87) ■ソースコード一部 ~抜粋~ public DynamicJoystick joystick; // 初期化 void Start () { // Animatorコンポーネントを取得する anim = GetComponent<Animator> (); // CapsuleColliderコンポーネントを取得する(カプセル型コリジョン) col = GetComponent<CapsuleCollider> (); rb = GetComponent<Rigidbody> (); //メインカメラを取得する cameraObject = GameObject.FindWithTag ("MainCamera"); // CapsuleColliderコンポーネントのHeight、Centerの初期値を保存する orgColHight = col.height; orgVectColCenter = col.center; Gameobject joystick = GameObject.Find("Dynamic Joystick"); //Dynamic Joystickという名前のオブジェクトを探す Gameobject型 } // 以下、メイン処理.リジッドボディと絡めるので、FixedUpdate内で処理を行う. void FixedUpdate () { //ここも追記修正した if (!photonView.IsMine) { return; } //joystickを使った入力 float h = joystick.Horizontal; float v = joystick.Vertical; ~抜粋~
YOshim2021/10/01 23:47joystick = GameObject.Find("Dynamic Joystick").GetComponent< DynamicJoystick >(); とすれば良いです
araragi_dev2021/10/02 03:16ありがとうございます!正常に動きました!朝早くからご回答いただき本当に感謝致します! Dynamic Joystickオブジェクトというより、DynamicJoystickスクリプトをjoystickに代入し、そのスクリプト内の変数を使えるようにした…と解釈しました
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/10/01 13:53
2021/10/01 23:47
2021/10/02 03:16