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

|