主人公の動きに合わせて背景が動くスクロール。ゲームではよく使われる技術です。
しかし残念ながらScratchは背景を移動させることはできません。
ただ背景を移動させなくても、スクロールを使ったゲームを作ることはできます。
ここでは3つのやり方を紹介します。
「背景を複数使ったスクロール」
似たような背景を複数用意して、背景を切り替えることで進んでいるように見せる方法です。
パラパラ漫画と同じことをしている感じです。
まずは背景の絵を作ります。似た背景を複数つくるので、物を多く描くと大変なのでシンプルなイラストを描きました。
地面の縦線の位置が違う絵を複数つくり、前に進んでいるように見せます。
作った背景と似た背景を何枚か作ります。
一枚目の背景にある「コピー」をクリックして、左下にある「描く」をクリックして二枚目の背景を用意します。
(「描く」は「背景を選ぶ」のところにマウスを合わせるとでてきます。)
二枚目の背景のページを開いてください。「貼り付け」をクリックして一枚目の背景を二枚目の背景に貼り付けます。
貼り付けたこの絵を少しだけずらします。右に空白ができてしまうので、ペンや塗りつぶしなどで手書きで修正します
三枚目も作ります。これも同様に二枚目の背景を少しずらした背景にします。
作った背景は次の写真の三枚です。
この三枚をずっと切り替わるようプログラムを作ると、スクロールの完成です。
作品ページ
「小さなスプライトを使ったスクロール」
他のスプライトを移動させて、背景が動いているように見せる方法です。
下の図のように木と雲のスプライトを右から左に移動させることで、ネコが走っているように見せています。
木のプログラムは次の図のようになっています。
右から左に移動します。左端に触れたら右端に移動して再び左に移動するプログラムです。
雲のプログラムは木のプログラムの数値を変更しただけでほぼ同じです。
作品ページ
「スプライトを背景の代わりにしたスクロール」
背景と同じ大きさの大きいスプライトを動かして、スクロールさせる方法です。
この方法では二つ以上の背景のスプライトが必要です。
また、横幅いっぱいに地面を描いて、さらに地面の高さが合うように作ると、きれいなスクロールになります。
スプライトを複製して作ると、地面の高さが同じのスプライトが作りやすく、おすすめの方法です。
ここでは、次の背景のスプライトを3つ作成しました。
プログラムを作りますが、少々難しいので図を使いながら説明します。
スプライトの初期位置ですが、一つ目のスプライトのX座標は0。二つ目のスプライトのX座標は画面外の位置にある480になります。
下の図のようになります。赤い線内が画面内です。
スタート時はX座標が0の一つ目のスクリプトしか見えていない状態ですね。
そしてスプライトは常にX座標を-5ずつして、スクロールさせます。
そして、下の図のように二つ目のスプライトのX座標が0になったら次のスプライトをX座標=480で表示させます。
ここまでの流れをプログラムにするとこうなります。
一つ目と二つ目のスプライトに書かれている「もしX座標<-460なら」のところがありますが、これを「もしX座標=-480なら」にしないのは、理由があります。
スプライトには移動の限界があり、画面外に移動しようとしても途中で止まってしまいます。
このスプライトの場合、X座標=-465以下には移動できなかったので、「もしX座標=-480なら」だと、プログラムが起動しなくなります。
作った作品はこちらになります。
作ったページ
またこのスクロールの仕方だと、無限ループも作れます。
無限ループを作る場合、次のプログラムになります。
作ったページ