FC2ブログ
08 «1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.» 10

ハルシオンシステムの気ままBlog

株式会社ハルシオンシステムのメンバーが送る、UnityやらJavaやらの技術的話題から、自社開発のアプリの宣伝とかとかのブログです。ほんと気ままにいきたいと思います。更新日は毎週 月 木でっす!

 

【ハルシオンブログ】ポップアップの出し入れの演出とか、ちょっと手を加えてシュッと出すだけで見栄えが変わりますよね! 

おはようございます。
今週はお盆でございますな。でも仕事です。坂内っす。

みなさん帰省でしょうか?私は実家に住み着いてるので、いつもどおり飲み以外で家でません。はい。

さて、Unityのお話。

ゲームを作っていく上で、ポップアップを出す機会って結構ありますよね。

こんな感じに。



なんか味気ないですよね。

そんな時は、DoTweenを使いましょ。




こんな感じになったりします。

【Popup.cs】
using UnityEngine;
using DG.Tweening;

public class Popup : MonoBehaviour {

private void Start() {
transform.localScale = new Vector3(0f,0f,0f);
transform.DOScale(1f,0.2f);
}

public void OnClose() {
Sequence seq = DOTween.Sequence();
seq.Append(transform.DOScale(0f, 0.2f));
seq.OnComplete(() => DestroyWindow());
seq.Play();
}

void DestroyWindow() {
Destroy(gameObject);
}
}


他にも、こんな感じにしたり・・・



【Popup.cs】
using UnityEngine;
using DG.Tweening;

public class Popup : MonoBehaviour {

const float MOVE_TIME = 0.4f;

private void Start() {
GetComponent<CanvasGroup>().alpha = 0;
transform.localPosition = new Vector3(0f,600f,0);
transform.localScale = new Vector3(0f,0f,0f);
Sequence seq = DOTween.Sequence();
seq.Join(GetComponent<CanvasGroup>().DOFade(1f, MOVE_TIME * 2));
seq.Join(transform.DOLocalMoveY(0f, MOVE_TIME));
seq.Join(transform.DOScale(1f, MOVE_TIME));
seq.Play();
}

public void OnClose() {
Sequence seq = DOTween.Sequence();
seq.Join(GetComponent<CanvasGroup>().DOFade(0f, MOVE_TIME));
seq.Join(transform.DOLocalMoveY(-600f, MOVE_TIME));
seq.Join(transform.DOScale(0f, MOVE_TIME));
seq.OnComplete(() => DestroyWindow());
seq.Play();
}

void DestroyWindow() {
Destroy(gameObject);
}
}


ポップアップの出し入れにもちょっとした工夫をすると見栄えが良くなりますよね!

簡単にできるのでお試しあれ!

それでは皆さんお盆休み楽しんでください!

あでゅ~ノシ
スポンサーサイト

Category: 開発日記(Unity)

tb 0 : cm 0   

コメント

コメントの投稿

Secret

トラックバック

トラックバックURL
→http://halcyonsystemblog.blog.fc2.com/tb.php/527-656f203f
この記事にトラックバックする(FC2ブログユーザー)