「Lv2 恐ろしい迷路からの脱出!」では、当たり判定を学びます。
当たり判定とは、キャラクターが何かとぶつかったり、当たった時に「触れた」という事をプログラミングする事です。
ゲームでは、必ずと言っていいほど出てきますし、出来る事が広がりますので、覚えておくといいでしょう。
ここをクリックして「Lv2 恐ろしい迷路からの脱出」のウェブページを開いてください。
緑色の旗(はた)をクリックして、どのようなゲームなのか遊んでみましょう。
プログラミングは、いくつかの要素(ようそ)が組み合わさって出来ています。
このゲームは、8つの要素(ようそ)で作られています。
1. 勇者(ゆうしゃ)は足踏(あしぶ)みしている
2. 勇者(ゆうしゃ)はマウスポインターにくっついている
3. 画面は、黒い壁の迷路になっている
4. 動かないドクロが1体いる
5. 出てきたり消えたりするドクロが2体いる
6. 勇者(ゆうしゃ)が壁やドクロに触れると「しまった!」といってゲームが止まる
7. 勇者が青い丸に触れたとき「やったー!」といってゲームが止まる
8. 50秒たっても青い丸に触れていなければ、ゲームオーバーになる
ひとつひとつプログラミングしていきましょう。
ゲームを作る為の素材(そざい)は、こちらとなります。
TSUKURUキャラ
https://scratch.mit.edu/projects/116263060/
画面(がめん)右上の「中を見る」をクリックします。
画面上あたりにハサミのマークがあるので、これをクリックして使わないキャラクターを消してしまいましょう。
ハサミをクリックすると、マウスポインターがハサミのマークに変わりますので、コウモリのキャラクターの上にハサミを移動(いどう)させて、クリックすると削除(さくじょ)されます。
使わないキャラクターを全て消すと、以下のような画面になります。
間違(まちが)って、勇者(ゆうしゃ)やドクロを消してしまった場合(ばあい)は、もう一度(いちど)ウェブページを開くところからやり直してください。
1. 勇者(ゆうしゃ)は足踏(あしぶ)みしている
勇者(ゆうしゃ)にプログラミングする為には、スプライトにある「ゆうしゃ01」をクリックします。
勇者(ゆうしゃ)の足踏(あしぶ)みも、2枚のコスチュームを入れ替える事で出来(でき)ています。
Lv1で行ったドラゴンの羽ばたきと同じように、プログラミングしてみましょう。
2. 勇者(ゆうしゃ)はマウスポインターにくっついている
コスチュームを入れ替(か)えたのとは別に、もう一度、「旗がクリックされたとき」「ずっと」を置(お)きます。
「動き」カテゴリーに切り替え、「マウスポインター▼へ行く」というブロックを選(えら)びます。
「旗がクリックされたとき」「ずっと」の中に入れます。
この時、「0.2秒待つ」の下に入れてしまうと、0.2秒止まりながらマウスポインターについていくので、スムーズに動きません。
3. 画面は、黒い壁の迷路になっている
それでは迷路を作りましょう。
「ステージ」をクリックし
「背景(はいけい)」をクリックして、「最初(さいしょ)の背景(はいけい)」が選ばれている事を確認(かくにん)します。
まずは簡単(かんたん)な迷路(めいろ)を作ってみます。
四角形ツールをクリックしましょう。
続いて画面下にある塗(ぬ)りつぶされた四角をクリックします。
右側の白いステージの上で、ドラッグして長方形を描(えが)き、次のような迷路(めいろ)を作ります。
最初(さいしょ)は上手くいかないかもしれません。
少し練習(れんしゅう)して、操作(そうさ)に慣(な)れましょう。
間違えた場合は、画面上にある「取り消し」をクリックすると、一つ前に戻れます。
全部消してやり直したい場合は、「消す」をクリックします。
4. 動かないドクロが1体いる
迷路が描けたら、ドクロを配置(はいち)します。
ドクロのコスチュームは2つあるので、コスチュームを切り替えて、少し動きを出してみましょう。
1体目は動かないドクロで、2体目、3体目は消えたり出てきたりするドクロです。
3体必要(ひつよう)ですので、ドクロを増(ふ)やしてみましょう。
画面上部にあるスタンプのマークをクリックします。
ハサミの左となりがスタンプです。
マウスポインターがスタンプのマークに変わったら、ドクロの上にのせてドラッグします。
するとドクロがコピーされて、増えます。
次のように配置(はいち)してみましょう。
ドクロが大きくて画面からはみ出してしまいます。
勇者も大きすぎて、迷路を通れません。
少し小さくしましょう。
スタンプやハサミと同じところに、内向きの矢印(やじるし)マークがあります。
この「縮小(しゅくしょう)」マークをクリックして、ドクロや勇者の上でクリックすると、キャラクターが小さくなります。
縮小とは、小さくするという意味です。
このように調整(ちょうせい)しましょう。
右下のドクロは動きませんので、次に出たり消えたりするプログラミングを行います。
5. 出てきたり消えたりするドクロが2体いる
「見た目」カテゴリーをクリックしてみると、「表示(ひょうじ)する」「隠(かく)す」という2つのスクリプトブロックがあります。
これを組み合わせると、ドクロが出てきたり消えたりします。
使うスクリプトブロックはこれです。
どのように組み合わせれば、出てきたり消えたりするかやってみましょう。
出来ましたか。
いろいろと組み合わせてみて、試(ため)してみましょう。
失敗してもやってみる事で身についていきます。
やり方はいくつかありますが、このように組み合わせると出来上がります。
2体目のドクロにも同じようにプログラムしてみましょう。
代わる代わる出てきたり消えたりするためには、どのように変えるといいでしょうか。
答えは最後(さいご)にのせますので、がんばってみてください。
6. 勇者(ゆうしゃ)が壁(かべ)やドクロに触れると「しまった!」といってゲームが止まる
壁(かべ)やドクロは、両方(りょうほう)とも黒い色をしています。
ですので、黒い色に当たったら「しまった!」といって止まるようにプログラムします。
勇者(ゆうしゃ)のスプライトをクリックして、勇者にプログラムする用意をしましょう。
当たったかどうか調(しら)べるには、「調べる」カテゴリーが使えます。
「調べる」カテゴリーをクリックすると、「□色に触れたら」というスクリプトブロックがあります。
四角の色のがついている部分をクリックすると、マウスポインターが手のマークに変わります。
手のマークのまま、迷路の黒い部分に移動しクリックします。
すると、色が変わります。
このスクリプトブロックは、制御カテゴリーの中にある「もし なら」というブロックと合わせて使います。
「もし なら」の六角形(ろっかくけい)の穴に「黒い色に触れた」をドラッグしてはめます。
続いて、「すべてを止める」を「もし黒い色に触れたなら」の中に置(お)きましょう。
これを「マウスポインターへ行く」の下に置(お)きます。
勇者(ゆうしゃ)が黒い色に触れたとき、「しまった!」というセリフが表示されるようにします。
「見た目」カテゴリーの「Hello!と2秒言う」を右側にドラッグし、「Hello!」の部分を「しまった!」に変えます。
「しまった!と2秒言う」を「すべてを止める」の上に置きます。
これでゲームオーバーが出来ました。
7. 勇者が青い丸に触れたとき「やったー!」といってゲームが止まる
続いてゲームクリアを作ります。
作り方は、ゲームオーバーとほとんど同じですが、ゲームクリアは黒い色に触れるのではなく、青い色に触れたときに「やったー!」と言います。
まずは、青い丸を描きましょう。
「ステージ」の「背景」に進(すす)み、迷路(めいろ)を描(か)いた画面(がめん)に移動(いどう)します。
左にある丸いマークをクリックします。
下のカラーパレットから、青い色を選(えら)びます。
迷路(めいろ)の左上に青い丸を描きます。
ここがゴールになります。
スプライトの勇者(ゆうしゃ)をクリックして、「やったー!」といって止まるプログラムを行います。
コスチュームの画面になっている場合は、スクリプトをクリックします。
黒い色に触れたときに「しまった!」というのと同じように、プログラミングしてみましょう。
使うスクリプトブロックは次の通りです。
8. 50秒たっても青い丸に触れていなければ、ゲームオーバーになる
最後にタイマーを作りましょう。
簡単(かんたん)な迷路(めいろ)ですので、10秒でクリアするようにします。
ステージエリアの背景(はいけい)を選択(せんたく)し、
「データ」カテゴリーから「変数(へんすう)を作る」 をクリックします。
変数名(へんすうめい)にキーボードで「タイマー」と入力(にゅうりょく)してください。
「旗がクリックされたとき」をドラッグし その下に「タイマーを 0 にする」を配置(はいち)します。
タイマーの 0 を 10 に変えます。(20や30にすると、タイマーの時間を変える事ができます。)
タイマーは、勝手(かって)に1秒ずつ減(へ)ったりしません。
そのようにプログラミングしてみましょう。
「タイマーを 10 にする」の下に「ずっと」をドラッグ し、その中に「1秒待つ」を入れ、「タイマーを 1 ずつ 変える」を入れます。
1ずつ変(か)えるままだと、1ずつ足されていくので -1 にし、1ずつ引いていきます。
タイマーが 1 減(へ)る度(たび)に、1秒待ちますから 1 秒ずつ減(へ)っていくタイマーが出来上(できあ)がります。
ただし、このままでは 10 秒たっても何も起き ません。
タイマーがゼロになったら、全てを止めましょう。
プログラミングを言葉(ことば)で表現(ひょうげん)すると、
「もしタイマーがゼロと同じになったら、全てを止める」
となります。
少し複雑(ふくざつ)ですが、頑張りましょう。
「制御」カテゴリーから「もし なら」をドラッグします。
次に「演算(えんざん)」カテゴリーから「 □ = □ 」を選択(せんたく)し、「もし なら」の六角形(ろっかくけい)にはめます。
□の左側には、「データ」カテゴリーで先ほど作ったタイマーを配置(はいち)し、右側には数値入力(すうちにゅうりょく)で「 0 」を入れます。
そして「もしタイマー=0 なら」の中に「制御」の 「すべてを止める」をドラッグしましょう。
このスクリプトを「タイマーを -1 ずつ変える」の 下にドラッグします。
これで 10 秒たっても青い丸に触(ふ)れていなければ、ゲームオーバーになるタイマーが出来ました。
これでゲームは完成(かんせい)です。
ちゃんと遊べるか確認(かくにん)してみましょう。
このゲームは迷路(めいろ)の描き方によって、様々(さまざま)に工夫(くふう)する事が出来ます。
また、Lv1のドラゴンと合わせてみると、さらにむずかしいゲームになったりします。
ぜひ、いろいろと遊(あそ)んでみてください。
最後(さいご)に、すべてのスクリプトをのせておきます。
ゆうしゃ01のプログラム
右下のドクロのプログラム
真ん中上のドクロのプログラム
左下のドクロのプログラム
ステージにプログラムしたタイマー