FC2ブログ
    09 «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.31.» 11

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

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

     

    【ハルシオンブログ】SoftMaskScriptってやつをちょっと使ってみた。 

    こんにちは。
    大坂です。

    急に寒くなってきましたね。
    皆様体調にはお気をつけを。

    uGUI(TextやImage)を簡単にトランジション的なマスクをするのに使える「SoftMaskScript」ってやつの紹介。

    以下のダウンロードページでダウンロードできる
    UnityUIExtensions.unitypackage」の中にある「SoftMaskScript」ってやつですね。
    https://bitbucket.org/UnityUIExtensions/unity-ui-extensions/downloads/

    他にもいろいろはいっていますが。とりあえず「SoftMaskScript」使ってみました。

    使い方は簡単。
    TextとかImageにAddComponentして、
    AlphaMaskにテクスチャを設定してCutOffの数字をいじるだけですね。



    ※クリックすると動くよ

    ちなみにスクリプトからいじる場合はこんな感じ。
    using UnityEngine;
    using UnityEngine.UI.Extensions;
    using DG.Tweening;

    public class Test : MonoBehaviour {

    public SoftMaskScript txtMask;
    public SoftMaskScript imgMask;

    // Use this for initialization
    void Start() {
    DOTween.To(() => txtMask.CutOff, (n) => txtMask.CutOff = n, 1, 2f).SetLoops(2, LoopType.Yoyo);
    DOTween.To(() => imgMask.CutOff, (n) => imgMask.CutOff = n, 1, 2f).SetLoops(2, LoopType.Yoyo);
    }


    ※クリックすると動くよ

    なんか簡単なのに使えるかもしれませんね!
    ではまたノシ

    Category: 開発日記(Unity)

    Tag: Unity  2Dゲーム  uGUI 
    tb 0 : cm 0   

    【ハルシオンブログ】DoTweenのSequenceにOnCompleteつけてやりたいんだけど、うまくいかなかったんよ。結果できました! 

    こんにちは!くっそ暑い日が続いてますね!
    部屋から出たら死にそうになります。坂内です。

    さて、本日はDoTweenの話。
    DoTweenSequenceって皆さんお使いになられてますか?

    簡単に連続してTweenができる優れもの。

    例えば、こんな感じにImageを並べて



    こんな感じにコードを書けば。

    DoTweenTest.cs】
    using UnityEngine;
    using UnityEngine.UI;
    using DG.Tweening;

    public class DoTweenTest : MonoBehaviour {

    public Image[] tiles;

    private void Start() {
    Sequence tileSeq = DOTween.Sequence();
    tileSeq.Append(tiles[0].DOFade(0f, 2f));
    tileSeq.Append(tiles[1].DOFade(0f, 2f));
    tileSeq.Append(tiles[2].DOFade(0f, 2f));
    tileSeq.Play();
    }
    }


    こうなります。



    DoTweenのTweenスタート時、Tween終了時に処理を加えることができます。

    DoTweenTest.cs】
    using UnityEngine;
    using UnityEngine.UI;
    using DG.Tweening;

    public class DoTweenTest : MonoBehaviour {

    public Image[] tiles;

    private void Start() {
    Sequence tileSeq = DOTween.Sequence()
    .OnStart(() => {
    StartProc();
    });
    tileSeq.Append(tiles[0].DOFade(0f, 2f));
    tileSeq.Append(tiles[1].DOFade(0f, 2f));
    tileSeq.Append(tiles[2].DOFade(0f, 2f));
    tileSeq.Play();
    }

    void StartProc() {
    Debug.Log("はじまり");
    }

    void EndProc() {
    Debug.Log("終わり");
    }
    }


    OnStartはちゃんと入るのですが、OnCompleteを書こうとすると、エラーになって書けない…
    書き方がいけないのかな?


    ここじゃない?
    ここ?


    ここも違う?どこ?

    ここも違う!!

    こうなったら先生がゴロゴロしているツイッターにきいてやれ!

    で、先生がいうには。


    なんだって!?ヽ(゚Д゚;)ノ!!

    【DoTweenTest.cs】
    using UnityEngine;
    using UnityEngine.UI;
    using DG.Tweening;

    public class DoTweenTest : MonoBehaviour {

    public Image[] tiles;

    private void Start() {
    Sequence tileSeq = DOTween.Sequence();
    tileSeq.OnStart(() => StartProc());
    tileSeq.Append(tiles[0].DOFade(0f, 2f));
    tileSeq.Append(tiles[1].DOFade(0f, 2f));
    tileSeq.Append(tiles[2].DOFade(0f, 2f));
    tileSeq.OnComplete(() => EndProc());
    tileSeq.Play();
    }

    void StartProc() {
    Debug.Log("はじまり");
    }

    void EndProc() {
    Debug.Log("終わり");
    }
    }


    こんな書き方できるらしいっす。

    さすが先生。

    これで、シーケンス使ったDoTweenで、最初や最後に別関数を呼べますね!

    それでは今日はこれくらいでお暇します。

    あでゅ~ノシ

    Category: 開発日記(Unity)

    Tag: Unity  DoTween  Sequence  uGUI  ゲーム開発 
    tb 0 : cm 0