こんにちは、まなゲー池田です。
「マウス操作で迷路ゲーム(1)」の続きをやっていきます。
前回は「荒ぶるネコさんを落ち着かせる」ところまでやりました。
迷路を作っていきましょう
連載3回目にしてようやく、迷路を作りますよ。
迷路は「背景」に書き込むこともできますが、今回は「スプライト」として作ってみようと思います。ステージ右下の「新しいスプライト」のところから、ペン型のアイコンを選んでクリックします。
すると、タブが「コスチューム」タブに切り替わりますので、ここに迷路の「壁」を描いていきます。スプライトを自分で描くときには2つのモードがあって、デフォルト(初期設定)では「ビットマップ」モードになっているのですが、僕は「ベクター」モードをおすすめします。なので右下の「ベクターに変換」ボタンでモードを切り替えます。
そのあと、右側の直線ツールを選んで、壁をえがいていきます。左下のスライドバーでえがく線の太さを調整できますので、好みの太さに調整しましょう。
描き終わったら、作ったスプライトに名前をつけます。デフォルトでは「スプライト2」とかになっていると思います。このままでも使えるのですが、使うスプライトが増えるとどれが何だかわからなくなりますので、今のうちから名前をつける習慣をつけておくのをおすすめします。
スプライトエリアのアイコン左上に「i」ボタンがあるので、それをクリックします。
すると、スプライトの情報が表示されます。今回は「めいろ」と名付けることにします。ここでは名前の変更のほかにも、色々と設定することができます。
壁を通り抜けられないようにする
せっかく描いた壁も、このままでは自由に通り抜けられるただの背景状態です。なので、ネコさん側のスクリプトにプログラムを追加して、壁を通り抜けられないようにしましょう。
「情報」パレットから「〜色に触れた」ブロックを取り出します。ブロック上の色付きの四角1回クリックしてやると、マウスポインタの形が変わります。その状態でステージ上のどこかをクリックすると、その場所の色が対象に選ばれます。
他にもいくつかのブロックを取り出して、下図のように組み上げます。
「進んだ分だけ戻す」ことで「通れない」を実現する
「通れない」というブロックがあれば簡単なんですが、残念ながらそうは行きません。
なので、1回分移動したら、すぐその後に「壁の色」にふれていないかどうかを調べます。で、もしもふれてしまっていたら、こっそり「今きたのと反対方向に1回分戻す」ことで、直前の移動を「なかったことに」してしまいます。
「反対向きに同じだけ」動かすために「-(マイナス)スピード歩動かす」という書き方をします。ちょっと難しいですが、よく使う方法なので、おいおいなれていってください。
今組み立てたパーツを、画像のように前回までに作ったプログラムに追加してやると、ネコさんは壁を越えられなくなります。これで迷路内を探索できるようになりましたね。
<おまけ>
デフォルトの大きさのネコさんでは、大きすぎて通路を通れません・・・。なので少し小さくなってもらいましょう。画像のアイコンをクリックするとマウスポインタが変形します。その状態でステージ上のネコさんをクリックしてあげましょう。クリックするごとに小さくなります。逆に大きくしたい場合は、左側のアイコンをクリックして同じように操作します。
次回は、ゴールを作って、ゴールするまでのタイムを測れるようにしたいと思います。