【アフィリエイト広告を利用しています】
この記事ではScratchを学び続けている中級者の方に向けて、マリオ風ゲームの作り方を解説します。
ステップ1の今回は、プレイヤーをキーボードで操作して左右に動いたりジャンプしたりするプログラムを作ります。
Scratchの公式サイトはこちら→https://scratch.mit.edu/
以下の記事でマリオ風ゲームの作り方を7ステップに分けて詳しく解説していますので、併せてご覧ください。
》【Scratch中級者向け】マリオ風ゲームの作り方完全解説
このブログが本になりました!
完成品はこちら
まずはステップ1の完成品を見てみましょう。下の画面中央の旗ボタンをクリックしてください。
操作方法は次の通りです。
- 左右の矢印キーでネコを左右に動かします。
- スペースキーでジャンプします。
- 穴に落ちたらプログラムが停止してゲームオーバーです。
スプライトと背景を準備しよう
始めにステップ1に使うスプライトと背景を準備します。
まずスプライトですが、ネコを動かすプログラムにすると地面の端から落ちないバグが起きたり、ひげやしっぽの先が敵に触れるだけでゲームオーバーになりゲームがとても難しくなってしまいます。
そこでネコの代わりに下のような「ターゲット」を動かして、ネコはターゲットについていくだけのプログラムにします。
ではターゲットのスプライトを作ります。初めからいるネコの他に新しくスプライトを選び、「Cat」を追加しましょう。
続いて「Cat」のペイントエディターを開き、下のように赤い四角形を描きます。
ネコよりも少し小さく四角形を描くのがポイントですよ。
以下の記事でペイントエディターの使い方を詳しく解説していますので、併せてご覧ください。
》【Scratch入門】ペイントエディターを使ってカービィを描こう
描いた四角形を最背面へ移動します。
ネコのイラストを削除します。
四角形の中心位置が中央になるように移動します。
「コスチューム2」は使わないので削除しましょう。これでターゲットの完成です。
続いて背景を作成します。背景のペイントエディターを開いて、下のように緑色の四角形を組み合わせて地面を描きましょう。
これで背景も完成しました!
変数とメッセージを準備しよう
次にステップ1に使う変数とメッセージを準備します。
以下の記事で変数とメッセージを詳しく解説していますので、併せてご覧ください。
》【Scratch入門】変数とメッセージを使ってアニメーションを作ろう
変数は次の2つの変数を作成しましょう。
変数名 | 内容 | 表示 |
---|---|---|
ジャンプ中 | ターゲットがジャンプ中か否かを表す変数 | しない |
加速度 | ターゲットが落ちる時の動きを作る変数 | しない |
メッセージは次の1つのメッセージを作成します。
メッセージ名 | 内容 | 送るスプライト | 受け取るスプライト |
---|---|---|---|
コスチューム変化 | ネコのコスチュームを変えるとき | ターゲット | ネコ |
これで変数とメッセージが準備できました!
「ターゲット」のプログラムを作ろう
それではターゲットのプログラムから作っていきましょう。
旗が押されたとき
旗が押されたときのプログラムは下の通りです。
旗が押されたら「ジャンプ中」と「加速度」を0にして、90度に向けて回転方法を左右のみにします。
大きさを50%にして、幽霊の効果を100にしたら最初の位置に設定します。
そしてブロック定義で作った「左右移動」「重力」「着地」ブロックをずっと繰り返します。
ブロック定義の使い方については次の章で説明します。
ブロック定義の使い方
プログラムが長くなると、どこにどんなプログラムが書いてあるか分かりにくくなり、想定しないバグが起きやすくなってしまいます。
そこでブロック定義を使うとプログラムがスッキリして見やすくなり、間違いを減らすことができます。
使い方は次の通りです。
まず「ブロック定義」カテゴリーにある「ブロックを作る」をクリックします。
ブロックの名前を入力し、OKをクリックします。
作成したブロックが表示されるので、ブロックを使う場所に移動します。
ブロックで実行するプログラムは、定義ブロックの下に作りましょう。
「左右移動」ブロック
「左右移動」ブロックのプログラムは下の通りです。
もし右矢印キーが押されたら、90度に向けて5歩動かし、「コスチューム変化」を送ります。
もし地面の緑色に触れたら、-5歩動かします。
もし左矢印キーが押されたら、-90度に向けて5歩動かし、「コスチューム変化」を送ります。
もし地面の緑色に触れたら、-5歩動かします。
「重力」ブロック
「重力」ブロックのプログラムは下の通りです。
まず「加速度」を-1ずつ変えて、y座標を「加速度」ずつ変えます。そして「ジャンプ中」を1にします。
地面の緑色に触れたとき、もし「加速度」が1より大きいときは、つまりジャンプして天井の地面にぶつかったときなので、「加速度」をマイナスにして、y座標を「加速度」ずつ変えます。
地面の緑色に触れたとき、もし「加速度」が1より小さいときは、つまりジャンプして地面に着地したときなので、「加速度」と「ジャンプ中」を0にします。
もしy座標が-180より小さいとき、つまりネコが穴に落ちたときはすべてのプログラムを止めます。
「着地」ブロック
まず「着地」ブロックを作るときには、下のように「画面を再描画せずに実行する」にチェックを入れましょう。
「着地」ブロックのプログラムは下の通りです。地面の緑色に触れなくなるまでy座標を1ずつ変えます。
スペースキーが押されたとき
スペースキーが押されたときのプログラムは下の通りです。
スペースキーが押されたら、まずy座標を-1ずつ変えます。
そして地面の緑色に触れたら、「加速度」を14にして「ジャンプ中」を1にします。これで地面に立っているときだけジャンプできるようになります。
「ネコ」のプログラムを作ろう
次にネコのプログラムを作りましょう。
旗が押されたとき
旗が押されたときのプログラムは下の通りです。
旗が押されたら大きさを50%にして、回転方法を左右のみにして表示します。
そして次の動作をずっと繰り返します。まずターゲットの所へ行ってターゲットの向きに合わせます。
右矢印キーと左矢印キーが押されていないとき、つまりネコが動いてないときはコスチューム1にします。
「ジャンプ中」が1のとき、つまりジャンプ中であればコスチューム2にします。
もしy座標が-180より小さいとき、つまりネコが穴に落ちたときは隠します。
「コスチューム変化」を受け取ったとき
「コスチューム変化」メッセージを受け取ったときのプログラムは下の通りです。「ジャンプ中」が0のとき、つまりジャンプ中でないときは次のコスチュームにします。
これでステップ1のプログラムが完成しました!
まとめ
この記事ではScratch(スクラッチ)を使ったマリオ風ゲームの作り方のステップ1として、プレイヤーをキーボードで操作して左右に動いたりジャンプしたりするプログラムを解説しました。
このマリオ風ゲーム【ステップ1】のScratchプロジェクトのリンクはこちらです。自分オリジナルのゲーム作りにぜひ活用してくださいね。
》マリオ風ゲーム【ステップ1】 on Scratch
ステップ1のプログラムが完成したら、以下の記事をご覧いただきステップ2にチャレンジしてみましょう!
ゲームをやるのも楽しいけど、作るのも楽しい!
もっと本格的なゲームを作ってみたい!
このような好奇心が芽生えたら、お子様の豊かな未来を切り拓く可能性を広げるチャンスです。
近年、プログラミング教育はますます重要視されています。
2020年度から小学校でのプログラミング教育の必修化が始まっており、また大学入試では2025年1月から大学入学共通テストにプログラミングを含む教科「情報」が出題されます。
プログラミングは創造性や論理的思考を育む素晴らしいスキルですが、親御さんがプログラミングを教える専門家でない場合、お子様が学ぶためのサポートが必要です。
その手助けとして、プログラミング教室のご検討はいかがでしょうか?
以下の記事で小学生向けのおすすめプログラミング教室を紹介していますので、合わせてご覧いただければ幸いです。一緒に、子供たちの未来を輝かせる扉を開きましょう!
》【2024年最新版】小学生向けプログラミング教室3選
この記事を最後まで読んでいただき、ありがとうございました!
コメント