こんにちは!デジタルステーション習志野スタッフのえびちゃんです!
皆さんはゲーム作りに興味ありますか?プログラミング初心者からベテランまで楽しめるのが、Scratchでのゲーム制作です!今回はシューティングゲームの作り方をシリーズで解説します!初回は「自機」つまりプレイヤーが操作するキャラクターを動かすところから始めましょう!自分だけのキャラクターを自由に動かせるようになると、ゲーム作りがもっと楽しくなりますよ!
なぜシューティングゲーム?
シューティングゲームは、以下の理由からプログラミング初心者におすすめです!
①シンプルな仕組み
キャラクターの動き、弾を撃つ機能、敵キャラを避ける動きなど、ゲームの基本的な要素で構成されている
②学びやすいロジック
プログラミングの基本である「条件分岐」や「ループ処理」を自然に学べる
③自由度の高さ
デザインや動きに自分のアイデアを反映できるので、創造力を発揮できる
プレイヤーが操作できる「自機」を作る
今回のゴールは、キーボードの矢印キーや「WASD」キーを使って自機を動かせるようにします!このステップをクリアすると、ゲームの土台がしっかり作れますよ~!!
プロジェクトの準備
①Scratchを開く
まずScratchの公式サイトにアクセスし、新しいプロジェクトを作成しましょう!
②スプライトを選ぶ
自機となるスプライトを選びます。今回はわかりやすく「ネコ」にしてみましょう!オリジナルのデザインにする方法は別の機会に解説します!
自機を動かすスクリプトの作成
いよいよコードを作り始めます!画像を参考にスプライトに動きを加えてみましょう!!
①キーボード操作で移動させる
・「イベント」から「旗がクリックされた時」をドラッグ。
まず、ゲームを開始するための「旗がクリックされたとき」というブロックをスクリプトに追加します。これは、ゲームを始める合図として使われます。
1.画面左側にある「イベント」カテゴリをクリックします。
2.「旗がクリックされたとき」という黄色のブロックをドラッグして、スクリプトエリアに置きます。
このブロックを追加すると、緑の旗をクリックした瞬間にスクリプトが動き出しますよ!
・「制御」から「ずっと」を追加
ゲーム中に常にキャラクターを動かせるようにするには「ずっと」繰り返す処理が必要です!このブロックを使うと、プログラムがゲーム中ずっと動作し続けます。
1.「制御」カテゴリをクリックします。
2.オレンジ色の「ずっと」というブロックをドラッグして、先ほどの「旗がクリックされたとき」のしたにくっつけます。
・「動き」と「調べる」のブロックを組み合わせて、矢印キーの入力に応じて自機が移動できるようにする
キャラクターを動かすためには「どのキーで押されたか」を判断する仕組みが必要です。これを「もし○○なら」というブロックを使って実現します。
1.「制御」カテゴリから「もし○○なら」というブロックをドラッグし、「ずっと」の中に置きます。
2.「調べる」カテゴリをクリックし、「○○キーが押された」というブロックをドラッグします。
3.「もし○○なら」の○○部分に、この「○○キーが押された」ブロックをはめ込みます
4.「○○キー」の部分をクリックして、「上向き矢印キー」などのキーに変更します。
これで、上向き矢印キーが押されたときに動作する条件が完成しました。
・座標を変えて動きを作る
Scratchでは、キャラクターを動かすときに「座標」という考え方を使います。画面の中心が「(0,0)」で右に行くと座標が増え、左に行くと減ります。同様に、上に行くとY座標が増え、下に行くと減ります。
1.「動き」カテゴリをクリックし、「Y座標を10ずつ変える」というブロックをドラッグします。
2.このブロックを「もし○○なら」の中に入れます。
これで、上向き矢印キーが押されたときに、自機が上に動くようになります。
・他の矢印キーにも対応させる
次にほかの方向にも動きを追加します。同じ手順を繰り返して下のように設定してみてください!
②自機が画面外に出ないようにする
Scratchでは、キャラクター(スプライト)が自由に動かせますが、画面外に出てしまうとゲームとして遊びにくくなります。そこで、画面の端でキャラクターが止まるようにします。
・X座標(横の位置):左端が-240、右端が240
・Y座標(縦の位置):下端が-180、上端が180
Scratchの画面は自機のスプライトがこれらの範囲を超えると、画面の外に出てしまいます。自機がこの範囲を超えないように制御します。
・条件を使おう
「もし○○なら」というブロックを使い、スプライトが画面の端を超えたかどうかを確認します。
1.「制御」カテゴリをクリックし、「もし○○なら」というブロックをドラッグします。
2.「動き」カテゴリから「X座標」というブロックをドラッグします
3.「演算」カテゴリから「○○>50」のブロックをドラッグします
4.これらのブロックを画像の通りに入れます。
5.この「X座標>50」の数値を変更して、「240」にします。これで、自機が右端(240)を超えたか確認できます。
6.同じように「X座標<-50」というブロックを使って、自機が左端(-240)を超えたか確認します。
・座標を修正する
画面の端を超えてしまったときに、自機をその場で止めるように設定します。
1.「動き」カテゴリから「X座標を○○にする」というブロックをドラッグします。
2.このブロックの数値を、それぞれ240(右端の場合)や-240(左端の場合)に設定します。
これで、右端または左端に到達したときに自機がとまります。
縦方向にも同じ処理を追加します。
・Y座標>180(上端を超えた場合)→Y座標を180にする
・Y座標<-180(下端を超えた場合)→Y座標を-180にする
これらのブロックも「ずっと」ブロックの中にいれて常に動作するようにしましょう!これにより、どんなに動かしても自機が画面外にでなくなります!
動作設定とカスタマイズ
実際に旗をクリックして、自機を動かしてみよう!!
動きがスムーズじゃないなと感じたら、X座標やY座標の数字を自由に変えてみよう!他にも自機の移動範囲を狭めたり広げたり、キー入力をWASD形式に変えてみよう!!
まとめ
今回の記事では、自機を作成して動かせるようになるまでの基本スペックを解説しました。Scratchは試行錯誤が簡単にできるので、ぜひ皆さんも自分のアイデアをどんどん形にしてみてください!このシリーズを通して、あなただけのオリジナルシューティングゲームを一緒に完成させましょう!
Scratchで遊びながら学べるゲーム開発、ぜひ挑戦してみてください!
自機の動きを完成させたら、次のステップは「弾を撃つ機能」を追加することです。次回は弾を発射する仕組みを解説し、いよいよゲームとしての形を作っていきます。
デジタルステーション習志野では子供たちに大人気のプログラミングツール『プロクラ』を使って、楽しんでプログラミングを学べます!プロクラは、Scratchと同じ直感的な操作で、初心者でもすぐに使いこなせます!
無料体験では、実際にプロクラを使って簡単なプログラムを作成し、プログラミングの楽しさを体験していただけます。興味のある方は是非お気軽にご参加ください!
デジタルステーション習志野
〒274-0063 船橋市習志野台4-1-7 習志野駅前郵便局2F