第6回は「縦に長いマップをつくろう」です。
(背景をつくろうを最初から見る場合はこちら)
今度は縦スクロールシューティング風の背景をつくっていきたいと思います。
基本的には第5回の横スクロールと同じです。
※これから紹介するのは別のスクロール方法になりますので、横スクロールのプログラムを残したい場合は別のファイルに保存するか、プログラムの下の方にコピーして退避しておいて下さい
第5回のプログラムを以下のように調整してください。
13行目 MY=3(画面数分)に変更
31~39行目 スクロール部分を縦に移動するように変数、座標を変更

「画面の初期位置」の解説
横スクロールでは左上の画面(0,0から開始するエリア)からスクロールを始めていたため必要ありませんでしたが、今回は下から上に向かってスクロールしていく(0,0のエリアから開始ではない)ため、初期位置を設定する必要があります。
初期位置は「作成した画面数分だけ下に設定」しないとなりません。
そのため式としては、最初の画面に追加で作成した画面数分(MY-1)だけ下の画面から開始となるので、1画面の縦幅240ピクセル分を画面数分(MY-1)だけ差し引く形の
となります。
実行結果はこちら(動画です)
スクロールをループさせよう
横スクロールの時と同様に37行目の「THEN」以降の部分を初期位置とすることで、再度最初からスクロールさせることができます。
今回の初期位置は先程設定したように「Y_SC=-240*(MY-1)」になります。
あわせて以下のように調整してください。
44行目~ 追加で4画面目(1画面目と同じ背景)を作成
ここでの「4画面目」というのは「スクロールの最後の画面」になりますのでデータとしては上に足すことになります。
(下に足すと最初に表示されてしまう)
データとしてはこのような形です。

縦スクロールは初期位置の関係上、少しややこしくなりますね。
実行結果はこちら(動画です)
スクロールさせながらキャラクターを動かそう
折角なので背景がスクロールしている中、キャラクターを動かせるようにしてみましょう。
以下のように調整してください。
44~49行目 キャラクターを動かす処理を追加


実行結果はこちら(動画です)
(キャラクターの動かし方は初心者講座03で紹介したものと同じです)
縦スクロールでファンタジー風のキャラや背景だと、ファミコンのキングスナイトみたいですねw
次回はロールプレイングゲーム風のスクロールをつくっていきたいと思います。
第6回は以上になります。
背景を作ろうのトップに戻る場合はこちら

コメント