BitmapData を超スムースにスクロールさせる方法(めちゃんこ重い)


ノデラさんリクエストにお応えしてやってみましたよ。今回も AS2 なり。AS3 でもおんなじだと思う。基本的には前回と同じ。ポイントは 2 つ増えて 4 つあるす。

1. 読み込んだやつはそのまま使わずに、新たに作った BitmapData に draw する。
2. _quality は HIGH か BEST で。
3. MovieClip.attachBitmap するときの 3 番目のパラメータを never にする。(auto でも大丈夫かも)
4. MovieClip の _xscale, _yscale を 100 以外にする。

スクロールがカクカクして見えちゃうのは Flash のデフォルトだと 1px 単位でしか移動できないからで、0.5px とか動かしたときにちゃんと 隣同士のピクセルを補完するようにすればスムースになるです。(After Effects とかでいうサブピクセルレンダリング) Flash でも↑のポイントをおさえとくとうまいぐあいにピクセルを補完してくれる。ちょー重いけど。重いからあんましでっかい画像でやると処理がおっつかなくって結局カクカクなる。。デモソース。(あー、ga4 の写真また借りたよー)(デモで画面クリックして _quality を変えてみるとスムースさがよくわかる。むーっちゃ拡大して画像のエッジとかをみるとサブピクセルレンダリングしてるのもわかる。)

「bitmapをカクカクせずに移動する技」ってよくわかんなかったけどこゆことでよかったかしら。。