【マリオ風アクションゲーム】14.リセット機能を追加する

2020年8月26日水曜日

Scratch スクラッチ プログラミング マリオ

t f B! P L

 

スクラッチでマリオ風のアクションゲームを作ってみる(その14)


14.リセット機能を追加する




作り方まとめページがあるよ→ 記事まとめ

前回の続きです。 13.ポーズ機能を追加する





ゲームの中で、最初からやり直す機能を追加します。


スクラッチにある  ”はた(実行)”ボタンを押せばいいのですが、

作ったパラメータ(変数)を、プログラムでリセットできるようにしておくことで

ステージクリアなどができる準備になります。



リセット機能:

  • ポーズ画面で「最初からはじめる」ボタンをクリックする
  • ポーズ画面で「q」ボタンを押す
  • 得点やてきを倒した数などの数値が0にもどる




14-1:「キャラクター」をリセットする


「キャラクター」スプライトを選択してコードを開きます。





「ブロック定義」の「ブロックを作る」ボタンを押して、新しいブロックをつくります

名前は  「はじめからスタート」にします






つくった  「はじめからスタート」ブロックをコード上にだして、

「はたが押されたとき」 ブロックのコードを移動します

つぎのブロックだけ残して全部移動してください

「(最前面)へ移動する」
「(キャラ移動)を送る」






「はたが押されたとき」ブロックの一番上に  「はじめからスタート」ブロックを追加します。





「イベント」にある  「(  )を受け取ったとき」ブロックをコード上にだして、

「新しいメッセージ」を選択しましょう。




新しいメッセージ  「はじめからスタート」を作ります。






つくった  「(はじめからスタート)を受け取ったとき」ブロックに

「はじめからスタート」ブロックを追加します。




これで  「キャラクター」のリセットは終わりです。





14-2:「てき」をリセットする


「てき」スプライトを選択してコードを開きます。





「ブロック定義」の「ブロックを作る」ボタンを押して、新しいブロックをつくります。

名前は  「はじめからスタート」にします。







つくった  「はじめからスタート」ブロックをコード上に出して、

「はたが押されたとき」ブロックのコードを、全部移動します。


移動した後、  「(キャラ移動)を送る」ブロックを消しましょう。

※  「(キャラ移動)を送る」ブロックは残しても動きます



そして、「はたが押されたとき」ブロックに「はじめからスタート」ブロックを追加します。





「(はじめからスタート)を受け取ったとき」ブロックをコード上に出して、

「はじめからスタート」ブロックを追加しましょう。




これで  「てき」のリセットは完了です。





14-3:「アイテム」をリセットする


「アイテム」スプライトを選択してコードを開きます。




(ここからは  「てき」の手順とほとんど同じです)


「ブロック定義」の「ブロックを作る」ボタンを押して、新しいブロックをつくります。

名前は  「はじめからスタート」にします。




つくった  「はじめからスタート」ブロックをコード上に出して、

「はたが押されたとき」ブロックのコードを、全部移動します。



移動した後、  「(キャラ移動)を送る」ブロックを消しましょう。

※  「(キャラ移動)を送る」ブロックは残しても動きます



そして、「はたが押されたとき」ブロックに「はじめからスタート」ブロックを追加します。





「(はじめからスタート)を受け取ったとき」ブロックをコード上に出して、

「はじめからスタート」ブロックを追加しましょう。





これで  「アイテム」のリセットは完了です。






14-4:「POW」をリセットする


「POW」スプライトを選択してコードをひらきます。




(ここからは  「てき」の手順とほとんど同じです)


「ブロック定義」の「ブロックを作る」ボタンを押して、新しいブロックをつくります。

名前は  「はじめからスタート」にします。





つくった  「はじめからスタート」ブロックをコード上に出して、

「はたが押されたとき」ブロックのコードを、全部移動します。




そして、「はたが押されたとき」ブロックに「はじめからスタート」ブロックを追加します。





「(はじめからスタート)を受け取ったとき」ブロックをコード上に出して、

「はじめからスタート」ブロックを追加しましょう。




