Wie man ein GUI Texture -Taste, um ein Skript in Unity3d verlinken

? user3244633 @ | Original: StackOverFlow
---

Ich benötige Hilfe, um eine benutzerdefinierte GUI Schaltfläche Textur machen, starten Sie ein Skript auf einem 3D -Objekts im Unity3d für Android berührt wird .

Ich habe eine GUI- Schaltfläche, um ein 3D-Modell drehen auf gedrückt . Die folgende (C # ) Skript, ich habe funktioniert O.K. wenn die Taste progrmaticaly erstellt:

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;
        }

Ich möchte statt der Schaltfläche in der Code, um meine benutzerdefinierte GUI- Texture -Taste ( benannt OrbitBtn ) usw. Note hinzuzufügen, um das 3D-Modell um seine Axt zu drehen beginnen .

Bitte, geben Sie mir einige Ratschläge, wie man diese Funktionalität zu erreichen . Ich danke Ihnen allen im Voraus für Ihre Antworten.

---

Top 5 Antwort

1Karthik @

Ändern Sie einfach die Textur btnTexture1, oder Sie können Ihre Skripte klicken und Drag & Drop Bilddateien, da Sie btnTexture1 als öffentlich erklärt haben .

Oder wenn Sie dasselbe in Javascript tun wollen ist hier das Beispiel -Code .

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

//Button press action
}

Also in diesem Beispielcode Ich bin Laden eines Bildes (Pause . * ) Auf die Taste. Stellen Sie sicher, dass Sie das Bild in einem Ordner mit der Bezeichnung "Ressourcen" in der Vermögens Ordner haben.