08/01/13 23:38:09 r4lMdqkm
>>536
Timer の呼び出しも究極的には ContinousHandler の呼び出しと同じタイミングだよ。
interval が大きいと遅れがまにあうからみえにくくなるだけ。
1秒に一回、2倍程度ってのは、vsync 待ちそのものが怪しかったりして。
タイミング誤差累積の影響が1秒単位ででそうな気がする。なんとなく。
結局吉里吉里では、Timer も ContinuousHandler もタイミングの保障はないから、
レイヤーの移動処理とかに使う場合は、CotinousHandler なら引数でわたされてる tick、
Timer なら System.getTickCount を使って、移動開始時の tick との差分から
「現在あるべき座標」を計算してそこに表示するべきかと。そうすれば、移動が止まったり
動いたりといった意味でのカクつきはなくなる。そのかわりコマおちするけど。
ゆっくり動かす場合は、レイヤの座標がピクセル単位だから、どうしてもドット単位での
カクつきが見えちゃって気になるけどねw これはパフォーマンスを気にしないなら、
別レイヤにaffineCopyするようにすると、座標指定に実数がつかえるので、すごい
なめらかに動いてるように見せることができる。
いろんなものを動かすなら、処理タイミングが全部一致する(引数のtickが同じ)&直後に
画面再描画があるのが保障される、ってのがあるので、開発版をつかって -contfreq
指定しつつ ContinuousHandler を使ったほうがいいと思う。