Holen Sie sich eine Referenz auf ein button-Skript in der Einheit

Das Skript angehängt ist ein Fertighaus, das nicht in einer Szene. Der button hat seinen tag.

Ich versuchte es mit drag und Drop den button in der Inspektor, aber der Motor wird nicht lassen Sie mich. Ich habe versucht, es zu finden, tag für tag, aber ich bekomme eine exception "kann Nicht implizit konvertiert Art UnityEngine.GameObject zu UnityEngine.UI."Und wenn ich werfe, bekomme ich eine exception, die kann ich nicht konvertieren diese Art über die integrierte Konvertierung.
Einige helfen?
Wie bekomme ich eine Referenz auf eine Schaltfläche?
Hier ist der code :

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");

    }
}
  • Hi, seit Sie used dieser Lösung, warum nicht akzeptieren, dass es als Antwort?
  • I"m nicht sicher, dass es funktioniert. Ich habe ein problem, verweisen auf eine Schaltfläche. Wenn es funktioniert werde ich es annehmen. Es ist der Haken, was auf der Links rechts? Können Sie helfen mit dem Verweis auf die Taste?
  • Ja, die Häkchen-Sache nicht den upvote oder downvote Bild. Also, wenn du eine Frage stellst und die Antwort, die Sie bekam, nicht arbeiten, nicht schaffen, eine neue mit die nicht arbeiten Antwort. Stattdessen hinterlassen Sie einen Kommentar unter die Antwort. Ich bin sicher, daß diese Leute bereit sind zu helfen, Sie mehr Ihre Fragen zu beantworten. Wenn man Sie ignorieren und verwenden Sie dann Ihren code in eine neue Frage, es bedeutet, dass der code, den Sie gemacht dein problem gelöst und du bist nun ein neues anderes problem.
  • Dank an den Rat. Ich werde es in der Zukunft
  • Ok, also was ist dein problem?
  • Ich kann nicht per drag & drop die Schaltfläche im Bereich "Informationen" und wenn ich es durch den tag ich kann nicht casten von GameObject auf die Schaltfläche
  • Ok. Ich Schreibe eine Antwort. Für deine alte Frage , dieser ist, wie man annehmen Antwort.
  • Haben Sie den code, wo Sie instanziieren Sie das Fertighaus?
  • Ich bin mit dieser Funktion
  • 'public GameObject gras;' ' Instantiate (gras, new Vector3 (0, 0, 0), Quaternion.Identität);' . Sie müssen nur per drag-and-drop die vorgefertigten auf dieses Skript im Bereich "Informationen"

InformationsquelleAutor Rango | 2016-09-22
Schreibe einen Kommentar