キャッチゲームを作る
仕様を決める
概要:落ちてくるリンゴを一定時間内にいくつキャッチできるかを競うゲーム
- キャラクタはスクラッチキャットとリンゴ
- スクラッチキャットは左右矢印キーで移動する
- リンゴは上から、左右のどこかから落ちてくる
- リンゴが落ちる速度は変化する
- リンゴが落ちてくる間隔はランダム
- リンゴをキャッチするとポイントが入る
- 制限時間は10秒とする
素材を準備する
スプライトはスクラッチキャットとリンゴ
背景はライブラリから木のあるイラストを追加
スクリプトブロックを組み上げる
- ステージの設定・タイマーの設定
背景をライブラリから追加

背景を黒く塗ってゲームオーバー画面を作成

スクリプトブロック組み立て

- スクラッチキャットのスクリプトを設定する
大きさを少し小さくして、画面の下で左右に動くようにする

左右に動かす方法はいろいろあるが、イベントの[→がクリックされたとき]を使うと
連打する必要があること、スムーズさに欠けることから[もし]のブロックを使ってキーを検出する
こうすることで、押しっぱなしで移動できる

- りんごのスクリプトを設定する~動き
リンゴスプライトをライブラリから追加する
大きさを少し小さくして、上のランダムな位置から下に動くように設定する
下まで行ったら、また上から落ちるように設定する

- ブロックの使い方
ここで、ブロックを見ていると、同じ命令が複数箇所に使われていることがわかる
同じ処理をひとまとめにしてブロックにする(サブルーチンor関数orメソッド)ことができる
[その他]のグループから[ブロック]を選び、任意の名前をつけてブロックを作成し

ブロックを定義する

一度定義すればメインのブロックはシンプルに見やすくなり、修正も容易になる

- スコアの設定
スコアを表示するにはまず変数を定義しておく
ただ、どのスプライトからもアクセスできるようにしてしまうと、うっかり変更してしまう恐れがあるので
ここではスクラッチキャットに「このスプライトのみ」として変数を定義しておく

そしてリンゴのスクリプトに戻り、スクラッチキャットに衝突したら、衝突のメッセージを送り、リンゴを落とすようにする

次にスクラッチキャットのスクリプトに戻り、スコアを上げるブロックを作る。
一緒に音を鳴らすのも面白いかも

- クローンの利用
ゲームの難易度を上げるために、リンゴを増やしてみよう。
一番簡単なのはリンゴスプライトを右クリックして複製する。
複製するとスクリプトも複製されるので、リンゴがいくつも落ちるようになる。
ここでは、[クローン]機能を使ってみよう。
旗がクリックされたらクローンを作成するように変更する

また、[旗がクリックされたら]を[クローンされたとき]に変更し
地面に落ちるか、スクラッチキャットに当たった時に[クローンを削除する]に変更する
