今回つくるゲーム
難易度
この記事でも順番に作り方を解説しますがくわしくははYouTube動画で確認してください。
まずはゲームをプレイしてみましょう。
コースを作る
まずは、コースを作っていきます。この手の横スクロールゲームのコースを作る場合は、クローンを活用したマップチップを使うケースが多いですが、今回はクローンを使わずに一つのコスチュームにコースすべてを書いていきます。
以下のように新しいスプライトを作り、横長のコースを作っていきます。

今回はこのコースを6倍(600%)にして横スクロールコースを作っていきますが、このままではスクラッチのルール上、600%までは拡大できません。そこで裏技を使います。
以下のようにもう一つ極小のコスチュームを作り、「ドット」と名付けます。

そして、以下のようにコードを書きます。まずはコスチュームをドットにして600%にしてからコスチュームをコースに変えることで600%まで拡大することが可能となります。
(このときにちょうど上下の黒い部分がかからないように調整をします。)

振り子の考え方
では、ここからネコがコースにぶら下がって振り子運動ができるようにしていきます。
振り子は以下のように支点を中心にひもにつながったおもりが弧を描いて運動します。

この運動を詳しくみていくと、おもりは横だけを見るとバネのように左右に動いています、それを支点からの距離を一定にすると振り子運動になります。

振り子の運動をプログラムで書いていくときは以下のような考え方になります。おもりを横に少し動かして、そこからひもの長さになるまで下におろす。それを繰り返していくと振り子運動になります。

しかし!今回のゲームではおもり(ネコ)は左右に動きません。左右に動くのは支点になります。つまりこのような動きになります。

この考え方をもとにコードを書いていきます。
振り子のプログラムを組む
では、ここからコードを書いていきます。
支点のスプライト
まずは支点のスプライトから解説していきます。支点のコスチュームは2種類用意します。
「飛んでるとき」は20×20の正方形ですが、「ぶらさがり時」はそれに加え、左右にふたつの四角を端に配置し横長のコスチュームとします。左右の赤い四角は最終的に透明にします。


コードは以下の通りです。

ネコのスプライト
次にネコのスプライトです。まず、コスチュームですが以下のように書きます。「ぶらさがり」のコスチュームは、以下のように真横にして手の先の方に中心が来るように設定します。

そしてネコのコードは以下に書きます。位置調整の定義を作るときには「画面を再描画せずに実行する」にチェックを入れておきます。

ひものスプライト
さいごにひものスプライトです。拡張機能で「ペン」を追加して、以下のようにコードを書いて、ネコと支点の間につねに線を引いておくようにします。定義を作るときには「画面を再描画せずに実行する」にチェックを入れておきます。

これでネコがぶら下がれるようになりましたね。
ジャンプで飛び移れるようにする
次にネコがジャンプで飛び移れるようにしていきます。「アクション」ボタンをつくり、ボタンを押すことで”ジャンプ”し、もう一度ボタンを押すとまた”ぶらさがる”ようにします。
ぶら下がっているかどうかは「ぶら下がり中」という変数で制御していきます。
アクションボタンのスプライト
以下のように新しいスプライトを追加し、ボタンを作ります。

コードはこのように書きます。

ネコのスプライト
次にネコのコードを以下のように変更します。ぶら下がっていないときは落下しないといけませんね。

支点のスプライト
次に支点のコードを以下のように変更します。

ひものスプライト
さいごにひものコードを以下のように書き換えます。これでジャンプ中はひもが消えます。

これでターザンジャンプができるようになりました。
複数のコースを作る
このプログラムのいいところは、コースを気軽に増やすことができることです。
コースのスプライト
コースのスプライトで以下のようにコスチュームでコースを増やします。今回はコースを3つ用意しました。

そしてコードを以下のように書き換えます。

クリアとゲームオーバーをつくる
次にクリアとゲームオーバーを作ります。以下のように新たに「タイトル」というスプライトを作り、クリアとゲームオーバーのコスチュームを作ります。


そして、以下のようにコードを書きます。
これで、レベル1が終わったら、次はレベル2、レベル3をゴールしたらクリアになるようになります。

すべてのコード
これでゲームは完成です、全てのコードは以下から確認できます。
コメント