スクラッチでマリオ風のアクションゲームを作ってみる(その14)
14.リセット機能を追加する
ゲームの中で、最初からやり直す機能を追加します。
スクラッチにある ”はた(実行)”ボタンを押せばいいのですが、
作ったパラメータ(変数)を、プログラムでリセットできるようにしておくことで
ステージクリアなどができる準備になります。
リセット機能:
- ポーズ画面で「最初からはじめる」ボタンをクリックする
- ポーズ画面で「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.「(ゲームのロード中)を受け取ったとき」ブロックの中で値を変えてみる
他の作品記事もよければ読んでみてください。
「水色のパンダ団」が作ったスクラッチ作品の記事まとめ
スクラッチ作品の作り方や解説をした記事を整理しました。小学生などの初心者やゲームを作りたい中級、上級者などプログラミングのスキル別に作品をまとめています。
0 件のコメント:
コメントを投稿