強制スクロール関係+α
<強制スクロール(カメラは右にスクロール)> STZ $1411 ;水平スクロールなし。ルナマジ等で設定してるなら不要です。 LDA $14 ;ここから下三行は2フレームに1回動作させる処理なので、速度によっては不要です。 AND #%00000001 BNE RETURN STZ $55 ;描画モード関係のRAM。縦スクや逆スクの場合必須のようです。 ;通常のカメラが右に動いてく強制スクロールの場合不要です。 REP #$20 ;16bitに INC $1462 ;カメラの位置を右にズラす(デフォの強制スクと同じように) SEP #$20 ;8bitに戻す LDA $0077 ;ここから下は画面端に当たっていたらそれを壁扱いする処理 AND #$80 CMP #$80 BNE RETURN LDA #$01 ;スクロールのスピードをここに入力 STA $007B RETURN RTL INC $1462のところをDEC $1462(1フレームに1つカメラを左に)にすれば逆スク。DEC $1464(1フレームに1つカメラを下に下げる)とすれば上っていく縦スク。同様の方法で下がっていく縦スクも作れます。 INCやDECは1つずつ増やす、減らすですが、イッキに5とか10とか増やしたりしたい時はどうすればいいか。 上のスクロールで、例えば5増やしたい時は、 LDA $1462 CLC ;キャリーフラグをクリア ADC #$05 STA $1462 これをINC $1462の代わりに入れればOKだと思います。 逆に5減らしたい時は、 LDA $1462 SEC ;キャリーフラグをセット SBC #$05 STA $1462 とすればOKだと思います。 詳しくは鬼畜王氏のサイトを参照してください。
BACK