NGUIの使い方2

こんばんはヤス虎です(*’-‘)

今回もNGUIの使い方です~

まず前回作りましたサンプルを修正や追加をして下の様にします

SC20131111-1

イキナリ変わってますね~(;´・ω・)

では説明します

ヒエラルキービューのCreate>CubeでBoxを作ります

次にBoxが暗いのでCreate>Directional lightで明かりを作ります

あとは前回作ったラベルとボタンです

ボタンは数が足りないので追加しています

サイズや位置は適当にインスペクタービューのTransformから調整します

ボタンの名称はヒエラルキービューに作ったButton>Labelから編集出来ます

ではBlueボタンの処理を作って行きます

ボタンを押した時に音が鳴るようにします

ヒエラルキービューでButtonを選択してインスペクタービューのUIButton Sound(Script)を下の様にします

SC20131111-2

これで押した時に音が鳴るようになりす

次にボタンが押されたら呼ばれるメッセージを作ります

Buttonが選択された状態でメインメニューの

Component>NGUI>Interaction>Button Messageをクリックすると

インスペクタービューにUIButton Message(Script)が出来るので下の様にします

SC20131111-3

ついでに同じ様にしてボタンが離されたら呼ばれるメッセージも作ります

SC20131111-4

以上のボタンの処理をYellow,Redのボタンにもします

UIButton MessageのFunction Nameはボタンのごとに色の名前に変更しています

ラベルはヒエラルキービューから名称をLabel(Color)に変更しています

あとは下のスクリプト(C#)をBoxにドラッグして完成です(о’д’)b

using UnityEngine;
using System.Collections;

public class box : MonoBehaviour {
	private int buttonNumber;
	private UILabel labelColor;		//NGUIラベル用

	// Use this for initialization
	void Start () {
		buttonNumber = 0;
		renderer.material.color = Color.green;	//マテリアル色変更
		labelColor = GameObject.Find("Label(Color)").GetComponent();		//NGUIのラベル読込み
		labelColor.text = "Green";		//NGUIのラベル書込み

	}

	// Update is called once per frame
	void Update () {
		this.transform.Rotate(0, 100 * Time.deltaTime, 0); 	//boxが回転する
		switch (buttonNumber){
			case 1:	renderer.material.color = Color.blue;	//マテリアル色変更
					labelColor.text = "Blue";		//NGUIのラベル書込み
					break;
			case 2:	renderer.material.color = Color.yellow;	//マテリアル色変更
					labelColor.text = "Yellow";		//NGUIのラベル書込み
					break;
			case 3:	renderer.material.color = Color.red;	//マテリアル色変更
					labelColor.text = "Red";		//NGUIのラベル書込み
					break;
			default:renderer.material.color = Color.green;	//マテリアル色変更
					labelColor.text = "Green";		//NGUIのラベル書込み
					break;
		}

	}
    void BlueButtonPressed()    { this.buttonNumber = 1; }
    void BlueButtonReleased()   { this.buttonNumber = 0; }
    void YellowButtonPressed()  { this.buttonNumber = 2; }
    void YellowButtonReleased() { this.buttonNumber = 0; }
    void RedButtonPressed()     { this.buttonNumber = 3; }
    void RedButtonReleased()    { this.buttonNumber = 0; }

}

サンプルです

回転しているBOXの色が押したボタンの色に変わります

最後に決まり文句の間違ってる所が有るかも知れないです(*´Д`)

まだ続く~

スポンサーリンク
広告336
広告336

シェアする

スポンサーリンク
広告336