new DoTweenerでメモリリーク

ActionScript3.0 — Tags: , , — chimanaco @ 11:05 PM このエントリをはてなブックマークに追加

Progressionで作業中、new DoTweenerのループを作ってSWFProfilerでチェックしていたらメモリがどんどん増えていってしまう。簡略化してるけど要はこんなことをしていました。tween1→tween2→tween1……とループします。

private function tween1():void {
	new SerialList(null,
		new DoTweener(ore, {
			x:500,
			time:1
		}),
		new Func(tween2)
	).execute();
}

private function tween2():void {
	new SerialList(null,
		new DoTweener(ore, {
		x:0,
		time:1
		}),
		new Func(tween1)
	).execute();
}

解決策は以下のページにありました。
Progressionで起きたメモリリーク

こちらで書いておられる通り、DoTweenerでの記述をTweenerに直してみたら改善されました。
Tweenerでの記述はこんなんになりました。

private function tween1():void {
	Tweener.addTween(ore, {
	x:500,
	time:1
	onComplete:tween2
	});
}

private function tween2():void {
	Tweener.addTween(ore, {
	x:0,
	time:1
	onComplete:tween1
	});
}

とりあえずこれでよしとする。
Progressionの次のメジャーアップではメモリ関連の対策に重点が置かれるらしいのでそちらに超期待。
そもそもTweenerのループってもっとンマいやり方あるかも。

0 Comments »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a comment

Comments links could be nofollow free.

This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.
(c) 2010 chimanaco blog | powered by WordPress with Barecity