【マリオ風アクションゲーム】5.土管を出す

2020年7月24日金曜日

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

t f B! P L

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

5.土管を出す



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

前回の続きです。 4.アイテムを出す



5-1:土管の中の道を作る


新しく壁になるスプライトを作成します。





スプライトの名前は「kabe2」にしておきましょう。
X座標=0、Y座標=0 にしておきます。




「kabe2」のコスチュームに、アイテムが出現する少し下のところへ線を引きます。




次に、一番下の段へアイテムが乗る位置に線を引きます。
このとき、アイテムの「判定用」が通れる高さにしてください。




「kabe2」のコスチュームはこのようになります。








5-2:アイテムが「kabe2」にぶつかるようにする


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




「ブロック定義」から「ブロックを作る」ボタンを押して、新しいブロックを作ります。
名前は「ぶつかったか調べる」にします。




次に、調べた結果を入れる変数を作ります。
名前は「調べた結果」にします。




「ぶつかったか調べる」ブロックを次のとおりに作ってください。





今度は、「壁にぶつかる」ブロックを見つけましょう。




「壁にぶつかる」ブロックの中で、
「(壁の名前)に触れた」ブロックが使われているところの4か所を修正します。





上から1つ目と2つ目、4つ目は、次のように修正します。

1.「もし「(壁の名前)に触れた」なら」ブロックの上に「ぶつかったか調べる」ブロックを挿入

2.「(壁の名前)に触れた」ブロックを取り出す(消してよいです)

3.「(調べた結果)=(触れた)」ブロックを変わりに入れる





上から3つ目の箇所は、次のように修正します。

1.「もし「「(壁の名前)に触れた」ではない」なら」ブロックの上に「ぶつかったか調べる」ブロックを挿入

2.「もし「「(壁の名前)に触れた」ではない」なら」ブロックを取り出す

3.「(調べた結果)=(触れてない)」ブロックを変わりに入れる




実行してみましょう。








5-3:アイテムを下の段の線に乗せてから上の段へワープさせる


新しいスプライトを「描く」で作成します。




新しいスプライトの名前を「ジャンプとゴール」にしましょう。
X座標=0、Y座標=0 にしておきます。




「ジャンプとゴール」のコスチュームに、線の下と線の上に四角を描きます。




「ジャンプとゴール」のコスチュームは次のようになります。





アイテムのコードを修正します。




「ワープする」ブロックを見つけましょう。
一番下にある「コスチュームを○にする」ブロックの上にコードを書いていきます。





新しく使う変数を作りましょう。
名前は「土管にはいる」にします。





「ワープする」ブロックに次のとおりコードを書いていきます。




実行イベント(はたが描いてあるブロック)に「土管に入る」変数の初期値を追加します。





実行してみましょう。








5-4:線と四角を見えなくする


「kabe2」のスプライトのコードに
「(幽霊)の効果を○にする」ブロックで透明にしていきましょう。

手順:
1.「イベント」から「はたが押されたとき」をコードに出します

2.「見た目」から「■の効果を○にする」ブロックを取り出して、「はたが押されたとき」ブロックにくっつけます

3.「■の効果を○にする」の■をクリックして「幽霊」を選択します

4.「■の効果を○にする」の○の部分に 数字の100 を入力します





「ジャンプとゴール」のスプライトのコードにも同じものを作りましょう。




実行してみましょう。







5-5:土管を描く


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




名前を「土管」にしましょう。
X座標=0、Y座標=0にしておきます。




土管から出たり入ったりしているように見えるように描いてみてね。




四角(枠あり)と四角(枠なし)をつかって描いてみたよ。




「キャラクター」が土管の後ろにかくれてしまうので、
一番手前に表示するようにします。





「キャラクター」のコードを開きましょう。




手順:
1.「見た目」ブロックから「■へ移動する」ブロックを取り出します。

2.「はたが押されたとき」ブロックの「表示する」ブロックの上にくっつけましょう。

3.「■へ移動する」ブロックの■を「最前面」に変えます。




アイテムが土管の前に表示されてしまうかもしれないので、
前から2番目に表示するようにします。




「土管」のコードを開きましょう。





手順:
1.「イベント」から「はたが押されたとき」ブロックを取り出します

2.「見た目」ブロックから「■へ移動する」ブロックを取り出します。

3.「はたが押されたとき」ブロックにくっつけましょう。

4.「■へ移動する」ブロックの■を「最前面」に変えます。

5.「見た目」ブロックから「○層■」ブロックを取り出して一番したにくっつけます

6.「○層■」の○には数字の1を入力、■を「奥に下げる」に変えます。




実行してみましょう。







5-6:やってみよう


今回修正した「アイテム」スプライトの「壁にぶつかる」ブロックの引数「壁の名前」は使わなくなったので、「ブロック定義」で編集してみましょう。




「ブロック定義」で「壁にぶつかる○」ブロックを右クリックすると「編集」メニューが出ます。



引数の「壁の名前」を選択して、「削除」ボタンを押しましょう。




引数を削除すると、それまで設定していた変数が外に追い出されます。
使わないので削除しておきましょう。






次の記事だよ → 6.敵を出す


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

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




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


このブログを検索

ブログをよくする

自己紹介

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

連絡フォーム

名前

メール *

メッセージ *

QooQ