Come collegare un pulsante di GUI Texture a uno script in Unity3d

? user3244633 @ | Original: StackOverFlow
---

Ho bisogno di aiuto per creare un pulsante Texture GUI personalizzata, avviare uno script su un oggetto 3D quando viene toccato in Unity3d for android .

Ho un pulsante di GUI per ruotare un modello 3d su premuto . La seguente ( C # ) script, ho ricevuto sta lavorando O.K. quando il pulsante viene creato progrmaticaly :

using UnityEngine;
using System.Collections;

public class RotateButtonBheaviour : MonoBehaviour {

private bool mIsRotated = false;
private bool mMustRotate = false;
private GameObject Cube;

// Use this for initialization
void Start () {
    Cube = GameObject.Find ("MarkerObject");
}

// Update is called once per frame
void Update () {
    if (mMustRotate && !mIsRotated) {
        //Rotate all models 45 degrees around X
        if (Cube != null) {
            GameObject modelUnderChipsTrackable = Cube.transform.GetChild(0).gameObject;
            modelUnderChipsTrackable.transform.RotateAround(new Vector3(1,0,0), Mathf.PI/3);

        }
        mIsRotated = true;
        mMustRotate = false;
    }


public Texture btnTexture1;

void OnGUI() {
    if (!btnTexture1) {
        Debug.LogError("Please assign a texture on the inspector");
        return;
    }
    if (GUI.Button(new Rect(10, 10, 120, 30), btnTexture1))
        if (!mIsRotated) {
            mMustRotate = true;
        }

Voglio invece del pulsante nel codice per aggiungere il mio tasto GUI Texture personalizzato ( chiamato OrbitBtn ), così il tatto, per avviare il modello 3D rotante attorno al suo ascia .

Per favore, dammi qualche consiglio su come realizzare tale funzionalità . Grazie a tutti in anticipo per le vostre risposte .

---

Top 5 Risposta

1Karthik @

Basta cambiare la texture btnTexture1, oppure è possibile fare clic e trascinare i file di immagine - drop per gli script, in quanto è stato dichiarato btnTexture1 come pubblico .

Oppure, se si vuole fare lo stesso in javascript ecco il codice di esempio .

if(GUI.Button(Rect(Screen.width*.85,Screen.height*0,width,width),Resources.Load("pause") as Texture))
{

//Button press action
}

Quindi, in questo codice di esempio, sto caricando un'immagine (pausa . *) Al tasto . Assicurarsi di avere l'immagine all'interno di una cartella denominata "Risorse " nella cartella di asset .