(:3[kanのメモ帳]

個人ゲーム開発者kan.kikuchiのメモ的技術ブログ。月木更新でUnity関連がメイン。

(:3[kanのメモ帳]


本ブログの運営者kan.kikuchiが個人で開発したゲームです!


GameObjectがDestroyされたタイミングでTweenを停止するSetLink【Unity】【DOTween】


このエントリーをはてなブックマークに追加

この記事でのバージョン
Unity 2020.3.11f1


はじめに

Unityで位置や大きさなどのアニメーション、

いわゆるTweenを実装するアセットとしてお馴染みのDOTween

DOTween Pro | Visual Scripting | Unity Asset Store


そんなDOTweenを使う際、以下のような感じでDOTweenでTween設定したオブジェクトを削除すると、

「Tweenさせるオブジェクトがないよ!」的なメッセージが表示されます。

//DOTweenの移動しようとしたのに
transform.DOMove(Vector3.zero, 10);

//なぜか直後に削除
Destroy(gameObject);
f:id:kan_kikuchi:20190721045458j:plain


そんな時はSetLinkを使うとGameObjectがDestroyされたタイミングでTweenを停止し、

警告が出ないようにする事が出来ます。(UniRxのAddToのようなイメージ)

//DOTweenの移動開始、と同時にこのGameObjectが削除された自動で止めるように紐付ける
transform.DOMove(Vector3.zero, 10).SetLink(gameObject);

//直後に削除しても警告が出ない
Destroy(gameObject);


ちなみにそもそも警告自体を非表示にする事も可能です。