はなちるのマイノート

Unityをメインとした技術ブログ。自分らしくまったりやっていきたいと思いますー!

【Unity】DoTweenのKillメソッドとCompleteメソッドの違い

はじめに

DoTweenの停止方法として
・Pause
・Kill
・Complete
があると思います。

Pauseはなんとなく分かると思うのですが、KillとCompleteはやや違いが分かりづらいような気がしました。

ということでその違いについて調べていきたいと思います!


KillとCompleteの違い

これらの決定的な違いは最後の状態でしょう。

こちらの画像をみてみてください。

f:id:hanaaaaaachiru:20190302153127g:plain

このように
KillではKillが実行した状態で停止する
Completeではゴール地点まで一気に移動する
ことが分かります。

加えて
KillではOnCompleteが呼ばれない
CompleteではOnCompleteが呼ばれる
ことも異なります。

実は正しくないかも?

確かに無引数では最後の状態が違いといえるでしょう。
ただKillメソッドの引数をtrueにすると状況が変わってきます。

下の画像をみてみてください。

f:id:hanaaaaaachiru:20190302154232g:plain

実はKillはゴール地点まで一気に移動OnCompleteを呼ぶこともできます。

結局なにが違うの?

私が調べている範囲では無限ループのときに異なる挙動になるようです。

下の画像をみてください。

f:id:hanaaaaaachiru:20190302160124g:plain

これから
KillではKillが実行した状態で停止する
Completeでは停止しない
ということが分かります。

さらにどちらもOnCompleteは呼ばれないという結果になりました。

さいごに

これらをみる限りKillの方が使い勝手が良い?という印象を受けました。