【マリオ風アクションゲーム】12.POWブロックを追加する

2020年8月14日金曜日

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

t f B! P L

 

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


12.POWブロックを追加する



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

前回の続きです。 11.ボスを出現させる




マリオブラザーズにあるPOWブロックを作っていきます。

このゲームでのPOWブロックは次の動作をします。

  • 下から押すと効果を発動する
  • 3回まで押せる(1回押すごとに細くなる)
  • 3回押すと消える
  • 押すと出現している「てき」は下から押したときと同じ状態になる
  • 押すと出現している「アイテム」を獲得できる


本当のPOWブロックは、地面に接地していない敵には効果がありませんが、このゲームでは空中の敵も気絶させることができます。



それでは作っていきましょう。




12-1:「POW」スプライトを作成する


新しいスプライトを作ります。




スプライトの名前を「POW」にします。

X座標=0、Y座標=0 にしましょう。




「コスチューム」を開いてPOWブロックを描きます。





コスチュームの名前を「POW」にして、右クリックで「複製」をします。





複製した「POW2」のPOWブロックを縦に細くします。



「POW2」を複製して「POW3」を作り、「POW3」をさらに細くします。



「POW3」を複製して「POW4」を作り、「POW4」から絵を完全に消します。




これでコスチュームの準備ができあがりました。





12-2:「POW」のコードを作る


「POW」スプライトのコードを開きましょう。




新しい変数「POWスイッチ」を作りましょう。





「はたが押されたとき」イベントをコードに入れます。




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

「(POWスイッチ)を(OFF)にする」
「コスチュームを(POW)にする」
「表示する」




「(キャラ移動)を受け取ったとき」ブロックをコードに入れて、
「ずっと~」ブロックを追加します。




「ずっと~」ブロックの中に、次のコードを追加しましょう。

「もし「(POWスイッチ)=(ON)」なら」
    「次のコスチュームにする」




これで「POW」スプライトのコードは終わりです。





12-3:「キャラクター」がPOWブロックを押す


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




「ブロック定義」の「ブロックを作る」ボタンで、「POWをおす」ブロックを作ります。





作った「POWをおす」ブロックをコードに入れて、次のコードを追加しましょう。

「(POWスイッチ)を(OFF)にする」
「もし「(重力)<(90)」なら」
  



「もし「(重力)<(90)」なら」の中に次のコードを入れましょう。

「(コスチュームの名前)を(コスチュームの(名前))にする」
「コスチュームを(判定用あたま)にする」
「コスチュームを(コスチュームの名前)にする」





「コスチュームを(判定用あたま)にする」ブロックの下に次のコードを追加します。

「もし「(POW)に触れた」なら」
    「(POWスイッチ)を(ON)にする」
    「(重力)を(90)にする」




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

一番したに「POWをおす」ブロックを追加します。






実行してみましょう。






12-4:「てき」にPOWの効果をかける


「てき」スプライトのコードを開きましょう




「ぶきに当たる」ブロックを見つけましょう。

「(ぶき)に触れた」ブロックが入っているところを、次のブロックに入れ替えます。

「「(ぶき)に触れた」または「(POWスイッチ}=(ON)」」





「てき」の状態が「たおされた」のときは武器もPOW効果も効かないようにしましょう。


「もし「「(ぶき)に触れた」または「(POWスイッチ)=(ON)」」なら」
の中にあるブロックを全て、次のブロックの中に入れます。


「もし「「(状態)=(たおされた)」ではない」なら」
   → このブロックの中に入れます





これで、POWスイッチがONになったら、ぶきで攻撃されたのと同じ処理を通ります。





12-5:「アイテム」にPOWの効果をかける


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





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

「「(キャラクター)に触れた」または「(ぶき)に触れた」」ブロックを次のコードに入れ替えます。


「「「(キャラクター)に触れた」または「(ぶき)に触れた」」または「(POWスイッチ)=(ON)」





実行してみましょう。






12-6:やってみよう


「てき」を10匹たおしたら、POWブロックを復活させてみよう。



ヒント:

「てき」の「復活する」ブロックのなかで、「(POW復活)を送る」を呼ぶようにしてみよう。
(新しいメッセージを作ってね)




「POW」スプライトのコードに「(POW復活)を受け取ったとき」のブロックを入れてコードを追加しよう。








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

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




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


このブログを検索

ブログをよくする

自己紹介

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

連絡フォーム

名前

メール *

メッセージ *

ブログ アーカイブ

QooQ