前回は BG画面とテキストの統合について まとめましたが、今回はそれを引き継いで、マップのスクロールあたりを試したいとおもいます。
今回のお題はスクロールするマップ
前回 まとめたように、テキスト部分の大幅な強化がプチコン4のポイントのひとつな気がします。
テキストの一部が書き換え可能で、それで背景を構成する!なんて、昔のBASICでは憧れの機能でした。欲しかったなぁ、シャープのX1… あと JR-100/200 とか、PCG 機能の追加ボードとか… (懐古モード)
さて、この拡張されたテキスト(に統合されたBG機能)を使って、よくあるスクロールするマップを作って動作を試してみましょう。
プチコン3号との違い
プチコン3号では、スクロールするマップ作成にはまず BGSCREEN 命令で、BGレイヤーの大きさを指定しました。プチコン4 では BG* は T* に置き換わっていますので、TSCREEN 命令で同様に設定できます。で、注目点はココ!
幅×高さが32768まで指定可能
プチコン3号の倍のサイズのマップが定義できるようになっています!
あと、細かいですが BGOFS に対応する TOFS の座標系が変わっていることに注意。マニュアルによると
THOMEで設定したテキストスクリーン上の座標を、TOFSで設定した画面上の座標に持って行く
と考えるそうで、そしてプチコン4では座標系が左上原点に統一されたため、BGOFS とは動きが逆になっています。例によって簡易的に関数で対応するなら以下な感じ。
DEF BGOFS X,Y,Z
TOFS -X,-Y,Z
END
まあ、XとYが逆に動く、ってだけで。ハマるほどの問題ではないですねw
全体的を通して、命令の名前変更以外で、プチコン3号との大きな違いは感じませんでした。既存ゲームの移植など、わりと楽にできそうな気がしてきました。
今回のサンプル
今回のサンプル・プログラムは、RPGとかでよくある風の、マップのスクロールを実装してみました。
サンプルを起動すると例の赤い戦士君が居ますので、左の上下左右ボタンでマップ中を動かしてください。戦士君は中央に固定で向きを変えるだけで、周りのマップがスクロールしていきます。障害物を進めない判定もアリ。Bボタンで終了です。
プログラム最初のWとHの値を変えると、マップの広さが変わるので試してみてくださいね。
THOME を使っていない、歩ける場所が1種類しかない、かなり手抜きなプログラムなんですけど。でもまあ、こんな短いプログラムで、ソコソコ動くサンプルが作れるのは、プチコンならではという気がしますね。
というわけで
プチコン4 でいろいろ遊びつつ、プチコン3号からの変更点を中心に試し、まとめています。まとめることで自分の中で整理でき、より理解が深まった気がします。
今後もいろいろ試しつつ、こうやってまとめてみたいと思います。
ではでは!