TweenMaxのoverwriteプロパティ調査

挙動の違い。Flashエリアをクリックすると車が動きます。
結論としては、デフォルト(=2)をメインに、必要に応じて0と1を使い分けることになりそう。
上書きされたトゥイーンは、onCompleteも発生しない模様。
※内容が正しくない可能性があります。

This site requires flash player 9 or later.

Get Adobe Flash player

overwrite = 0

OverwriteManager.NONE

上書きしない。
パフォーマンスは一番いいらしい。
onCompleteはトゥイーンごとに実行される。

//すべての行が実行される。同じプロパティが重複している間は、先に設定されたトゥイーンが反映されるっぽい。
TweenMax.to(car, 1, { x: 350, delay: 0, overwrite: 0 });
TweenMax.to(car, 2, { x: 350, delay: 0, overwrite: 0 });
TweenMax.to(car, 3, { x: 350, delay: 1.5, overwrite: 0 });

This site requires flash player 9 or later.

Get Adobe Flash player

overwrite = 1

OverwriteManager.ALL_IMMEDIATE

すべて上書き。
delayが設定してあってもトゥイーンするプロパティが違っていても、記述があった時点で上書きされる。
とにかく書いた順に上書きされるということらしい。

TweenMax.to(car, 1, { y: -15, delay: 0, overwrite: 0 });
TweenMax.to(car, 2, { x: 350, delay: 0, overwrite: 0 });
TweenMax.to(car, 3, { x: 350, delay: 1, overwrite: 0 });	//上書きされるので、有効なのはこの行のみ

This site requires flash player 9 or later.

Get Adobe Flash player

overwrite = 2

OverwriteManager.AUTO

同じプロパティを上書きする。
デフォルトの設定。 onCompleteはプロパティごとに実行される。

TweenMax.to(car, 3, { y: -15, delay: 0, overwrite: 2 });	//この行はプロパティが違うので上書きされない
TweenMax.to(car, 2, { x: 350, delay: 0, overwrite: 2 });
TweenMax.to(car, 2, { x: 350, delay: 1, overwrite: 2 });	//1秒後にxが上書きされる

This site requires flash player 9 or later.

Get Adobe Flash player

overwrite = 3

OverwriteManager.CONCURRENT

動いていたらトゥイーンを上書き。
delayを見て動いているトゥイーンを上書きする。
プロパティごとの上書きではないので、違うプロパティでも上書きされる。

TweenMax.to(car, 3, { y: -15, delay: 0, overwrite: 3 });
TweenMax.to(car, 2, { x: 350, delay: 0, overwrite: 3 });	//delay0同士で上書きされて
TweenMax.to(car, 2, { x: 350, delay: 1, overwrite: 3 });	//1秒後に上書きされる

This site requires flash player 9 or later.

Get Adobe Flash player

overwrite = 4

OverwriteManager.ALL_ONSTART

優先的にトゥイーン。
同時にトゥイーンさせると、delayの値が一番小さく、かつ、その中で最後に記述されたトゥイーンが実行される。
滅多に使わないとのこと。

TweenMax.to(car, 3, { y: -15, delay: 0, overwrite: 4 });
TweenMax.to(car, 2, { x: 350, delay: 0, overwrite: 4 });	//この行のみが有効
TweenMax.to(car, 2, { x: 350, delay: 1, overwrite: 4 });
下の例ではdelayの値が同じなので、最後の行のみ実行される。
TweenMax.to(car, 3, { y: -15, delay: 1, overwrite: 4 });
TweenMax.to(car, 2, { x: 350, delay: 1, overwrite: 4 });
TweenMax.to(car, 2, { x: 350, delay: 1, overwrite: 4 });	//この行のみが有効

This site requires flash player 9 or later.

Get Adobe Flash player

overwrite = 5

OverwriteManager.PREEXISTING

優先的にトゥイーン。ただし、overwrite=4とは違い、delayも反映される。
overwrite=3との違いがイマイチ不明。

TweenMax.to(car, 3, { y: -15, delay: 0, overwrite: 5 });
TweenMax.to(car, 2, { x: 350, delay: 0, overwrite: 5 });	//delay0は後に記述したこの行が実行されて
TweenMax.to(car, 2, { x: 350, delay: 1, overwrite: 5 });	//1秒後にこの行が実行される。