スクラッチでマリオのゲームを作る特大レッスン#05.5 スタックを回避せよ

スクラッチでマリオのゲームを作る特大レッスン#05.5 スタックを回避せよ
ok-scratch
プレイヤーが地面に埋もれたバグを回避する方法が分かります!
難しさ

任意)自分の作業中のスクラッチ作品URLを記録しておこう!再開するときに便利だよ。

LOADING...

※ この記録は今使ってるPCに保存されます。別のPCで作業するときは表示されません。

スクラッチプログラミングに挑戦している皆さん、どうも!スクラッチコーチです。

今回こんかいのレッスンは、バグ修正しゅうせいようのミニレッスンです。こわれないブロックをたたいたはずみでプレイヤーがシーンにめりんでしまったり、ジャンプしてブロックにったタイミングでたり判定はんていエリアの隙間すきまからブロックにめりんでしまったり、プレイヤーがうごけなくなる(スタックする)バグがあるとご報告ほうこくいただきました。 なんらかの理由りゆうでめりむとプレイヤーはもううごけなくなります。 それを修正しゅうせいするブロック定義ていぎを1つ追加ついかします。 準備じゅんび このレッスンは前回ぜんかい「スクラッチでマリオゲームのつくかた#05 ブロックをこわせ」のつづきです。 https://scratch.coach/lesson/mario005/ スクラッチプロジェクトをコピーして保存ほぞんする ファイル>コピーを保存ほぞんする、をえらんでプロジェクトめいを「マリオプロジェクト005.5 スタックを回避かいひする」としておきます。 プレイヤーをスタックさせない処理しょりつくる いまのところ、ブロック定義ていぎ「Yじく移動いどうする」と「Xじく移動いどうする」のあとは、プレイヤーは障害しょうがいぶつれていないつくりになっています。 そこで今回こんかい作戦さくせんは、YじくとXじく移動いどうにもかかわらずコスチューム「たり判定はんていエリアした」が障害しょうがいぶつれていたらスタック状態じょうたいであると判断はんだんして、プレイヤーのY座標ざひょう上方じょうほう修正しゅうせいしてあげる、というかんじでいきます! ひらたくえば、うずもれてたらうえ引っ張ひ ぱってあげる、ということです。 ブロック定義ていぎ「スタックを回避かいひする」をつくる 「さい描画びょうがせずに実行じっこうする」オプションにチェックをれておきます。 移動いどうかつアニメーションまえ実行じっこうする 実行じっこうする場所ばしょ大切たいせつです。 レスキューするロジックをつく移動いどうとアニメーションのあいだでスタック状態じょうたいにあるかを調しらべてレスキューします。 コスチュームを指定していする コスチューム「たり判定はんていエリアした」に着替きがえます。この状態じょうたい障害しょうがいぶつにめりんでいるかどうかを調しらべていきます。 障害しょうがいぶつれているか調しらべる 条件じょうけん分岐ぶんきブロックをく この条件じょうけんTRUEトゥルーなら、それすなわちスタック状態じょうたいということです。地面じめんとかブロックにめりこんでプレイヤーがうごけずこまっている状態じょうたいです。たすけていきましょう。 条件じょうけんなかにループをく 10かい暫定ざんていですが、とりあえずOKです。 うえ引っ張ひ ぱってあげる 具体ぐたいてきなレスキュー活動かつどうがこれですね。Y座標ざひょうをプラス1ずつして、障害しょうがいぶつがなくなるまでうえ引っ張ひ ぱってあげるイメージです。 十分じゅうぶんなところでレスキュー活動かつどうめる これでわりでもいいのですが、このままだとかならずプラス10されてしまいます。 たとえばY座標ざひょうにプラス6だけすれば十分じゅうぶんだったのに、プラス10してしまうと、差分さぶんである4座標ざひょうぶんはプレイヤーが空中くうちゅういてしまいます。 そうすると、プレイヤーは重力じゅうりょく影響えいきょうつねけているので、4座標ざひょうぶん落下らっか処理しょりおこなわれてしまいます。 つまり、自然しぜん動作どうさになるということです。 まだ障害しょうがいぶつれているか調しらべる 障害しょうがいぶつけたか調しらべる けていたらめる 動作どうさ確認かくにんする マウスを使つかってシーンにめてみても……。 ピョコンっと地上ちじょう引き上ひ あげられます。 成功せいこうです。 パフォーマンス改善かいぜんする しかし、この処理しょり移動いどう処理しょりおなじようにつねにチェックがはたらいています。このレスキュー活動かつどうはあくまでイレギュラーな処理しょりなので、頻度ひんどすくないとおもいます。 そこで、うごいているときは処理しょりはしらないようにして、メモリを節約せつやくします。 こうすることで一瞬いっしゅんシーンにめりむことはあっても、すぐに抜け出ぬ だせるので十分じゅうぶんだとおもいます。 つぎこそコインをゲットせよ! きゅうなバグ修正しゅうせいかいでしたが、次回じかいこそコインをゲットします! すうじつ以内いない更新こうしんしますので、またブクマよろしくおねがいします〜。
ブクマよろしくお願いします! ブクマよろしくお願いします!
どんどん追記・更新していくので、ブックマークやシェアよろしくお願いします!

スクラッチプログラミングのゲーム攻略

スクラッチプログラミングのゲーム

    • 厳選されたスクラッチ人気作品リストがレビュー付きで楽しめます
      趣味に関するスクラッチ作品例
      勉強になるスクラッチ作品