プチコン4 背景をつくろう6「縦に長いマップをつくろう」

サンプル

第6回は「縦に長いマップをつくろう」です。
(背景をつくろうを最初から見る場合はこちら

 

今度は縦スクロールシューティング風の背景をつくっていきたいと思います。

基本的には第5回の横スクロールと同じです。

※これから紹介するのは別のスクロール方法になりますので、横スクロールのプログラムを残したい場合は別のファイルに保存するか、プログラムの下の方にコピーして退避しておいて下さい

 

第5回のプログラムを以下のように調整してください。

44行目~ 縦に長いマップデータ(3画面分=45行分のデータ)の作成
13行目 MY=3(画面数分)に変更
31~39行目 スクロール部分を縦に移動するように変数、座標を変更
 
そしてスクロール部分を調整する際に
33行目 画面の初期位置の設定
を行う必要があります。
 
 
 
 

「画面の初期位置」の解説

横スクロールでは左上の画面(0,0から開始するエリア)からスクロールを始めていたため必要ありませんでしたが、今回は下から上に向かってスクロールしていく(0,0のエリアから開始ではない)ため、初期位置を設定する必要があります。

 

初期位置は「作成した画面数分だけ下に設定」しないとなりません。

そのため式としては、最初の画面に追加で作成した画面数分(MY-1)だけ下の画面から開始となるので、1画面の縦幅240ピクセル分を画面数分(MY-1)だけ差し引く形の

Y_SC=-240*(MY-1)

となります。

 

実行結果はこちら(動画です)

 

 

スクロールをループさせよう

横スクロールの時と同様に37行目の「THEN」以降の部分を初期位置とすることで、再度最初からスクロールさせることができます。

今回の初期位置は先程設定したように「Y_SC=-240*(MY-1)」になります。

IF Y_SC>=0*(MY-1) THEN Y_SC=-240*(MY-1)

 

あわせて以下のように調整してください。

13行目 MY=4
44行目~ 追加で4画面目(1画面目と同じ背景)を作成

 

ここでの「4画面目」というのは「スクロールの最後の画面」になりますのでデータとしては上に足すことになります。
(下に足すと最初に表示されてしまう)

データとしてはこのような形です。

縦スクロールは初期位置の関係上、少しややこしくなりますね。

 

実行結果はこちら(動画です)

 

スクロールさせながらキャラクターを動かそう

折角なので背景がスクロールしている中、キャラクターを動かせるようにしてみましょう。

以下のように調整してください。

15~17行目 キャラクターのスプライト、変数を設定
44~49行目 キャラクターを動かす処理を追加

 

 

実行結果はこちら(動画です)

(キャラクターの動かし方は初心者講座03で紹介したものと同じです)

縦スクロールでファンタジー風のキャラや背景だと、ファミコンのキングスナイトみたいですねw

 

次回はロールプレイングゲーム風のスクロールをつくっていきたいと思います。

 

第6回は以上になります。

第7回「ドラクエ風の大きなマップをつくろう」へ進む

 

背景を作ろうのトップに戻る場合はこちら

 

コメント

タイトルとURLをコピーしました