スクリプトはシーンに含まれていないプレハブに添付されています。ボタンにはタグがあります。Unityのスクリプトからボタンへの参照を取得する
私は、インスペクタのボタンをドラッグアンドドロップしようとしましたが、エンジンは私を許さないでしょう。私はタグで見つけようとしましたが、「UnityEngine.GameObjectをUnityEngine.UI.Buttonに暗黙的に変換できません」という例外が発生し、キャスト時にこれらの型を組み込み変換で変換できないという例外が発生します。 いくつかお手伝いしますか? ボタンへの参照を取得するにはどうすればよいですか?ここで コードです:
あなたのコードを見てみるとusing UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class TankShooting : MonoBehaviour {
private Transform ShootingCameraTransform;
private PlayerTankMovement playerTankMovement;
public Button shootButton;
// Use this for initialization
void Start() {
shootButton = GameObject.FindGameObjectWithTag ("ShootButton") as Button;
shootButton.onClick.AddListener ((UnityEngine.Events.UnityAction)this.OnShootButtonClick);
playerTankMovement = GetComponent<PlayerTankMovement>();
Transform t = transform;
foreach (Transform tr in t)
{
if (tr.tag == "ShootingCamera")
{
ShootingCameraTransform = tr.transform;
}
}
}
// Update is called once per frame
void Update() {
}
public void OnShootButtonClick()
{
Debug.Log ("Success");
}
}
こんにちはで
を交換したい場合は、次のスクリプトから39617471/3785314)解決策、それを回答として受け入れるのはなぜですか? – Programmer
私はそれが動作するのか分からない。私はボタンを参照する際に問題があります。それがうまくいくなら私はそれを受け入れます。それは左のチェックマークのことですか?あなたはボタンの参照を手伝ってもらえますか? – Rango
はい、チェックマークはupvoteまたはdownvoteイメージではありません。だから、あなたが質問し、あなたが持っている答えがうまくいかない場合は、動作していない答えで新しいものを作成しないでください。代わりに、答えの下にコメントを残してください。私はそれらの人々があなたの質問にもっと答えるのを助けてくれると確信しています。それらを無視して新しい質問にそのコードを使用すると、彼らがあなたの問題を解決したコードが今や別の新しい問題を抱えていることを意味します。 – Programmer