グローバルなスキン
他のスキンを設定することで任意のポイントで GUI の見た目を変更することができます。もし null を設定した場合、skin はデフォルトの Unity スキンに戻ります。
// Press space to change between added GUI skins. var s1 : GUISkin[]; private var hSliderValue : float = 0.0; private var vSliderValue : float = 0.0; private var hSValue : float = 0.0; private var vSValue : float = 0.0; private var cont : int = 0; function Update() { if(Input.GetKeyDown(KeyCode.Space)) cont++; } function OnGUI() { GUI.skin = s1[cont%s1.Length]; if(s1.Length == 0){ Debug.LogError("Assign at least 1 skin on the array"); return; } GUI.Label (Rect (10, 10, 100, 20), "Hello World!"); GUI.Box(Rect(10, 50, 50, 50), "A BOX"); if (GUI.Button(Rect(10,110,70,30), "A button")) Debug.Log("Button has been pressed"); hSliderValue = GUI.HorizontalSlider (Rect (10, 150, 100, 30), hSliderValue, 0.0, 10.0); vSliderValue = GUI.VerticalSlider (Rect (10, 170, 100, 30), vSliderValue, 10.0, 0.0); hSValue = GUI.HorizontalScrollbar (Rect (10, 210, 100, 30), hSValue, 1.0, 0.0, 10.0); vSValue = GUI.VerticalScrollbar (Rect (10, 230, 100, 30), vSValue, 1.0, 10.0, 0.0); }
using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { public GUISkin[] s1; private float hSliderValue = 0.0F; private float vSliderValue = 0.0F; private float hSValue = 0.0F; private float vSValue = 0.0F; private int cont = 0; void Update() { if (Input.GetKeyDown(KeyCode.Space)) cont++; } void OnGUI() { GUI.skin = s1[cont % s1.Length]; if (s1.Length == 0) { Debug.LogError("Assign at least 1 skin on the array"); return; } GUI.Label(new Rect(10, 10, 100, 20), "Hello World!"); GUI.Box(new Rect(10, 50, 50, 50), "A BOX"); if (GUI.Button(new Rect(10, 110, 70, 30), "A button")) Debug.Log("Button has been pressed"); hSliderValue = GUI.HorizontalSlider(new Rect(10, 150, 100, 30), hSliderValue, 0.0F, 10.0F); vSliderValue = GUI.VerticalSlider(new Rect(10, 170, 100, 30), vSliderValue, 10.0F, 0.0F); hSValue = GUI.HorizontalScrollbar(new Rect(10, 210, 100, 30), hSValue, 1.0F, 0.0F, 10.0F); vSValue = GUI.VerticalScrollbar(new Rect(10, 230, 100, 30), vSValue, 1.0F, 10.0F, 0.0F); } }