タブレットで横スクロールアクションゲームを作ろう③
今回は「タブレットで横スクロールアクションゲームを作ろう」の3回目です。
1回目はこちら「横スクロールアクションゲームをタブレットで作ろう①」
2回目はこちら「横スクロールアクションゲームをタブレットで作ろう②」
最終回になる今回の目標は、
・スコアを表示する
・ゲームオーバー処理を作る
・BGMを鳴らす
です。
では始めていきましょう!
まずはスコアの処理からです。
今回のスコアは、プレイヤーが隕石をよけて、
その隕石が画面の左端までいったら1点入るようにしたいと思います。
スプライト一覧から「Rocks」をタップして、
「変数」のグループから「変数を作る」をタップ
![](https://magilabo.com/blog/wp-content/uploads/2022/02/図1-2-1024x593.jpg)
「新しい変数名」に「スコア」と入力してOKをタップ
![](https://magilabo.com/blog/wp-content/uploads/2022/02/図2-2-1024x597.jpg)
「スコアを1ずつ変える」のブロックを
「もし端に触れたなら」のブロック内に配置
![](https://magilabo.com/blog/wp-content/uploads/2022/02/図3-2-1024x592.jpg)
これで隕石をよけたら1点ずつ入るようになりました。
あとはスタートを押したときにスコアがリセットされるようにしておきます。
「変数」のグループから「スコアを0にする」のブロックを
「スタートボタンが押されたとき」の下に配置します。
※「クローンされたとき」のブロックではないので注意!
![](https://magilabo.com/blog/wp-content/uploads/2022/02/図4-2-1024x590.jpg)
続いてプレイヤーが隕石に当たったらゲームオーバーになる処理をつくっていきます。
スプライト一覧から「Ripley」をタップ
![](https://magilabo.com/blog/wp-content/uploads/2022/02/図5-3-1024x589.jpg)
「イベント」のグループから「スタートが押されたとき」のブロックを配置
![](https://magilabo.com/blog/wp-content/uploads/2022/02/図6-1-1024x590.jpg)
「制御」のグループから「ずっと」のブロックを配置
その中に「もし○○なら」のブロックを配置
※必ず「ずっと」の中に「もし」のブロックが入るようにしましょう
![](https://magilabo.com/blog/wp-content/uploads/2022/02/図7-1-1024x587.jpg)
「調べる」のグループから「マウスのポインターに触れた」を
「もし」のブロック内に入れる
「マウスのポインター」をタップして「Rocks」に変更する
![](https://magilabo.com/blog/wp-content/uploads/2022/02/図8-1024x584.jpg)
これで
もしRocks(隕石)に触れたら
というプログラムができました。
つづいて、この「もし」のブロックの中に以下の4つのブロックを入れていきます。
※「もし」ブロックの外側に配置しないように注意!
隕石に当たったときの効果音を設定します。
「音」のタブを選んで「音を選ぶ」ボタンをタップ
![](https://magilabo.com/blog/wp-content/uploads/2022/02/図9-1024x592.jpg)
「Crunch」をタップ
![](https://magilabo.com/blog/wp-content/uploads/2022/02/図10-1024x586.jpg)
「コード」のタブに戻って、「音」のグループから「Crunchの音を鳴らす」のブロックを
「もしRocksに触れたなら」のブロックの中に配置
※音の種類が異なる場合は、タップしてCrunchを選ぶ
![](https://magilabo.com/blog/wp-content/uploads/2022/02/図11-1024x582.jpg)
「イベント」のグループから「○○を送る」のブロックを配置し、
新しいメッセージをタップ
![](https://magilabo.com/blog/wp-content/uploads/2022/02/図12-1024x589.jpg)
新しいメッセージ名に「ゲームオーバー」と入力してOKをタップ
![](https://magilabo.com/blog/wp-content/uploads/2022/02/図13-1024x582.jpg)
「見た目」のグループから「こんにちは!と2秒言う」のブロックを配置し
文字を「ゲームオーバー」に変更する
![](https://magilabo.com/blog/wp-content/uploads/2022/02/図14-1024x584.jpg)
「制御」グループの「すべてを止める」ブロックを配置
![](https://magilabo.com/blog/wp-content/uploads/2022/02/図15-1024x586.jpg)
これでプレイヤーのプログラムはできましたが、
実行してみると隕石がプレイヤーに当たったあとも2秒間は移動を続けるため、
左端に着いたときにスコアが加算されてしまいます。
これを防ぐため、「Rocks」のスプライトに以下のプログラムを追加します。
スプライト一覧から「Rocks」をタップ
「イベント」のグループから「ゲームオーバーを受け取ったとき」のブロックを配置
※もしメッセージ名が異なる場合は、タップしてゲームオーバーを選択してください。
![](https://magilabo.com/blog/wp-content/uploads/2022/02/図16-1024x591.jpg)
「制御」のグループから「このクローンを削除する」ブロックを配置
![](https://magilabo.com/blog/wp-content/uploads/2022/02/図17-1024x586.jpg)
最後に無音だと寂しいのでBGMを鳴らしましょう。
BGMはどのスプライトにでもつけられるのですが、
全体共通のプログラムは背景につけておくと分かりやすいので
今回は背景に設定していきましょう。
ステージの背景をタップ
「イベント」グループから「スタートボタンが押されたとき」のブロックを配置
![](https://magilabo.com/blog/wp-content/uploads/2022/02/図18-1024x572.jpg)
「制御」のグループから「ずっと」のブロックを配置
![](https://magilabo.com/blog/wp-content/uploads/2022/02/図19-1024x585.jpg)
「音」のタブをタップして「音を選択」ボタンをタップ
![](https://magilabo.com/blog/wp-content/uploads/2022/02/図20-1024x588.jpg)
ここでは「Dance Space」を選択しますが、
お好きな音を選んでください!
![](https://magilabo.com/blog/wp-content/uploads/2022/02/図21-1024x601.jpg)
「コード」のタブをタップして戻り、
「音」のグループから「終わるまでDance Spaceの音を鳴らす」のブロックを
先ほどの「ずっと」の中に配置
![](https://magilabo.com/blog/wp-content/uploads/2022/02/図22-1024x584.jpg)
これで完成です!
確認のため実行してみましょう。
無事に動きましたか?
配置するブロックが「もし」や「ずっと」の中に正しく入っていないと
正しく動かない場合があります。
うまく動かないときは、配置したブロックの位置が正しいか
確認してみてくださいね。
また、移動用のボタンがスコアにかぶってしまう場合は
ボタンの位置を調整してみてください。
完成版はこちらからも確認できます。