シヴァのブログ

UnityやUE4や趣味とかいろいろ...

開発メモ 「NGUIのまとめ(スクリプトから動的動作)」

ここでは、NGUIのまとめを書いていく。

…まとめというのは、

主に、

NGUIをスクリプトから動的に動作できるようなプログラムのこと。

<<注意>>JavaScriptのみ

 

分かり次第ここに書いていきます。

 ***************************************************************************

  • Tween

画像(Sprite)移動

var title = GameObject.Find("title_sprite");

TweenPosition.Begin(title, 1, Vector3(-50, 60, 0));

 

画像(Sprite)拡大・縮小

var title = GameObject.Find("title_sprite");

TweenScale.Begin(title, 1, Vector3(1, 1, 1));

 

画像(Sprite)回転

var title = GameObject.Find("title_sprite");

・X軸を中心に回転

TweenRotation.Begin(title, 0.5, Quaternion.AngleAxis(180, Vector3.right));

・Y軸を中心に回転

TweenRotation.Begin(title, 0.5, Quaternion.AngleAxis(180, Vector3.up));

・Z軸を中心に回転

TweenRotation.Begin(title, 0.5, Quaternion.AngleAxis(180, Vector3.forward));

***************************************************************************

画像(Sprite)の表示をON,OFF

var startButton_bg = GameObject.Find("startButton_bg").GetComponent(UISprite);

startButton_bg.enabled = true;//ON

startButton_bg.enabled = false;//OFF

 

コライダ―(collider)の表示をON,OFF

var background = GameObject.Find("background").GetComponent(BoxCollider);

background.enabled = true;//ON

background.enabled = false;//OFF

***************************************************************************

  • テキスト表示

テキスト(Label)の表示

var test : String = "test";

var output : UILabel = GameObject.Find("title_label").GetComponent(UILabel);

output.text = test;

 

テキスト(Label)の色を変化(赤色)させて表示

output.color = Color.red;

***************************************************************************

  •  画像(Sprite,Atlas)の切り替え

画像(Sprite)の切り替え

(※アトラス(Atlas)はあらかじめInspector上で設定しておく)

var flag : boolean = false;//切り替えるためのフラグ

var title : UISprite = GameObject.Find("title_sprite").GetComponent(UISprite);

if(flag == true){
            title.spriteName = "title_1";

}else{
            title.spriteName = "title_2";

}

 

画像(Atlas & Sprite)の切り替え

(※アトラス(Atlas)はあらかじめHierarchy上に置いておく。以下参照)

f:id:shivaT:20140115231552p:plain

var chara = GameObject.Find("chara_sprite");
var chara_sprite : UISprite = chara.GetComponent.<UISprite>();
var Atlas : GameObject = GameObject.Find("atlas/chara01_2Atlas");
var chara_atlas = Atlas.GetComponent.<UIAtlas>();
chara_sprite.atlas = chara_atlas;
chara_sprite.spriteName = "2-3-2";

 

で出来る。

あと、

よくInstantiate(Resources.Load(atlasName))というのを見かけるが、

これは、Resourcesフォルダの中にあるatlasNameというものを、

ロードして、Instantiate(生成)するという意味です。

つまり、

var Atlas : GameObject = GameObject.Instantiate(Resources.Load("Atlas/chara01_2Atlas"));

と書き、以下のように配置することで、違った方法でAtlasを変更できます。

f:id:shivaT:20140121233813p:plain

***************************************************************************

 

…あとは、

「NGUI: Next-Gen UI kit」を参考にして下さい。

確か、公式?のはずです。

英語で書かれていますが、なんとなくで察して下さい。

最初は、どこに何が書かれているか分からないと思いますが、

開発して利用しているうちに分かってきますので…。

 

END.