Scratchでシューティングゲームを作ろう!(3)
弾を撃つ!
こんにちは、おおやけハジメです。
三回目は敵を倒すための弾を発射出来るようにしました。
シューティングゲームを作ろう(3) Scratchプロジェクト
スプライト新規作成
まず最初に弾のスプライトを新規作成します。
キャラの絵はなんでもいいのですが、今回はBallを使いました。
変数作成
次に、ボールを制御するための変数「tama」を作成します。「データ」の「変数を作る」をクリックするとダイアログが出ます。
すべてのスプライト用」で「tama」という変数を作成します。
この変数は、発射できる弾の数を制御するために使用します。
弾の発射プログラム
次にSprite1(猫)のプログラムを、弾を撃てるように変更します。
前回からの変更点は、プログラム開始時に変数「tama」を「0」にしています。
さらに次の処理が追加されています。
この処理は「スペースバーが押された時に変数tamaが1より小さかったら(0だったら)tamaを1増やし、Ballスプライトをクローンしろ」という処理になります。この条件が満たされた時、変数tamaが「1」になるため、次からはスペースバーを押してもクローンされなくなります。
Ballスプライトのプログラム
次に「Ball」スプライトにプログラムを作ります。
このスプライトもクローンで使用するので、プログラム開始と同時に隠します。スプライトのサイズも20%に縮少します。
そして、クローンされた時には画面に表示し、座標をSprite1(猫)と同じにします。これによって猫から弾が発射されたように見えます。
その後は無限ループでY座標を増やしていきます。これで弾が上に飛んで行くように見えます。そして、画面の一番上に行ったところで自分自身を削除し、先ほど作った変数「tama」を「1」減らします。
これでtamaが「0」になるので、また弾が発射出来るようになります。
ここで、鋭い方は気づいていると思いますが、先ほどのスペースバーを押した時の「tama < 1」の「1」が発射出来る弾の数になります。この「1」を変えてみるとBallスプライトはひとつしか作っていなくとも、複数の弾が発射出来ることが分かるでしょう。
第5回 CoderDojo 調布を開催します
1/22(日)に「第5回 CoderDojo 調布」を開催します(次回は日曜日の開催です)。
開催概要
- 日時:2017/01/22(日) 9:30 - 11:45
- 場所:調布市 市民プラザ あくろす(京王線国領駅北口前)
- 会議室1 (2階男女共同参画推進センター内)
- 定員:12名
- 費用:無料
※前回と部屋が異なりますのでご注意ください。
※開始30分程度でメンター紹介に加えプログラミングやツール紹介をやります(詳細は過去開催の様子をご覧ください)
※最後に30分程度、当日やったことを発表してもらいます。
参加申し込み
下記ページより、参加の申し込みを行ってください。いくつかの入力項目および、ご承諾いただく事項があります。 当日はノートパソコンをお持ちください。
みなさまの参加をお待ちしています!
メンターからのプログラミングやツール紹介予定
- おおやけさん:Scratchでシューティングゲームをつくろう!・その3
- なかむらさん:Dashでロボットプログラミング
第4回 CoderDojo 調布を開催しました
12月24日(土)に第4回 CoderDojo 調布を開催しました。
クリスマスイブの午前中にも関わらず、たくさんの方にご参加いただきました。
クリスマスということでメンターからのプレゼントもありました。
当日の様子
チャンピオンとメンターの自己紹介
まずはチャンピオン(主宰)の石原さんの挨拶から。
続いてメンターの自己紹介兼こども達に紹介したいトピックの紹介です。
猪股さんからはArduinoの紹介です。Dojoにも2台のArduinoが常備されているので、借りて使うこともできます。
私、中村からはlittleBitsの紹介です。Arduinoよりももう少し簡単に電子工作を楽しむことができます。
おおやけさんからは「Scratchでシューティングゲームをつくろう!」の2回目(全10回)です。過去の連載はこちらから見ることができます。
プログラミングタイム
本番のプログラミングタイムです。
参加者のみなさんそれぞれやりたいことを進めます。今回はScratchで参加される子が多かったです。
Scratchが初めての子も3人いて、初めて用のコンテンツの「猫逃げ」を一人一人作っていました。
後ろの方ではメンターが用意したいろいろなおもちゃで遊ぶ子もいました。気分転換にいいですね。 参加者の親御さんと情報交換ができるのも楽しいです。
発表タイム
最後にみんなでやったことを発表しました。
Scratch島ではイライラ棒(懐かしい!)や
風船割ゲームなどが発表されました。
LuaでMinecraftでの作業を自動化できるMODを使ってプログラミングに挑戦していた子は、自動的に洞窟を掘り進むプログラムを完成させました。
初心者島の子も無事にゲームを完成させて発表できました。
発表してくれた参加者には「Raspberry Piではじめるどきどきプログラミング」の共著者でもある石原さんからわくプロシリーズのシール(レアです!)が皆さんに配られニコニコです。
ふりかえり
今回は、Scratchで参加された子が多かったですが、みんな全く違うものが出来上がりました。子どもの想像力はすごいですね。
おまけ
メンターの皆様、おつかれさま、ということで忘年会をおこないました。全員写っている写真がなかったのですが、そこは何でもできる調布のメンター陣。。おおやけさんが合成していかにも全員写っているような一枚になっています。
おまけ2
LEDが光るクリスマスツリーのプレゼント。当日撮り忘れたので製作中の写真です。
今回のメンターのみなさん
猪股直規さん、おおやけハジメさん、近岡真由美さん、中村薫さん、向井アリー有里子さん、大田一希さん、塩谷正幹さん
見学 落合さん(スポーツシッター・ジャパン)、小野さん(ICU)、森さん(CoderDojo 藤沢メンター)、佐竹さん
次回開催案内
次回は1月22日(日) 9:30~11:45を予定しています。
募集サイトが公開されています。CoderDojo 調布のDoorkeeperページから登録してください。
By 中村薫さん
Photo By 向井アリー有里子さん
CoderDojo 調布 会計報告を更新しました(2016/12/27)
第4回 CoderDojo 調布を無事終え、会計報告を更新しました。
一部の机の島がコンセントから遠く、タップを十分に伸ばせないことが度々あったので、電源延長ケーブル x 2 を購入しました。
CoderDojo 調布を継続的に開催できているのは皆様のご支援のおかげです。本当にありがとうございます。
By 石原淳也(代表)
参考
Scratchでシューティングゲームを作ろう!(2)
敵キャラクターを動かす
こんにちは、おおやけハジメです。
二回目は敵キャラクターを画面に出し、ランダムに動かすところを作りました。
シューティングゲームを作ろう(2) Scratchプロジェクト
プログラムはこんな感じです。
このプログラムのポイントは、このキャラクター「Ladybug2」自体は、プログラム開始と同時に「隠す」で見えなくしているところです。
では、どうやって敵キャラクターを画面に出すのか?
それは「クローン」を使います。クローンを使うと、2つ以上の同じキャラクター(プログラム)を、わざわざコピーして作らなくともプログラムで複製して画面に出すことが出来ます。
今回は、とりあえず敵を一匹だけ出すので、「ステージ」のスクリプトにクローンを作るプログラムを作成します。
これで、プログラム開始時に敵が画面に一匹だけ出てきます。
「Ladybug2のクローンを作る」を2つ、3つにするとその数だけの敵が画面に出てきます。全部の敵が別々の動きをすると思います。
Scratchでシューティングゲームを作ろう!(1)
自分のキャラクターを操作する
こんにちは、おおやけハジメです。
一回目は、自分のキャラクターをキー操作で動かすところを作りました。
シューティングゲームを作ろう(1) Scratchプロジェクト
プログラムはこれだけです。
ざっくり解説すると、プログラム開始時に猫のサイズを半分にし、画面下中央に位置を設定。その後に無限ループで左右の矢印キーを調べて、押されていたら押されたキーの方向へ猫を移動する…という感じです。
これがScratchの基本ループ処理になります。キー入力はイベントでも受け取れるのですが、イベントでキー入力を取得して処理をすると最初の一回目で一旦止まってしまい、カクカクした動きになってしまいます。ループで処理をすると動きがなめらかになります。