【マリオ風アクションゲーム】7.下から攻撃する

2020年7月30日木曜日

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

t f B! P L

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

7.下から攻撃する





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

前回の続きです。 6.敵を出す




7-1:頭がぶつかる場所をつくる


「キャラクター」に頭がぶつかったか調べる用のコスチュームを作ります。

「キャラクター」を選択して「コスチューム」を開きましょう。




「判定用」コスチュームを選択して、四角の上を少し下げておきます。
(ネコのひたいぐらいまで下げよう)




「判定用」を右クリックして「複製」します。




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

四角のサイズを小さくして、「判定用」より少し上にでるようにしましょう。




こういう感じにコスチュームが4つになります。
※ 「判定用あたま」の色は好きな色にしてください







7-2:「ぶき」をつくる


新しいスプライトを「描く」で作りましょう。




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




ここで、「キャラクター」のコスチュームに切り替えます。

「判定用:あたま」を選択してください。
そして、画像の「コピー」ボタンを押します。




つぎに、「ぶき」のコスチュームに切り替えます。

そして、画像の「貼り付け」ボタンを押します。




貼り付けた画像の上に、細長い四角を描きましょう。

そして、貼り付けた画像を削除します。
コスチュームの名前を「ぶき」にしておきます。




「ぶき」のスプライトの「大きさ」を 40 にします。

※ 絵を描いてからでないと「大きさ」を変えられないよ




大きさを40にしたときに壁を突き抜けるぐらいの長さになっていればOKだよ。







7-3:すべてのスプライト用の変数を作る


「キャラクター」から「ぶき」を表示するための変数を作ります。

「キャラクター」と「ぶき」のどちらのスプライトからも使えるように、「すべてのスプライト用」変数にします。

作る変数は次の3つです。

・「ぶきを出す」
・「ぶきのX」
・「ぶきのY」

「変数」から「変数を作る」ボタンを押しましょう。




↑と同じように名前を変えて「ぶきのX」と「ぶきのY」も作りましょう。

作った3つの変数に、画面に表示するチェックが入っていたら外しておきましょう。







7-4:「キャラクター」が頭をぶつける


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




「ブロック定義」から「ブロックを作る」ボタンを押します。

ブロックの名前を「攻撃する」にして新しいブロックを作りましょう。




「攻撃する」ブロックに次のコードを追加します。

・コスチュームの名前を変数に入れる
・コスチュームを「判定用あたま」に変える
・「kabe」に触れたか調べる
・コスチュームを元に戻す




次に、頭がぶつかったときに「ぶき」を出すための変数を設定します。

・「ぶきを出す」を「はい」にする
・「ぶきのX」を「キャラクター」の「X座標」にする
・「ぶきのY」を「キャラクター」の「Y座標」にする




「(キャラ移動)を受け取ったとき」ブロックに「攻撃する」ブロックを追加します。







7-5:「ぶき」を出す


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




「イベント」から「(キャラ移動)を受け取ったとき」ブロックを取り出します。

「制御」から「ずっと~」繰り返すブロックを取り出してくっつけます。





「ずっと~」繰り返しブロックの中に次のコードを追加します。

・「もし「(ぶきを出す)=(はい)」なら~でなければ」ブロックを追加
・「~なら」の中に次のコードを追加する

       「表示する」
        「X座標を(ぶきのX)にする」
        「Y座標を(ぶきのY)にする」
        「(ぶきを出す)を(いいえ)にする」

・「でなければ~」の中に次のコードを追加する

        「隠す」




試しに、「隠す」ブロックを外して実行してみましょう。




「ぶき」が出たところが見えます。





「隠す」ブロックを元に戻しましょう。




「ぶき」が見えないようにします。

「はたが押されたとき」ブロックに「(幽霊)の効果を(100)にする」ブロックをくっつけましょう。







7-6:「てき」が「ぶき」に当たる


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




「ブロック定義」から「ブロックを作る」ボタンを押しましょう。

新しいブロック「ぶきに当たる」ブロックを作成します。





「ブロック定義」から「ぶきに当たる」ブロックを取り出します。

次のコードをくっつけましょう。

・「コスチュームを(判定用)にする」
・「もし「(ぶき)に触れた」なら」を追加して中に
        「最初の位置に移動する」ブロックを入れる

・「コスチュームを(Crab-a)にする」




「(キャラ移動)を受け取ったとき」ブロックに「ぶきに当たる」ブロックをくっつけます。



実行してみましょう。







7-7:「アイテム」が「ぶき」に当たる


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




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

「演算」から「○または○」ブロックを取り出します。

「ワープする」ブロックにある「(キャラクター)に触れた」ブロックを左側の○に移動します。

右側の○には「(ぶき)に触れた」ブロックを入れましょう。




作った「「(キャラクター)に触れた」または「(ぶき)に触れた」」ブロックを元の位置に戻します。




実行してみましょう。








7-8:やってみよう


「てき」が「ぶき」にぶつかったとき、飛び上がってそのまま進むようにしてみよう。

ヒント:
「最初の位置に移動する」ブロックのところを変えるよ。





次の記事だよ → 8.敵を気絶させる


今回作ったプロジェクトはここだよ →  マリオ風ゲーム:Step7(攻撃)

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




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


このブログを検索

ブログをよくする

自己紹介

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

連絡フォーム

名前

メール *

メッセージ *

QooQ