これで  「POW」のリセットは完了です。





14-5:「最初からはじめる」ボタンを作る


「停止画面」スプライトを選択して  コスチュームをひらきます。




「ポーズ」コスチュームを選択して、「最初からはじめる」ボタンを

四角とテキストツールをつかって作りましょう。




新しい  コスチュームを作成します。




新しい  コスチュームの名前を  「判定用リセット」にします。





次に、「ポーズ」コスチュームにもどって

「最初からはじめる」ボタンの四角をコピーします。






「判定用リセット」コスチュームに移動して、貼り付けましょう




「ポーズ」コスチュームの「最初からはじめる」ボタンと同じ位置にコピーされます。
(もし、ずれていたら調整してください)






コード  をひらいて、「入力」ブロックをみつけましょう。

「もし「マウスが押された」なら」ブロックの上に、次のブロックを追加しましょう。


「もし「(q)キーが押された」なら」
    「(はじめからスタート)を送る」





「もし「マウスが押された」なら」ブロックの中の  一番下に

次のブロックを追加しましょう。


「コスチュームを(判定用リセット)にする」
「もし「(マウスのポインター)に触れた」なら」
    「(はじめからスタート)を送る」






実行してみましょう。








14-6:ロード画面をつくる


ゲームをリセットするときに、ロード画面を表示してみます。

実際にロードするわけではないのですが、雰囲気で。


「停止画面」スプライトを選択してコードを開きます。




新しい変数を作ります。

名前を  「ロード中」にしましょう。




「はたが押されたとき」ブロックの一番したに、次のコードを追加します。

「(ロード中)を(OFF)にする」





「(キャラ移動)を受け取ったとき」ブロックにある

「入力」ブロックを  つぎの制御ブロックの中に入れます。





コスチュームに切り替えましょう。


新しいコスチュームをつくって、名前を「ロード中」にします。






「ロード中」コスチューム にロード中の画面を描きます。




コードに切り替えましょう。


「イベント」の「( )を受け取ったとき」ブロックで、

「新しいメッセージ」を作ります。




名前を  「ゲームのロード中」にします。





「(キャラ移動)を受け取ったとき」ブロックにある

(はじめからスタート)を送る」ブロックを
(ゲームのロード中)を送る」に変えます

2か所あるので、両方とも変えてください。




「(ゲームのロード中)を受け取ったとき」ブロックを出して、

次のコードを追加します。


「タイマーをリセット」
「「(タイマー)>(2)」まで繰り返す」





「「(タイマー)>(2)」まで繰り返す」ブロックの中に

次のコードを追加します。





一番下に  つぎのコードを追加しましょう。

「(ロード中)を(OFF)にする」
「(はじめからスタート)を送る」





実行してみましょう。






14-7:やってみよう


「ロード中」画面がでているときに、プログレスバー を出してみましょう。

変数 の「スライダー」表示をつかいます。

0 → 100  に向かうように作ってみてください。


※ なくてもゲームには影響ありません



ヒント:

1.変数  「しんちょく」を作ります (すべてのスプライト用)
2.「しんちょく」変数の表示を 「スライダー」に変えます
3.「(ゲームのロード中)を受け取ったとき」ブロックの中で値を変えてみる










今回作ったのは、こういう感じになるよ →  マリオ風ゲーム:Step14(リセット)

プロジェクトが作れなかった場合は、動きだけでも見てみてね。




他の作品記事もよければ読んでみてください。


このブログを検索

ブログをよくする

自己紹介

自分の写真
はじめまして。はるはるです。 中2の息子と小5の娘を抱える2児の父です。今はゲーム会社で働いています。 子供のプログラミング学習に協力できるように教え方を勉強中です。 このブログでは簡単なゲームを作りながら自分が学んだことを少しずつ共有していきます。 情報処理の試験をたまに受けます。 第二種情報処理技術者 ソフトウェア開発技術者 基本情報処理技術者 応用情報処理技術者 twitter: https://twitter.com/amaruchan007

連絡フォーム

名前

メール *

メッセージ *

ブログ アーカイブ

QooQ