プログラムの 中身 を 詳 しくみてみよう
フルーツをキャッチするゲームのスクリプトについてスプライトごとに 解説 します。
カニ
主な 動 き
- キーボードの左(←)キーと、右(→)キーで、左右に 移動 する。
- に当たったら元気を1 減 らし、音を鳴らして 点滅 する。
- に当たって元気が1になったら コスチュームを (ダメージ)にし、へ 瀕死 を送る。
- に当たって元気が0になったら コスチュームを にし、と へGAME OVERを送る。
- から 回復 が送られてきたら コスチュームを( 正常 )にする。
「Start」を受け取ったとき
-
- 説明
-
初期状態 に 設定 し、カニを 操作 する 処理 を開始します。
- 必要 な 処理
- 1. 変数 の 初期化
- 2. 左右 矢印 キー(← / →)が 押 された時の左右への 移動
- 3. 鬼 に 触 れてしまった時の 処理
- コードの 詳細
-
その後、右向き 矢印 (→)キー、左向き 矢印 (←)キーが 押 されているかどうか、 鬼 に 触 れているかどうかをチェックするループを開始し、 元気が0になるまで 以下 の「A」をくり返します。
- A :
横に 動 かすを実行します。
鬼 に 触 れ、 且 つ 無敵状態 でない ( 無敵状態 =0)場合は 以下 の「B」の 処理 をします。 - B :
元気を1 減 らします。
もし元気が0になってしまったら GAME OVERを送り、このスクリプトを止めます。
鬼 に当たったの音を鳴らします。
無敵状態 ( 無敵状態 =1)にし、 鬼 に当たってしまってから一定時間は、 さらに 鬼 に当たってしまっても元気が 減 らないようにします。
鬼 に当たったを送ります。 鬼 に当たってしまった時の 処理 をループ内でおこなうと、その間は左右のキーで 動 かすことができなくなるため、 メッセージを送った先でおこなうようにしています ( 鬼 に当たってしまった時の 処理 と左右のキーが 押 された時の 処理 が 並行 しておこなわれるようにします)。
もし元気が1になってしまったら 瀕死 を送り、コスチュームをダメージにします。
初期化
-
- 説明
-
初期状態 にします。
- コードの 詳細
-
コスチュームを 正常 にし、 ちょうどよい大きさにするために大きさを40%にしています。
コスチュームを最初から小さくしておけば大きさを 変更 しなくても大丈夫です。
x 座標 を 左端 (-210)、 y 座標 を(-140)にします。
動 く速さ を6にします。左右の 矢印 キーを 押 すと6ずつ 移動 します。
元気を2にします。 鬼 に当たると1ずつ 減 り、ハートを取ると1ずつ 増 えます。0になるとゲームオーバーとなります。
無敵状態 を0にします。
表示 します。
横に 動 かす
-
- 説明
-
左向き 矢印 (←)キー、右向き 矢印 (→)キーでカニを横に 動 かすための 処理 です。
- コードの 詳細
-
右向き 矢印 キーが 押 されていたら、 x 座標 を + 動 く速さの分だけ 変 えます (右に 動 く速さずつ 動 かします)。
ただし、 移動後 に 右端 を 超 えてしまう 位置 にいる場合はx 座標 を 右端 にします。
左向き 矢印 キーが 押 されていたら、 x 座標 を - 動 く速さの分だけ 変 えます (左に 動 く速さずつ 動 かします)。
ただし、 移動後 に 左端 を 超 えてしまう 位置 にいる場合はx 座標 を 左端 にします。
鬼 に当たったを受け取ったとき
-
- 説明
-
鬼 に当たってしまった時に実行します。
カニを 点滅 させ、0.5秒待った後に 無敵状態 を 解除 します。
- コードの 詳細
-
隠 して0.1秒待つ、 表示 して0.1秒待つをくり返して 点滅 させます。
0.5秒待った後に 無敵状態 を0にして 無敵状態 を 解除 します。
GAME OVERを受け取ったとき
-
- 説明
-
鬼 に当たり、元気が0になってしまった時に実行します。
カニが 爆発 しているように見せます。
- コードの 詳細
-
念 のため元気を0にします。
コスチュームの 爆発 2と 爆発 1を0.3秒ごとに 交互 に 表示 し続けます。
回復 を受け取ったとき
- ハートをキャッチするとハートから 回復 が送られてきます。
コスチュームを 正常 にします。
カニのビーム
主な 動 き
- スペースキーが 押 されたら 発射 する(カニの 位置 に 表示 してから上に向かって 移動 する)。
- から 撃墜 が送られてきたら 隠 す( 非表示 にする)。
がクリックされたとき
- 非表示 にし、他のスプライトと重なった 際 に後ろに 表示 されるように30 層 下げます
(他のどのスプライトよりも下の 層 にあればよいので 必 ずしも30 層 である 必要 はありません)。
大きさは30%にします。
スペースキーが 押 されたとき
-
- 説明
-
ビームを 発射 します。
カニと同じ 座標 から 表示 し、上の 端 に着くまで上方向に10ずつ進みます
( 鬼 に当たったら 非表示 にしますが、その 処理 は 撃墜 を受け取ったときのほうで書きます)。
- コードの 詳細
-
x 座標 、 y 座標 をカニと同じ 座標 にします。
zoopの音を鳴らします。
非表示 から 表示 へ 変更 します。
端 に 触 れるまでy 座標 を 10ずつ 変 える 処理 をくり返し、上に向かって動いていくようにします。
端 に 触 れたら 隠 します。
以下 のコードはどちらも、同じ 動 きになります。
撃墜 を受け取ったとき
- カニのビームが 鬼 に当たった時にこのメッセージが送られてきます。
隠 してから、このスプライトの他のスクリプトを止めます
(カニのビームが 鬼 に当たると 撃墜 が送られてきます)。
鬼
スプライトのinfo内の回転の 種類 を回転しないにしています。
主な 動 き
- 一定時間ごとに自分自身のクローンを作り、そのクローンが上から落ちる。
落ちる 際 の x 座標 はランダムに決定する。 スコアが高くなるほどクローンを作る 間隔 を短くする。 - に当たったら音を鳴らし、 コスチュームを ダメージにする。0.5秒たったらこのクローンを 削除 する。
- に当たったらへ 撃墜 を送る。
がクリックされたとき
-
- 説明
-
初期化 した後に自分自身のクローンを作り続けます。
クローンを作る 間隔 ( 出現間隔 )はスコアによって決定します。
- コードの 詳細
-
コスチュームを 通常 にし、 大きさを40%にして 非表示 にします。
x 座標 を0、y 座標 を 上端 (180)にします。
落ちる速さの 基準値 を5にします。
「Start」を受け取ったとき
-
- 説明
-
Startを受け取ったときに以下を実行します。
クローンを作る 間隔 ( 出現間隔 )はスコアによって決定します。
- コードの 詳細
-
Startを受け取ったときに、
2秒待った後に自分自身のクローン作成をくり返します。
クローンを作るたびに、 出現間隔 を決めるを実行して
出現間隔 を決定します。
出現間隔 秒待ち、次のクローンを作ります。
出現間隔 を決める
-
- 説明
-
出現間隔 を決定します。
スコアが高いほど、 出現間隔 を短くします。
- コードの 詳細
-
現在のスコアを 常 にチェックし、 その 値 によって 出現間隔 を決定します。
スコアが10 以下 の場合がもっとも長く 、1.4秒ごとにクローンを作ります。
スコアが130よりも大きい場合がもっとも短く、 0.4秒ごとにクローンを作ります。
クローンされたとき
-
- 説明
-
地面に 触 れるまで上から下に向かって落ちます。
x 座標 、 落ちる速さはランダムに決定します。
カニのビームに 触 れたときの 処理 もここに書いています。
最後にクローンを 削除 します。
- コードの 詳細
-
落ちる時の 動 きを決めるを実行します。
前に出して 表示 します。
地面に 触 れるまで 以下 の「A」の 処理 をずっとくり返した後にこのクローンを 削除 します。
- A :
y 座標 を 落ちる速さずつ下げます。
カニのビームに 触 れたら カニのビームに 触 れたを実行し、 0.5秒待ってからこのクローンを 削除 します。
落ちる時の 動 きを決める
-
- 説明
-
表示 を開始する 位置 、落ちる速さを決定します。
- コードの 詳細
-
落下開始時のy 座標 は 常 に 上端 (180)にします。
x 座標 は 左端 (-210)から 右端 (210)の間のどこかにランダムで決定します。
落ちる速さを 落ちる速さの 基準値 +(0~2)の 3つの中からランダムで決定します
(落ちる速さの 基準値 が 5であれば5~7のどれかになります)。
カニのビームに 触 れた
- 撃墜 を送ります。
popの音を鳴らします。
コスチュームをダメージにします。
倒 した 鬼 の数、 スコアを1 増 やします。
フルーツ
フルーツは4 種類 ありますが、コスチュームを 変 えているだけであり、 動 きなどはすべて同じです。
主な 動 き
- 一定時間ごとに自分自身のクローンを作り、そのクローンが上から落ちる。
落ちる 際 の x 座標 と コスチュームはランダムに決定する。
スコアが高くなるほどクローンを作る 間隔 を短くする。 - に 触 ったら音を鳴らし、 スコアを2 増 やしてからこのクローンを 削除 する。
- 地面に落ちたらスコアを1 減 らし、 コスチュームを にする。
0.5秒たったらこのクローンを 削除 する。
がクリックされたとき
-
- 説明
-
初期化 した後に自分自身のクローンを作り続けます。
- コードの 詳細
-
非表示 にします。
x 座標 を0、y 座標 を 上端 (180)にします。
落ちる速さを5にします。
「Start」を受け取ったとき
-
- 説明
-
Startを受け取ったときに以下を実行します。
クローンを作る 間隔 ( 出現間隔 )はスコアによって決定します。
- コードの 詳細
-
3秒待った後に自分自身のクローン作成をくり返します。
クローンを作るたびに、 出現間隔 を決める を実行してフルーツの 出現間隔 を決定します。
出現間隔 秒待ち、次のクローンを作ります。
出現間隔 を決める
-
- 説明
-
出現間隔 を決定します。
スコアが高いほど、 出現間隔 を短くします。
- コードの 詳細
-
現在のスコアを 常 にチェックし、 その 値 によって 出現間隔 を決定します。
スコアが10 以下 の場合がもっとも長く、1.8秒ごとにクローンを作ります。
スコアが130よりも大きい場合がもっとも短く、0.6秒ごとにクローンを作ります。
クローンされたとき
-
- 説明
-
地面に 触 れるまで上から下に向かって落ちます。
x 座標 、 コスチュームはランダムに決定します。
カニに 触 れたときの 処理 もここに書いています。
最後にクローンを 削除 します。
- コードの 詳細
-
落ちる時の 動 きを決めるを実行します。
前に出して 表示 します。
地面に 触 れるまで 以下 の「A」の 処理 をずっとくり返します。
- A :
y 座標 を 落ちる速さずつ下げます。
カニに 触 れたら キャッチされたを実行します。 -
地面に 触 れたら地面に落ちたを実行し、 このクローンを 削除 します。
落ちる時の 動 きを決める
-
- 説明
-
表示 を開始する 位置 、コスチュームを決定します。
- コードの 詳細
-
落下開始時のy 座標 は 常 に 上端 (180)にします。
x 座標 は 左端 (-210)から 右端 (210)の間のどこかにランダムで決定します。
コスチュームを4つのどれかにランダムで決定します。
キャッチされた
- popの音を鳴らします。
スコアを2 増 やします。
キャッチしたフルーツを1 増 やします。
このクローンを 削除 します。
地面に落ちた
- スコアを1 減 らします。
落としたフルーツを1 増 やします。
コスチュームをstar3-bにします。
ハート
主な 動 き
- 一定時間ごとに自分自身のクローンを作り、そのクローンが上から落ちる。
落ちる 際 の x 座標 はランダムに決定する。
元気の 値 が高くなるほどクローンを作る 間隔 を長くする。 - 下にまっすぐ落ちるのではなく横方向にも 移動 するようにする( 斜 めに落ちる)。
どちらの方向へどれだけ 移動 するのかはクローンが作られたときにランダムに決定する。 - 落ちている間にやフルーツや 画面 の 端 に当たったら 跳 ね返る。
- に 触 ったら音を鳴らし、 元気を1 増 やしてからこのクローンを 削除 する。
- に 触 ったらへ 回復 を送る。
がクリックされたとき
-
- 説明
-
がクリックされたときに以下を実行します。
- コードの 詳細
-
コスチュームをheart redにします。
非表示 にします。
大きさを30%にします。
y 座標 を 上端 (180)にします。
落ちる速さを5にします。
クローン?をnoにします。
「Start」を受け取ったとき
-
- 説明
-
初期化 した後に自分自身のクローンを作り続けます。
元気の 状態 によってハートが 出現 する 間隔 を 変更 します。
(元気の 値 が大きいほど 出現 しにくくします)。
- コードの 詳細
-
60秒待ちます。
自分自身のクローンを作ります。
出現間隔 を決めるを実行し、 ハートの 出現間隔 を決定します。
ハートの 出現間隔 秒待ちます。
出現間隔 を決める
-
- 説明
-
ハートの 出現間隔 を決定します。
元気の 状態 によってハートが 出現 する 間隔 を 変更 します
(元気の 値 が大きいほど 出現間隔 を長くなり 出現 しにくいです)。
- コードの 詳細
-
現在の元気が1(2 未満 )なら ハートの 出現間隔 を10秒にします。
元気が2(3 未満 )なら ハートの 出現間隔 を30秒にします。
それ 以外 (3 以上 )ならハートの 出現間隔 を60秒にします。
瀕死 を受け取ったとき
- 5秒後にクローンを作ります
( 鬼 に当たってしまい元気が 1になったら5秒後にハートを 出現 させます)。
クローンされたとき
-
- 説明
-
画面 の上の 端 から下の 端 まで 斜 めに進みます。
x 座標 、落ちる速さ、 横に 動 く速さはランダムに決定します。
落ちている間に 鬼 やフルーツや 画面 の 端 に当たったら 跳 ね返ります。
カニに 触 れたら元気を1つ 増 やし、 回復 を送ります。
(カニのコスチュームがダメージだったら 正常 に 戻 します。)
- コードの 詳細
-
自身がクローンであることを 判別 できるようにするために クローン?をyesにします。
跳 ね返り中を0にします。
落ちる時の 動 きを決めるを実行します。
前に出して 表示 します。
地面に 触 れるまで 以下 の「A」 処理 をずっとくり返します。
- A :
y 座標 を 落ちる速さずつ下げます。
x 座標 を 横に 動 く速さずつ下げます。
カニに 触 れたら カニに 触 れたを実行し、 このクローンを 削除 します。
跳 ね返りを実行します (他のスプライトや 端 に当たったら 跳 ね返ります)。 -
地面に 触 れたらコスチュームをstar3-bにします。
落としたハートを1 増 やします。
0.5秒待ってからクローンを 削除 します。
落ちる時の 動 きを決める
-
- 説明
-
表示 を開始する 位置 、 落ちる速さ、 横に 動 く速さを決定します。
横に 動 く速さが0になった場合 以外 は 斜 めに落ちます。
- コードの 詳細
-
y 座標 を 上端 (180)にします。
x 座標 は 左端 (-210)から 右端 (210)の間のどこかにランダムで決定します。
元気が1(2より小さい)なら 落ちる速さを5にします。
落ちる速さを
落ちる速さの 基準値 +(0~2)
の3つの中からランダムで決定します
(落ちる速さの 基準値 が5であれば5~7のどれかになります)。横に 動 く速さを (-5~+5)の間でランダムに決定します。
カニに 触 れた
- popの音を鳴らし、 元気とキャッチしたハートを1ずつ 増 やし、 回復 を送ります。
跳 ね返り
-
- 説明
-
画面 の 端 、 鬼 、フルーツに 触 れたら 跳 ね返る(横方向の 動 く向きを 変 える)ようにします。
- コードの 詳細
-
端 に 触 れたり、 鬼 に 触 れたり、 フルーツに 触 れたりして 且 つ 跳 ね返り中が0であれば 横に 動 く速さに-1をかけて反対の向きに 変 えます。 そして 跳 ね返り中を1にします。
跳 ね返り中が1である間は再び 鬼 、フルーツ、 端 に 触 れても向き(横に 動 く速さ)を 変 えないようにします。
3つのどれとも 触 れていない 状態 になったら 跳 ね返り中を0に 戻 し、 跳 ね返ることができるようにします。向きを 変 えた直後はまだ他のスプライトに 触 れているため、 そこでまた向きを 変 えてしまうと向きの 変更 をくり返すだけで そのスプライトから 離 れることができなくなってしまいます。
それを防ぐために他のスプライトから一旦 離 れるまで 向きを 変 えないようにしています。
ステージ
主な 動 き
- がクリックされたらプレイ時間を計る タイマーをリセットし、 各変数 を 初期化 する。
- から GAME OVERが送られてきたら GAME OVERの音を鳴らし、 プレイ時間やキャッチしたフルーツの数、 倒 した 鬼 の数などを 画面 に 表示 する。
がクリックされたとき
- プレイ時間を計るタイマーをリセットし、 各変数 を 初期化 します。
GAME OVERを受け取ったら
- GAME OVERの音を鳴らし、 プレイ時間やキャッチしたフルーツの数、 倒 した 鬼 の数などを 画面 に 表示 します。
GAME OVER
主な 動 き
- から GAME OVERが 送られてきたら 画面中央 の前面に 表示 し、すべてを止める。
がクリックされたとき
- 非表示 にします。
大きさを50%にします。
x 座標 を0、 y 座標 を0( 画面中央 )にします。
GAME OVERを受け取ったら
- 2秒待ってから前に出して 表示 した後、すべてを止めます。
Start
主な 動 き
- がクリックされたらコスチュームをStartにして 表示 する。
- クリックされたら 各 スプライトへStartを送り、 非表示 にする( 各 スプライト Startを受け取ってゲーム開始)。
がクリックされたとき
-
- 説明
- ゲームスタートの 準備 をする。
- 必要な 処理
- 座標 の 初期化
Startの 表示
マウスポインターが上に乗ったとき色を 変 える - コードの 詳細
-
x 座標 (横の 表示 位置 )を0、 y 座標 ( 縦 の 表示 位置 )を0にします。
コスチュームをStartにして 表示 します。 (ゲーム終了時は 非表示 になっているため)
マウスポインターがこのスプライトに 触 れているときは色を 変 え、 離 れたら元の色に 戻 します。
このスプライトがクリックされたとき
-
- コードの 詳細
-
コード「 がクリックされたとき」が動作しているので、止めます。
各 スプライトにStartを送りゲームを開始します。