- Home /
My OnGUI() Won't show the Button elements :(
This is my entire code, i put into my Texture2D varaibles a Sprite elements (each button has a PNG sprite).... When i press play, nothing happens, the buttons won't appear. please help!
using UnityEngine; using System.Collections; using UnityEngine.UI; // Is this needed? =O [ExecuteInEditMode]
public class MainMenuUIControllerScript : MonoBehaviour {
public Texture2D playButtonTexture;
public Texture2D highscoreButtonTexture;
public Texture2D optionsButtonTexture;
public Texture2D quitButtonTexture;
public Texture2D musicOnButtonTexture;
public Texture2D musicOffButtonTexture;
public float playButtonOffSetX;
public float playButtonOffSetY;
public float highscoreButtonOffSetX;
public float highscoreButtonOffSetY;
public float optionsButtonOffSetX;
public float optionsButtonOffSetY;
public float quitButtonOffSetX;
public float quitButtonOffSetY;
public float musicOnButtonOffSetX;
public float musicOnButtonOffSetY;
public float musicOffButtonOffSetX;
public float musicOffButtonOffSetY;
public int setNativeWidth;
public int setNativeHeight;
public GUIStyle style;
public bool isMusicOn;
// Use this for initialization
void Start () {
isMusicOn = false;
}
// Update is called once per frame
void Update () {
}
void OnGUI ()
{
AutoResize (setNativeWidth, setNativeHeight);
if (GUI.Button (new Rect (playButtonOffSetX, playButtonOffSetY, playButtonTexture.width, playButtonTexture.height), playButtonTexture))
{
Debug.Log ("You pressed Start");
}
if (GUI.Button (new Rect (highscoreButtonOffSetX, highscoreButtonOffSetY, highscoreButtonTexture.width, highscoreButtonTexture.height), highscoreButtonTexture, style)) {
Debug.Log ("You pressed highScore");
}
if (GUI.Button (new Rect (optionsButtonOffSetX, optionsButtonOffSetY, optionsButtonTexture.width, optionsButtonTexture.height), optionsButtonTexture, style)) {
Debug.Log ("You pressed Options");
}
if (GUI.Button (new Rect (quitButtonOffSetX, quitButtonOffSetY, quitButtonTexture.height, quitButtonTexture.width), quitButtonTexture, style)) {
Debug.Log ("You pressed quit");
}
// if (isMusicOn == true) { // // if ( GUI.Button (new Rect ( musicOnButtonOffSetX, musicOnButtonOffSetY, musicOnButtonTexture.height, musicOnButtonTexture.width), musicOnButtonTexture, style)) // isMusicOn = false; // { // // Debug.Log ("You pressed On Button, to turn off sound"); // // } // // } // // if (isMusicOn == false) { // // if (GUI.Button (new Rect( musicOffButtonOffSetX, musicOffButtonOffSetY, musicOffButtonTexture.height, musicOffButtonTexture.width),musicOffButtonTexture, style)) // isMusicOn = true; // { // // Debug.Log ("You pressed Off Button, to turn on sound"); // // } // // }
}
public void AutoResize (int nativeWidth, int nativeHeight)
{
Vector2 aspectRatio = new Vector2 ((float)Screen.width / nativeWidth, (float)Screen.height / nativeHeight);
GUI.matrix = Matrix4x4.TRS (Vector3.zero,Quaternion.identity,new Vector3(aspectRatio.x, aspectRatio.y, 1.0f));
}
}
Your answer
Follow this Question
Related Questions
GUI Style Issue-- Texture not changing 2 Answers
Distribute terrain in zones 3 Answers
Problem with rect and touch 1 Answer
2D Texture Not Loading 0 Answers