Scratch当サイトについてホームScratchスクラッチで簡単なゲームを作ろう!プログラムの作り方とその流れ本ページはプロモーションが含まれています。2023.11.02前回は、条件分岐と5つのプログラム例についてご紹介しましたが、今回はScratch(スクラッチ)のプログラミング、今回はスクラッチで簡単なゲームを作ってたいと思います。ゲーム制作でよく使われる「変数」と「乱数」の考え方やスクラッチでのブロックの使い方について解説します。その後、ゲームを作成する流れ、スクラッチでのプログラミング方法を解説します。演算ブロックの使い方ランダム性と乱数(らんすう)プログラム例スクラッチで作るゲームについてゲーム内容を考えようゲームの流れとスプライトの動きを考えようスクラッチでゲームのプログラムを作ってみようスプライトを用意しようゲームスタート時のプログラムを作ろうゲーム進行中のプログラムを作ろうゲーム終了時のプログラムを作ろうスクラッチでプログラミングしたゲームを動かしてみようまとめまずはスクラッチの変数について知ろう変数は、プログラミングではとてもよく使われるアイテムです。簡単に言えば、値を入力する箱のようなものです。スクラッチのプログラム内でも色々な使い方ができます。今回作成するゲームでは、得点を数える時に使います。複数のスプライトがそれぞれのプログラム内で、得点を数えるための変数の値を変えることによって、得点を追加していくことができます。今回作るゲームでは、今から解説する「変数」を使うので、使い方や働きについて知っておきましょう。➀ブロックエリアの「へんすう」をクリックします。➁「へんすうをつくる」をクリックします。➂「あたらしいへんすうめい」を入力して、他のスプライトのプログラムで使う場合は「すべてのスプライトよう」にチェックします。他のスプライトで使わない場合は「このスプライトのみ」でよいでしょう。スクラッチの中ではその変数の値がステージ上に表示されています。非表示にすることもできます。変数を作るとコードエリアに変数が表示されます(➀参照)。変数名の横のチェックボックスをオン(青になる)にになっていて、ステージ左上に表示されています(➁参照)。変数がプログラム内で使用方法については、後半の記事「ゲームプログラムを作ってみよう」を参照してください。演算ブロックはプログラムの中で計算する、条件分岐文の条件の設定、乱数を使うなど、複雑なプログラム内でよく使われるブロックです。その中でも今回作成するゲームでは、【〇から〇までのらんすう】ブロックを使うので、「ランダム性と乱数(らんすう)」という考え方について簡単に説明します。ランダム性と乱数(らんすう)「ランダム性」という考え方はコンピューターサイエンスにおいて、重要な考え方です。「ランダム性」というのは規則がない、不規則な状態です。サイコロの目の出方と考えると分かりやすいかもしれません。その「ランダム性」を実現するひとつの方法として「乱数」が利用されます。スクラッチではその「ランダム性」を演算ブロックの【〇から〇までのらんすう】ブロックで実現することができます。プログラム例おばけ(Ghoast)が10回、ランダムな座標に現れるプログラムです。スプライトのおばけ(Ghoast)を作成します。うごきブロック【Xざひょうを●、yざひょうを●にする】の●に演算ブロックの【〇から〇までのらんすう】を入れます。〇の数字におばけがランダムに現れる範囲の数値を入力します。今回はXざひょうは90と-90、yざひょうは160と-160を入力します。おばけはステージのXざひょう90と-90、yざひょう160と-160の範囲内のランダムな位置に出現します。画像のプログラムを参考に作成して、動かしてみてください。数値を変更して、動作を確認してみましょう。スクラッチで作るゲームについてゲームを作成するためには、まずはゲーム内容を決めていきます。いっても、最初はなかなか思いつかないと思います。いう時は、今までやったことのあるゲームを参考に考えてみてください。スクラッチでは公開されているプロジェクトを動かしたり、プログラムを見ることができます。次にスプライトの種類や背景などの動きを考え、ゲームの流れを決定します。最初から細かいゲーム内容を決めていくのは難しいので、大まかな枠は決めて、あとはプログラムを作って動作を確認しながら、付け加えていくのもよいでしょう。ゲーム内容を考えようフルーツあつめゲームさる(Monkey)を左右矢印キーによって動かし、上から落ちてくるバナナ(Bananas)、りんご(Apple)、みかん(Orange)をゲット(触れる)して得点を競うゲーム。上から落ちてくるバナナをゲットする(触れる)と3点。りんごは2点とオレンジは1点。バスケットボールに触れたら、ゲームオーバーにする。ゲームを面白くするポイント➀スプライトごとに落ちるスピードを変えるバナナはゲットを難しくするため、バスケットボールは避けにくくするためにスピードを速くする。➁スプライトの出現する頻度(ひんど)を変える・得点の高いバナナは出現する頻度を少なくする。避けるアイテムのバスケットボールは、ゲームを面白くするために多くする。・乱数を使って出現する場所もランダムに出現させる。ゲームの流れとスプライトの動きを考えようスクラッチでは、スプライトごとにスプライトの動きをプログラミングします。「ゲームスタート時」「ゲーム進行中」「ゲーム終了時」に分けて、さる(Monkey)、バナナ(Bananas)、りんご(Apple)、みかん(Orange)、バスケットボール(Basketball)の動きの整理とそれを実現するためのプログラム内容を考えます。ゲームスタート時にする動きゲームスタート時にはゲームが始まるための準備、例えば変数のリセットなどの処理が必要です。スプライトごとに、ゲームが始まる時の必要な動きや処理を考えます。さる(Monkey)の動きについて・予め、変数「スコア」を作成する。「スコア」をリセットする・サイズを調整する・スタート位置を座標できめる・ゲームスタートのセリフを表示する・各スプライトにゲームスタートのメッセージを送るバナナ(Bananas)、りんご(Apple)、みかん(Orange)、バスケットボール(Basketball)の動きを考えよう・ゲームスタートボタンが押された時に前のゲーム時に残っているスプライトを非表示にする・サイズをスプライトごとに調整するゲーム進行中の動きを考えようゲームのメインの動きを考えます。さる(Monkey)の動き・左右矢印キーが押されたら、5歩ずつ動かす・さるが動いているように見せるため、コスチュームを変えるバナナ(Bananas)、りんご(Apple)、みかん(Orange)の動き・ゲームスタートからすぐに表示されないように、各スプライトごとにタイミングをとるように数秒待つ・各スプライトのスタート位置を決める。y座標(縦位置)は固定で、x座標を乱数を使ってランダムな位置から出現するようにする。・Y座標をマイナス数値ずつ変えることにより落下するように表示される。速度をスプライトごとに設定する。さるに触れた時の動きを考えよう・音をならして、変数「スコア」をバナナ3点、りんご2点、みかん1点ずつ変える・スプライトを非表示にする・乱数でランダムな時間待ち、位置を決め、表示させる端(ステージの下)に触れた時の動き各スプライトを非表示にし、乱数でランダムな時間を待ち、表示するバスケットボール(Basketball)の動きを考えよう・ゲームスタートからすぐに表示されないように、6秒待つ・各スプライトのスタート位置を決める。y座標(縦位置)は固定で、x座標を乱数を使ってランダムな位置から出現するようにする。・Y座標をマイナス数値ずつ変えることにより落下するように表示される。速度をスプライトごとに設定する。端(ステージの下)に触れた時の動きバスケットボールをかくし、乱数でランダムな時間待ち、表示するゲーム終了時の処理を考えようゲーム終了の処理はさるがバスケットボールに当たった時に行います。バスケットボール(Basketball)の動き・さるに触れた時、音を鳴らし、ゲームオーバーのセリフを言う・すべてをとめるスクラッチでゲームのプログラムを作ってみよう「ゲームの流れを考えよう」を参考にプログラムを作成します。バナナ(Bananas)、りんご(Apple)、みかん(Orange)はほとんど同じプログラムになります。Sky」に設定するさる(Monkey)、バナナ(Bananas)、りんご(Apple)、みかん(Orange)、バスケットボール(Basketball)を作成するゲームスタート時のプログラムを作ろうさる(Monkey)のスタート時のプログラム➀変数「スコア」を作る。へんすうブロック【スコアを0にする】を入れる。➁さるのサイズを調整。みためブロック【おおきさを70%にする】にする。➂さるのスタート位置決める。うごきブロック【xざひょうを0、yざひょうを-120にする】にする。➃ゲームスタートのメッセージを表示。みためブロック【〇と1びょういう】の〇にスタートのメッセージ「フルーツをあつめてね!バスケットボールにあたらないでね!」と入力する。➄イベントブロック【メッセージ1をおくる】を入れる。各スプライトはメッセージ1を受取った後、ゲームの動きをするようにプログラミングする。バナナ(Bananas)、りんご(Apple)、みかん(Orange)、バスケットボール(Basketball)のスタート時のプログラムを作ろう➀ゲームスタートボタンが押された時、みためブロック【かくす】を入れる。➁それぞれのスプライトのサイズを調整。みためブロック【おおきさを〇%にする】〇に数値を入力する。※バナナは70%にしました。他のスプライトも調整してみてください。プログラム例と同じでなくても大丈夫です。ゲーム進行中のプログラムを作ろうさる(Monkey)のゲーム進行中のプログラムを作成するまず、右向きやじるしで動くプログラムを作成します。➀せいぎょブロック【ずっと】の中に➁せいぎょブロック【もし~なら】の~に<みぎむきやじるしがおされたとき>を入れる➂うごきブロック【5歩うごかす】を入れる➃みためブロック【つぎのコスチュームにする】を入れる左向きやじるしの動きのプログラムは、上の右向きやじるしのプログラムをコピーして、変更すると簡単にできます。コピーする方法はもし<みぎむきやじるしがおされたとき>なら】の上にマウスを合わせて、右クリックします。「ふくせい」をクリックして、置きたい場所をクリックします。せいぎょブロック【もし~なら】の~を<ひだりむきやじるしがおされたとき>に変更します。うごきブロック【〇歩うごかす】の数値を-5に変更します。バナナ(Bananas)、りんご(Apple)、みかん(Orange)のゲーム進行中のプログラムバナナ(Bananas)のプログラムを参考にして、解説します。➀イベントブロック【[メッセージ1]をうけとったとき】を入れる。➁出現するまでの時間を決める。せいぎょブロック【〇びょうまつ】で、バナナ7秒、りんごとみかんは3秒にする。➂各スプライトのスタート位置を決める。うごきブロックの【xざひょうを〇、yざひょうを〇にする】でx座標にはえんざんブロック<-200から200までのらんすう>を入れる。➃ゲームスタート時で非表示にしているので、表示する。みためブロック【ひょうじする】を入れる。➄せいぎょブロック【ずっと】の中に➅うごきブロック【y座標を-〇ずつかえる】でy座標をマイナスの数値ずつかえていくことによって、下に落ちるように動いていく。速度をスプライトごとに設定する。※マイナスの数値が大きいほど落下するスピードが速くなります。落下するスピードはゲームを面白くするポイントになるので、プログラム例を参考に他のスプライトも色々試してみてください。さる(Monkey)に触れた時の動きのプログラムについて➆せいぎょブロック【もし<>なら】の条件に調べるブロックの<Monkeyにふれた>を入れる。➆-1へんすうブロック【スコアを〇ずつかえる】を入れる。〇の数値はスプライトごとに設定する。➆-2おとブロック【〇のおとをならす】を入れる。〇の音はスプライトごとに選択する。➆-3みためブロック【かくす】を入れる。➆-4うごきブロック【xざひょうを〇、yざひょうを〇にする】で次のスタート位置をきめる。ランダムな位置から表示されるようにx座標にはえんざんブロック<-200から200までのらんすう>を入れる。➆-5次に出現するまでの時間を決める。せいぎょブロック【〇びょうまつ】の〇にえんざんブロック<●から●までのらんすう>を入れる。●はそれぞれのスプライトごとに決める。※バナナは得点が高いので、出現する回数を少なくなるように大きな数字を入れる。スプライトを出現する回数はゲームを面白くするポイントになるので、他のスプライトもプログラム例を参考に色々試してみてください。➆-6みためブロック【ひょうじする】を入れる。ステージの下に触れた時の動きのプログラム➇せいぎょブロック【もし<>なら】の条件に調べるブロックの<はしにふれた>を入れる。➇-1みためブロック【かくす】を入れる。➇-2うごきブロックの【xざひょうを〇、yざひょうを〇にする】で次のスタート位置を決める。x座標にはえんざんブロックの<-200から200までのらんすう>を入れる。➇-3次に出現するまでの時間をせいぎょブロックの【〇びょうまつ】の〇にえんざんブロックの<●から●までのらんすう>を入れる。●はそれぞれのスプライトごとに決める。※バナナは得点が高いので、出現する回数を少なくなるように大きな数値を入れています。スプライトを出現する回数はゲームを面白くするポイントになるので、他のスプライトもプログラム例を参考に色々試してみてください。➇-4みためブロック【ひょうじする】を入れる。バスケットボール(Basketball)のゲーム進行中のプログラム➀イベントブロック【[メッセージ1]をうけとったとき】を入れる➁出現するまでの時間を決める。せいぎょブロック【〇びょうまつ】で、バスケットボール(Basketball)は6秒にする。➂スタート位置を決める。うごきブロックの【xざひょうを〇、yざひょうを〇にする】でx座標にはえんざんブロック<-200から200までのらんすう>を入れる。➃ゲームスタート時で非表示にしているので、表示する。みためブロック【ひょうじする】を入れる。➄せいぎょブロックの【ずっと】の中に➅うごきブロック【y座標を-〇ずつかえる】でy座標をマイナスの数値ずつかえていくことによって、下に落ちるように動いていく。※マイナスの数値が大きいほど落下するスピードが速くなります。バスケットボールの落下スピードが速い方がゲームが難しくなります。ステージの下に触れたときのプログラム➆せいぎょブロック【もし<>なら】の条件に調べるブロックの<はしにふれた>を入れる。➆-1みためブロック【かくす】を入れる。➆-2うごきブロックの【xざひょうを〇、yざひょうを〇にする】でスタート位置を決める。x座標にはえんざんブロックの<-200から200までのらんすう>を入れる。➆-3次の出現するまでの時間を決める。せいぎょブロックの【〇びょうまつ】の〇にえんざんブロックの<1から2までのらんすう>を入れる。※バスケットボールは触れるとゲーム終了するので、出現するまでの時間が短い方がゲームが難しくなります。➆-4みためブロック【ひょうじする】を入れる。ゲーム終了時のプログラムを作ろうバスケットボール(Basketball)がさる(Monkey)に触れたときの処理でゲームを終了させます。➀せいぎょブロック【もし<>なら】の条件にしらべるブロック<Monkeyにふれた>を入れる。➁おとブロック【〇のおとをならす】を入れる。〇は「basketball」にする。➂ゲームオーバーのメッセージを表示します。みためブロックの【〇と●びょういう】の〇に「ゲームオーバー!」とメッセージを入力し、●の時間は0.5秒にする。➃せいぎょブロック【すべてをとめる】を入れる。スクラッチでプログラミングしたゲームを動かしてみようゲームを動かしてみて、決めたゲーム内容に合った動きをするかをテストしてみましょう。・さる(Monkey)は左右のキーでスムーズに動くか。・フルーツのスプライトに触れたときに「スコア」が正しく増えているか。・バスケットボールに触れたとき、ゲーム終了するか。プログラムが正しい動きをするまで、頑張って修正しましょう。この作業がとても大事なことです。ゲームを面白くする工夫を色々考えてみましょう。まとめ今回はスクラッチでゲーム作りにチャレンジしました。今回作成したプログラムのプロジェクトはこちらから確認することができます。アクセスして、ゲームを動かしてみたり、プログラムを参考に色々なアレンジして、面白いゲームの作成にチャレンジしてください。スクラッチでプログラミングを勉強したいけど、個人学習では難しいと感じる人は、スクラッチで楽しく学べる子供向けプログラミング教室で学習する方法もあります。プログラミング教室なら親のサポートは不要。オンライン対応の教室なら送迎もいらないので負担は少なくなります。無料体験学習を開催する教室もあるので、気なる方は是非チェックしてみてくださいね。コピーstudycodekids-writerをフォローするstudycodekids-writer関連記事ScratchScratch(スクラッチ)コースがある子供向けプログラミング教室13選ブロックを組んでプログラミングの基礎が学習できる「Scratch(スクラッチ)」を用いたコースで、楽しく学べるおすすめの子供向けプログラミング教室をご紹介しています。スクラッチはゲームやロボット作りなど様々な場面で活用できるツールです。教室での学習はもちろん、オンライン学習に対応したスクールもあります。Scratchスクラッチで背景を縦スクロールさせるプログラムを作ってみよう!スクラッチで背景を縦スクロールさせるプログラムの作り方を解説しています。2回に分けて、最終的には縦スクロールのシューティングゲームを完成させることを目指します。条件分岐と5つのプログラム例スクラッチで簡単な5つのプログラムをご紹介。プログラミングには欠かせない条件分岐についても触れています。Scratch【入門編】Scratch(スクラッチ)とはどんなもの?基本的な使い方・操作方法について解説Scratch(スクラッチ)を使うための環境や準備、用語の説明や始め方、スクラッチの画面説明や操作方法など、基礎的な部分を解説しています。これからスクラッチを通してプログラミングを学びたい人向けのページです。座標の考え方・動かし方Scratch(スクラッチ)で簡単なプログラムを組み、実際に動かす方法や保存方法、座標の考え方について画像付きで解説しています。ScratchScratch(スクラッチ)のイベントってどんなもの?使い方やサンプルプログラムをご紹介この記事では、Scratch(スクラッチ)のイベントブロックの使い方やイベントブロックを使ったサンプルプログラムをご紹介していきます。コメントをキャンセルメールアドレスが公開されることはありません。※サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。上に表示された文字を入力してください。Scratch当サイトについてホーム検索トップサイドバータイトルとURLをコピーしました。