Como ligar um botão GUI textura a um script em Unity3D

? user3244633 @ | Original: StackOverFlow
---

Preciso de ajuda para fazer um botão Texture GUI costume, iniciar um script em um objeto 3D quando é tocado em Unity3D para android .

Eu tenho um botão GUI para rodar um modelo 3d no pressionado. O script a seguir (C #), eu tenho está trabalhando O.K. quando o botão é criado 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;
        }

Eu quero em vez do botão no código para adicionar meu costume botão Texture GUI (nomeado OrbitBtn ), assim por diante touch, para iniciar o modelo 3d girando em torno de seu eixo .

Por favor, me dar alguns conselhos sobre como atingir essa funcionalidade. Obrigado a todos antecipadamente por suas respostas .

---

Top 5 Responder

1Karthik @

Basta alterar a textura btnTexture1, ou você pode clicar e os arquivos de imagem arrastar e soltar para seus scripts, uma vez que você tenha declarado btnTexture1 como público.

Ou, se você quiser fazer o mesmo em javascript aqui é o código de exemplo .

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

//Button press action
}

Portanto, neste código de exemplo, eu estou carregando uma imagem (pausa . *) Para o botão. Certifique-se de que você tem a imagem dentro de uma pasta chamada "Recursos" na sua pasta de ativos.