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

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

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

     

    【ハルシオンブログ】DotweenのシーケンスがPlayをしなくても勝手に動いてた謎。あれ?知らないの俺だけだった? 

    こんにちは。坂内っす。
    なんか今日は暖かいですね。
    このまま暖かい日が続けばいいのですが・・・・

    ポケットガール~受け継がれし希望~よろしくお願いします。
    URL(Android):https://play.google.com/store/apps/details?id=com.halcyon.pocketgirl3
    URL(iOS):https://itunes.apple.com/jp/app/id1539553611

    PV:


    DoTweenのシーケンスの謎。
    Sequenceって作ると勝手にうごきません?

    今までずっと謎だったんですよね。

    こんな画面で、


    こんなコード書くと

    [Blog0122.cs]

    using UnityEngine;
    using UnityEngine.UI;
    using DG.Tweening;

    public class Blog0122 : MonoBehaviour
    {
    [SerializeField] GameObject imgWhite;
    [SerializeField] Button btnStart;

    Sequence sequence;

    void Start()
    {
    sequence = DOTween.Sequence()
    .Append(imgWhite.transform.DOLocalMoveX(100f, 1f))
    .Append(imgWhite.transform.DOLocalMoveY(1f, 1f))
    .Append(imgWhite.transform.DOLocalMoveX(1f, 1f))
    .Append(imgWhite.transform.DOLocalMoveY(100f, 1f))
    .Append(imgWhite.transform.DOScale(3.5f, 0.3f));

    btnStart.onClick.AddListener(MoveWhite);
    }

    void MoveWhite() {
    sequence.Play();
    }

    }



    実行したときに勝手に動きますよね。
    ボタン押されたときにPlayってやってるのに・・・・



    これちゃんとDoTweenのInitして自動で動かない設定をしてあげるといいらしいです。


    using UnityEngine;
    using UnityEngine.UI;
    using DG.Tweening;

    public class Blog0122 : MonoBehaviour
    {
    [SerializeField] GameObject imgWhite;
    [SerializeField] Button btnStart;

    Sequence sequence;

    void Start()
    {
    DOTween.Init();
    DOTween.defaultAutoPlay = AutoPlay.None;


    sequence = DOTween.Sequence()
    .Append(imgWhite.transform.DOLocalMoveX(100f, 1f))
    .Append(imgWhite.transform.DOLocalMoveY(1f, 1f))
    .Append(imgWhite.transform.DOLocalMoveX(1f, 1f))
    .Append(imgWhite.transform.DOLocalMoveY(100f, 1f))
    .Append(imgWhite.transform.DOScale(3.5f, 0.3f));

    btnStart.onClick.AddListener(MoveWhite);
    }

    void MoveWhite() {
    sequence.Play();
    }

    }



    DOTween.Init();
    DOTween.defaultAutoPlay = AutoPlay.None;

    この2行を入れてあげるとちゃんとボタン押したときに動くようになります。
    また、Initをしないと初めの動き出し時にカクカクってなってたのがなくなります。




    これ知らんかったです。

    DoTween使ってるみんなは知ってた??

    DoTween.Initのお話でした。


    では、あでゅ~ノシ

    Category: 開発日記(Unity)

    tb 0 : cm 0   

    コメント

    コメントの投稿

    Secret

    トラックバック

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