Try Unity _4 GUITextureのクリックイベント③
今回はGUITexure(_bt1)をクリックした際に、別のGUITexter(_pop1)を
上からスライドインして、表示してみます。
GUITexter(_pop1)は、画面の上になるように配置します。
画面の上からスライドインさせたいので、インスペクター上での
PixelInsetの設定位置は、
x位置:0
y位置:画面解像度の高さ(僕のPCはフルHDなんで1080にしてます)
width:表示する画像の幅サイズ
height:表示する画像の高さサイズ
public float incX = 0f; public float incY = 50f; GameObject obj = null; bool pop1_flg=false; void OnMouseDown() { if (gameObject.name == "_bt1") { obj = GameObject.Find("_pop1"); if (obj) { //クリックされたオブジェクトの名前が_bt1の時の処理 pop1_flg = true; } else if (gameObject.name == "_bt2") { //クリックされたオブジェクトの名前が_bt2の時の処理 } } } void Update() { if (pop1_flg==true) { //pop1_flgがtrueの時、 _pop1のゲームオブジェクトを取得 GameObject g = GameObject.Find("_pop1"); Rect tmp = g.guiTexture.pixelInset; if (tmp.y >= 0) { //pop1のpixelInset y位置を変数で指定した分ずつ減算し、0以下になるまで繰り返す tmp.y -= incY; g.guiTexture.pixelInset = tmp; } } }
今回は、原始的にupdate内で行いましたが、スライドインや、フェードイン、スライドアウトやフェードアウトなど
視覚効果を伴うものはitweenというプラグインを利用するととっても便利にできるようです。
itweenはposition、scale、rotationなどのプロパティを自由にアニメーション(Tween)させるAssetです。
次回はitweenを使ってみようと思います。