FC2ブログ
    04 «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.» 06

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

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

     

    【ハルシオンブログ】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 1   

    コメント

    通りすがりです
    最初の書き方でも大丈夫ですが、OnCompleteがonCompleteになっているのでエラーが出ているのかと思います

    #- | URL | 2021/02/03 09:27 [edit]

    コメントの投稿

    Secret

    トラックバック

    トラックバックURL
    →http://halcyonsystemblog.jp/tb.php/521-c066f039
    この記事にトラックバックする(FC2ブログユーザー)