さて、Laboratoryテーマ29「メッセージを1ドットスムーズスクロールで流したい」その@です。
「ガリウスの迷宮」のメッセージの1ドットスムーズスクロールについて考えます。
見る限り、メッセージ行間に1行の空白行があります。
ですので、2行1セットでスクロールさせているのは明白。
で、基本的にアルファベットの大文字のみ使用。(最後に数字出てきますが4文字)
...と、いう事で、アルファベットの小文字は空白にして、その下の行に大文字をセットし、大文字から小文字へ1ドットシフトすればよいと考えました。
まず、仮に画面には小文字の行とその下に大文字の行をセット。
解り易いように左は内部、右が編集状態で表示しています。
小文字は空白、大文字には文字パターンがセットされています。
それを1ドットずつ上にシフトします。
8ドット分上にシフトしたら、8ドット一気に下にシフトし、文字パターンをシフト開始前の状態に戻して、画面全体を1行分上にスクロールします。
後はこれをメッセージ行分繰り返すだけです。
理屈的には簡単です。
…が、この方法ですと8ドット上シフトが終わり、文字パターンを元に戻して、メッセージを1行上スクロールさせるとき、一瞬チラつきとガタつきが発生します。
なぜならその一瞬に、24行分のメッセージ書き換えと、「空白になっていた大文字にパターンを戻す」、「文字パターンのある小文字を空白にする」時の書き換え処理に時間的ズレがあるため、その瞬間がどうやっても見えてしまうためです。
次回はこの現象が解消できないか考えます。
【このカテゴリーの最新記事】
-
no image