ICT支援に入った先で、Scratchのゲームを子どもたちに作らせたいという要望があったので、まずは自分で作ってみました。
簡単なブロック崩しとシューティングゲームです。
作り込めば凝ったものも作れるようですが、月に1回で1時間しかそこには支援に入らないので、このくらいの難易度でいいのかなと。
完成形
ブロック崩し
台はマウスカーソルのx座標に追従、ボールはひたすら跳ね返り、ブロックはボールに当たったら消える。
下にボールが落ちたらゲームオーバー、ブロックを全て消したらクリア。
シンプルなブロック崩しです。
シューティングゲーム
上下左右で自機を動かして、スペースキーで弾を発射。
おばけは瞬間移動で、移動する度に弾を発射してくる。
スコアが増えるとおばけの移動間隔も短くなる。
クリアはなく、ハイスコアを求めるだけのゲームです。
ブロック崩しのメモ
ブロックの配置とクリアの判定
どうやって効率よくブロック並べるかなーって思って調べたところ、とてもわかり易いサイトがあったので参考にさせていただきました。
というか、結局ベース部分はこちらのサイトを参考にさせていただいた感じです。
座標をずらしながらブロックのクローンを作成することで、簡単に配置することができました。
そのクローンの作成と同時にブロックの数という変数の値を増やし、ブロックが消える時に値を減らします。
ブロックの数が1未満になったらクリアのメッセージ、弾のy座標が-160未満になったらゲームオーバーのメッセージをそれぞれ送信して終了します。
メッセージを使用することで、全体で動作を同期できるので、使いこなせたら便利そうです。
シューティングゲームのメモ
おばけの動き
最初はn秒でx,y座標に移動するように作ったけど、負荷を減らしたくて瞬間移動にしました。
一応おばけは浮遊感を出すために、その場で上下に動くようにしています。
スコアが増える度におばけの待機時間を短くして、移動、攻撃が速くなります。ついでにセリフを喋らせてみました。
おばけが弾にあたった時にコスチュームの変更をしたかったんですが、弾とおばけの両方に触れた時を使うとうまく動かないので、弾の方ではおばけに触れたらクローン削除とメッセージ送信し、おばけ側ではメッセージを受信したらコスチュームを変更するようにしました。
感想
Scratchでゲームを作れるとは聞いていたけど、他の方が作ったのを覗いてみたら複数のステージがあったりアイテムが降ってきたりと、だいぶ作り込んでいて凝ってるなー感じでした。
小学生のクラブ活動でScratchをやってみたいということで、今回は規模の小さなものでいいかなと思いましたが、1年後にはどのレベルが求められるのか…すこし不安になってきました。
プログラミング教室ではないので、そこまで凝ったものを作りたいという要望には答えられなくていいのかな?