【マリオ風アクションゲーム】18.無敵とタイムオーバーをいれる

2020年9月9日水曜日

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

t f B! P L

 

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


18.無敵とタイムオーバーをいれる




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

前回の続きです。 17.ゲームオーバー





「キャラクター」が復活するときに一定時間だけ無敵状態にします。
ステージ毎に制限時間を作って、時間切れでゲームオーバーになるようにします。



今回やること:

  • 「キャラクター」が復活した直後は「てき」に当たらない
  • 制限時間の表示
  • 時間切れでゲームオーバーにする




18-1:「キャラクター」が復活するときに無敵にする


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





「変数」の「変数を作る」ボタンを押して、新しい変数を作ります。

名前を  「むてきタイム」にしましょう。





「次のステージへ」ブロックを見つけましょう。

一番下に次のブロックを追加します。


「(むてきタイム)を(0)にする」






「(キャラ移動)を受け取ったとき」ブロックを見つけましょう。

「POWをおす」ブロックの下に次のブロックを追加します。


「もし「(むてきタイム)>(0)」なら」
    「(むてきタイム)を(-1)ずつ変える」



※ ポーズのときは時間を減らしません




「(キャラクターにダメージ)を受け取ったとき」ブロックを見つけましょう。


「もし「(ダメージ)=(5)」なら」~「でなければ」の
「でなければ」の中の一番下に、次のブロックを追加します。


「(むてきタイム)を(60)にする」







次に 「てき」スプライトを選択してコードを開きましょう。





「ワープする」ブロックを見つけましょう。

「(状態)=(元気)」のブロックを 次のブロックに入れ替えます。


「「(状態)=(元気)」かつ
「「「(キャラクター)の(むてきタイム)」>(0)」でない」」






実行してみましょう。




「キャラクター」が復活して少しの間は「てき」に当たらなくなりました。






18-2:時間切れでゲームオーバーにする


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





「変数」の「変数を作る」ボタンを押して、新しい変数を作ります。

名前を  「時間切れ」にしましょう。





「次のステージへ」ブロックを見つけましょう。

一番下に次のブロックを追加します。


「(時間切れ)を(1800)にする」





「(キャラ移動)を受け取ったとき」ブロックを見つけましょう。

「もし(ポーズ=(OFF)なら」の中の一番下に、次のブロックを追加します。


「(時間切れ)を(-1)ずつ変える」






追加したブロックの下に、さらに次のブロックを追加します。


「もし「「(時間切れ)>(0)」でない」なら」
    「(ゲームオーバー)を(ON)にする」
    「(ポーズ)を(ON)にする」
    「タイマーをリセット」





画面の「時間切れ」変数の表示を「大きな表示」に変えて位置を調整します。






実行してみましょう。




※ だいたい1分ぐらいで時間切れゲームオーバーになります






18-3:やってみよう


「時間切れ」のカウントが残り200を切ったら、「キャラクター」の色が変わるようにしてみましょう。




ヒント:

「見た目」の

「(色)の効果を()ずつ変える」  もしくは、
「(色)の効果を()にする」 を使ってみましょう。






今回作ったのは、こういう感じになるよ → マリオ風ゲーム:Step18(無敵、時間切れ)

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




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


このブログを検索

ブログをよくする

自己紹介

自分の写真
はじめまして。あまるちゃんです。 子供のプログラミング学習に協力できるように教え方を勉強中です。 このブログでは自分が学んだことを投稿していきます。

連絡フォーム

名前

メール *

メッセージ *

ブログ アーカイブ

QooQ