【マリオ風アクションゲーム】13.ポーズ機能を追加する

2020年8月20日木曜日

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

t f B! P L

 

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


13.ポーズ機能を追加する




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

前回の続きです。 12.POWブロックを追加する





ゲームを一時的に停止させる機能を追加します。

ちょっと休憩してまた再開したいときに便利です。

もどるとすぐに動き出すので「ポーズ」中はゲーム画面がうっすら見えるようにします。



ポーズ機能:
  • pキーを押すとポーズ画面になる
  • 右上の土管をタップするとポーズ画面になる
  • ポーズ画面中の「もどる」ボタンを押すとゲームが再開する




13-1:「キャラクター」の動きを止める


「ポーズ」がONの時は、「キャラクター」が止まるようにします。


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




新しい変数を作ります。

名前を「ポーズ」にしましょう。




ゲーム開始時は「ポーズ」はOFFなので、最初の値をOFFになるように設定します。


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

「(ポーズ)を(OFF)にする」





次に、「ポーズ」がOFFの時だけ「キャラクター」を動かせるようにします。


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

「ずっと繰り返す」ブロックの中身を全部、次のブロックの中に移動します。

「もし「(ポーズ)=(OFF)なら」




これで、「ポーズ」がONになったら「キャラクター」がピタっと止まるようになりました。

次に、「ポーズ」をONにする仕組みを作ります。




「入力」ブロックを見つけましょう。


少し下にある、「もし「マウスが押された」なら」ブロックの上に次のブロックを追加します。

「もし「(p)キーが押された」なら」
    「(ポーズ)を(ON)にする」




実行してみましょう。







13-2:タップでもポーズできるようにする


右上の土管をタップすると「ポーズ」がONになるようにします。


「土管」スプライトを選択してコスチュームを開きます。



右上の土管に「ポーズ」機能のタップ位置が分かるように印を描きましょう。





「キャラクター」スプライトのコードに戻ります。





「入力」ブロックの「もし「マウスが押された」なら」の中の一番下に、次のブロックを追加します。

「もし「「(マウスのx座標)>(170)」かつ「(マウスのy座標)>(100)」」なら」
    「(ポーズ)を(ON)にする」




これで、右上の土管をタップしても「キャラクター」の動きが止まるようになりました。





13-3:「アイテム」と「てき」の動きも止める


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




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


「ずっと繰り返す」ブロックの中身を全部、次のブロックの中へ移動します。

「もし「(ポーズ)=(OFF)」なら」





次に、「アイテム」スプライトを選択してコードを開きます。




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


「ずっと繰り返す」ブロックの中身を全部、次のコードの中に移動します。

「もし「(ポーズ)=(OFF)」なら」





実行してみましょう。
「pキー」を押すか、右上の土管をタップすると「アイテム」と「てき」も停止します。







13-4:ポーズ画面を表示する


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




名前を「停止画面」、x座標とy座標をにします。




「コスチューム」に切り替えましょう。


一つ目のコスチュームの名前を「ポーズ」にします。





画面全体を真っ黒になるようにして、「ポーズ」の文字を描きます。

その下に、「もどる」ボタンを四角と文字で作りましょう





「コード」に切り替えます。


「はたが押されたとき」ブロックをコードの中に入れて、次のブロックを作ります。

「はたが押されたとき」
「(幽霊)の効果を(20)にする」
「隠す」




次に、「(キャラ移動)を受け取ったとき」ブロックをコードに入れて、次のブロックを作ります。


「(キャラ移動)を受け取ったとき」
「ずっと繰り返す」
    「(最前面)へ移動する」
    「隠す」




「隠す」の下に次の「ポーズ」がONになったときのコードを追加します。





これで「ポーズ」画面が表示されるのですが、「てき」が「土管」より前に表示されてしまう不具合が発生してしまうので、コードを直します。


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




「最初の位置に移動する」ブロックを見つけましょう。

一番下にある「(2)層(奥に下げる)」ブロックの(2)を(5)に変えます。





実行してみましょう。
「pキー」もしくは、右上の土管をタップするとポーズ画面になります。







13-5:「もどる」ボタンでゲームを再開する


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





「ブロック定義」の「ブロックを作る」ボタンで新しいブロックを作ります。

名前は、「入力」にしましょう。






「bキー」を押しても戻るようにしたいので、「入力」ブロックを次のようにします。

「入力」
「もし「(b)キーが押された」なら」
    「(ポーズ)を(OFF)にする」






「コスチューム」に切り替えます。


新しいコスチュームを追加します。

名前は、「判定用もどる」にしましょう。




コスチュームの「ポーズ」に戻り、「もどる」ボタンの四角を選択して、「コピー」ボタンを押します。





そのあと、コスチュームの「判定用もどる」に切り替えて、「貼り付け」ボタンを押します。





再び、コードに切り替えます。



「入力」ブロックの一番下に、次のブロックを追加します。

「もし「マウスが押された」なら」
    「コスチュームを(判定用もどる)にする」
    「もし「(マウスポインター)に触れた」なら」
        「(ポーズ)を(OFF)にする」
「コスチュームを(ポーズ)にする」





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

「表示する」ブロックの下に、「入力」ブロックを追加します。




実行してみましょう。






13-6:やってみよう


ポーズ画面の時だけ、「ポーズ」変数を”大きな表示”で出るようにしてみましょう。


ヒント:
1.「ポーズ」変数を表示する位置を決める


2.「ポーズ」変数の表示を”大きな表示”に変える


3.「停止画面」のコードで「ポーズ」の”表示する”と”隠す”を切り替える





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

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




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


ラベル

3DCG AdSense AI Amazon Echo Blender Blogger cron Cursor DNS Fire TV GCP Github Copilot Google Cloud HTTP iOS IPA iPad iPhone5 JavaScript laravel mySQL nodejs PhotoShop PHP Python Redis Scratch SSH Unity vue.js Webサーバ Windows10 WinSCP イヤーカフ型 イラスト おかし おやつ オリンピック お文具 カイワレ大根 ガチャ きのこ ギフト キャラ弁 クリスマス クレジットカード ゲーミング ゲーミングキーボード ゲーミングマウス ゲーミングマウスパッド ゲーミングモニター ゲームパッド ゴーヤー栽培 コナン サーバ サイクリング サイバーセキュリティ サイバー攻撃 サブスクリプション しりとり すイエんサー スクラッチ スマートウォッチ スライム セキュリティ ゼロトラスト ダイエット タブレット ドズル社 なわとび バーテープ パズル パンダ ぷよぷよ ふるさと納税 プログラミング プロトコル番号 マイクラ マイクロソフト マリオ マンガ メモ ランニングウォッチ ランニングゲーム ワイヤレスイヤホン 異世界 絵本 株関連 鬼滅の刃 健康診断 工作 磁石 自転車 自動化 収益化 書き初め 小学校 松屋 情報処理 情報処理安全確保支援士 辛辛魚 水泳 生成AI 折り紙 川渡し問題 銭天堂 誕生日 段ボール 知育菓子 中学受験 冬鳥 動画 動画編集 日常 認定試験 粘土 福袋 便利な雑貨 母の日 銘酒 料理

このブログを検索

ブログをよくする

連絡フォーム

名前

メール *

メッセージ *

ブログ アーカイブ

QooQ