###前提・実現したいこと
スマホで遊べるphotonを使ったオンラインゲームを開発中です。
Photonによってプレイヤーのログインによって生成したキャラクターを、
ジョイスティックやボタンといったCanvas上のUIで操作できるようにしたいと考えています。
###発生している問題・エラーメッセージ
プレハブのキャラクターに、ProjectのResourceフォルダ内にある段階で、
ボタンでのOnClickの割り当て、
scriptで設定したjoystickの項目へのドラッグ&ドロップによる割り当てを行っても、
ゲームを実行すると、それらでキャラクターを操作することができません。
実行(ログイン)して生成されるキャラクターがCloneであるため、
改めて手動でつけるしかない状態です。
ビルドすると手動で割り当てなどはできませんので、
scriptなどにより、生成されたキャラクターに対して、
ボタンやjoystickが自動で割り当てられるように設定したいのですが、
その方法をご教示いただくことはできないでしょうか?
###エラー
割り当てた後、エラーは出ずに実行できますが、シンプルに操作が効きません。
joystickについては、
scriptにてGameObject.FindWithTagでタグ付けして探させますと、
froat v = joystick.Vertical;
froat h = joystick.Horizontal;
と書いた箇所に対して、
error CS1061: 'GameObject' does not contain a definition for 'Vertical' and no accessible extension method 'Vertical' accepting a first argument of type 'GameObject' could be found (are you missing a using directive or an assembly reference?) error CS1061: 'GameObject' does not contain a definition for 'Horizontal' and no accessible extension method 'Horizontal' accepting a first argument of type 'GameObject' could be found (are you missing a using directive or an assembly reference?)
というエラーが発生します。
joystickのオブジェクトをドラッグ&ドロップで割り当てたときは発生しなかったのに、この発生する原因もよくわかりません。。
使用言語:C#
試したこと
joystickやボタンもプレハブ化してみれば、割り当てが継続されるかなと、
無知ながら試してみたのですが、操作できるようになりませんでした。
補足情報(FW/ツールのバージョンなど)
joystickは、Asset:Joystick Packを使用
Photon Classicでオンラインは試しており、次のようにキャラクターのプレハブを生成(Instantiate)しています。
public GameObject playerPrefab; void Start() { if (!PhotonNetwork.connected) { SceneManager.LoadScene("Launcher"); return; } GameObject Player = PhotonNetwork.Instantiate(this.playerPrefab.name, new Vector3(0f, 0f, 0f), Quaternion.identity, 0); }
初歩的な疑問ですが、他の方々は、キャラクターをInstantiateで生成した場合、
どのようにタッチパネルで操作できるようにされているのか気になります。
ご教示いただけると大変幸いです。
あなたの回答
tips
プレビュー