スクラッチでマリオのゲームを作る特大レッスン#03 壁・坂を攻略せよ

スクラッチでマリオのゲームを作る特大レッスン#03 壁・坂を攻略せよ
ok-scratch
本家マリオと同じように壁なら止まり、坂なら登る処理が書けるようになります。
難しさ

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

LOADING...

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

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

準備じゅんび このレッスンは3ばんの「マリオゲームのつくかた」です。前回ぜんかいまでのレッスンがまだのひとはこちらからどうぞ。 プロジェクトをコピーする スクラッチのエディタをひらいて、ファイル>コピーを保存ほぞんえらび「マリオプロジェクト003」にえておきましょう。なんつくるのかかりやすく「マリオプロジェクト003 へきさか」としておいてもいいでしょう。 かべ判定はんていつくかべれたらプレイヤーをまえすすめなくするところをつくります。 ステージのコスチュームでかべつくる ステージスプライトのシーン1に、適当てきとう四角しかくかべつくってください。 プレイヤーに条件じょうけんブロックを追加ついかする プレイヤーのブロック定義ていぎ「Xじく移動いどうする」で「もしステージにれたら」という条件じょうけん追加ついかします。 変数へんすう直前ちょくぜんのX座標ざひょう」を追加ついかする 前回ぜんかいレッスンでYじく移動いどうに1座標ざひょうずつ「未来みらい予測よそく」する判定はんていおこないました。Xじくでもたようなことをしていきます。そこで、変数へんすう直前ちょくぜんのX座標ざひょう」をつくっておきます。 変数へんすう「★カメラのX座標ざひょう」を使つかだい1かいのレッスンで作成さくせいしたように、よこ移動いどうには変数へんすう「★カメラのX座標ざひょう」を使つかっています。 かべ判定はんていでも使つかいます。 もしかべたったら、プレイヤーがかべ食い込く こまないように、変数へんすう「★カメラのX座標ざひょう」をもともどしたいとおもいます。 また、「もし〜ならブロック」のまえ変数へんすう直前ちょくぜんのX座標ざひょう」を初期しょきすることもわすれずに。 うごきをためしてみると、これだとすこ食い込く こんでしまうとおもいます。 もとよりもすこうしろにがった状態じょうたいもどしたい 食い込く こんだ状態じょうたいなおすには、単純たんじゅんすこうしろにげてあげればOKです。あまりスマートではありませんが、ひとまずこのシンプルな方法ほうほうためしてみます。 動作どうさ確認かくにんする おっと!おそらくヘンテコなうごきになってしまったのではないですか? 理由りゆうは、「ステージにれたら」という条件じょうけんかべだけではなく地面じめんのステージにもてはまっているからです。地面じめんれているのですから、変数へんすう「★カメラのX座標ざひょう」はつねに「直前ちょくぜんのX座標ざひょう - 10」されることになります。そのため、予期よきせぬうごきになってしまうのです。 これでは駄目だめですね。 たり判定はんていエリアを実装じっそうする そこで、地面じめんにはれずにかべれたかどうかを判定はんていするため専用せんようのコスチュームを作成さくせいする作戦さくせん解決かいけつしたいとおもいます。たり判定はんていエリアというコスチュームをつくっていきます。 まず「ステージにれたかどうか調しらべる」判定はんていをまとめておく たり判定はんていようのコスチュームをつくまえに、すこ最適さいてきしておきます。 ステージにれているかどうかは、前回ぜんかいのジャンプをつくるレッスンでもおこなった判定はんていですので、今回こんかいで2かいです。今後こんごなんかと使用しよう頻度ひんどたかそうな判定はんていなので、2かいだなとづいたこのタイミングでブロック定義ていぎしておきたいとおもいます。 ブロック定義ていぎつく変数へんすうつくる ロジックをつくる もしステージにれたら変数へんすうを1に、れてないときは0にします。 置き換お かえる 既存きそん処理しょり置き換お かえます。「もし〜なら」の条件じょうけんブロックのまえにブロック定義ていぎ「ステージにれているかどうか調しらべる」を実行じっこうして、直後ちょくご変数へんすう「ステージにれているかどうか」が0よりおおきい(つまりたった)かどうかを判定はんていします。 ここの演算えんざんかならずしも「おおなり」ではなくてもOKです。「イコール1かどうか」としてもいいです。 うごきを確認かくにんする 既存きそんうごきをブロックに置き換お かえただけでも、動作どうさ確認かくにんはします。うごけばOKです。 コスチューム「たり判定はんていエリア」をつくる プレイヤーのスプライトのコスチュームに、たり判定はんてい専用せんようのコスチュームを追加ついかします。 あるく1を複製ふくせいして名前なまええる ある姿すがた参考さんこう使つかうので、あるく1を複製ふくせいして名前なまえを「たり判定はんていエリア」とえておきます。 四角しかくえが何色なにいろでもいいので、あしがちょこっとえるようにして、四角しかくつくります。 あしします 最後さいごあしせば、とりあえず完成かんせいです。 これでちゅういているかのようなコスチュームが完成かんせいしました。 コーディングに組み込く こみます 動作どうさ確認かくにんする これでうごきを確認かくにんしてみます。おそらくあるけるようになったのではないでしょうか。 Xじく移動いどうするさいに、ちゅういてる(地面じめんあしがついてない)コスチュームに着替きがえてから「ステージにれたかどうか」を調しらべているので、地面じめん無視むししてかべだけを検知けんちできるようになりました。 いい調子ちょうしです。まだまだぎこちないうごきなので、もっと改善かいぜんしていきましょう。 とくにかべたるとブルブルするてんになりますね。まるのはいいのですが、ブルブルせずにピタッとまってほしいものです。この問題もんだいにもタックルします。 かべりょうサイドにつくる もっとチェックしやすくなるように、かべりょうサイドに配置はいちします。ステージのスプライトのコスチューム「シーン1」にえがけばOKです。 動作どうさ確認かくにんする この段階だんかいでは、右側みぎがわかべにはたってまりますが、左側ひだりがわかべはすりけてしまいます。 それどころか、ひだりかべたると加速かそくしてしまいます。 原因げんいんは、ステージにれたさいに「★カメラのX座標ざひょう + 10」としているところです。みぎかべたったさいはプラス10するとちょうどうごきがまるようにえるのですが、ひだり場合ばあいはマイナス10したいのです。 みぎかべたったのか、ひだりかべたったのか、どのように判定はんていすればいいでしょうか。 レッスン1で「スピードX」というよこある速度そくど管理かんりする変数へんすうつくりました。この変数へんすうには、ある方向ほうこうによってプラスかマイナスのあたいはいっています。 この変数へんすう「スピードX」は今回こんかいかべ判定はんていにも都合つごうがいいですね。 変数へんすう直前ちょくぜんのX座標ざひょう」に変数へんすう「スピードX」のあたい加算かさんしました。しかし、今度こんどはどちらのかべたっても加速かそくしてすりけるようになってしまいました。 すこし修正しゅうせいしないとダメそうです。 うしろにがる処理しょり補正ほせいもうける かべたって加速かそくする原因げんいんは、変数へんすう「スピードX」のあたいがここで使つかいたいあたいとは反対はんたいがわかうちからだからです。つまり、しいあたいみぎのときはプラスでひだりのときはマイナスなのに、スピードXのあたいみぎのときはマイナスでひだりのときはプラスになっているということです。 これをなおすのはカンタンです。マイナスをければOKですね。 なんためしたところ、マイナス1.4か1.5くらいがちょうどよさそうです。 しかし、まだ完璧かんぺきではありません。もうすこ修正しゅうせいつづけます。 変数へんすう「スピードX」をゼロにする かべたったタイミングで、それ以上いじょうまえすす必要ひつようがなくなります。なので、スピードXのあたい不要ふようになります。利用りようした直後ちょくごにゼロにしてしまいましょう。 動作どうさ確認かくにんする できた!とおもったのも一瞬いっしゅんかべたったタイミングで素早すばや方向ほうこう転換てんかんすると、ズブズブとかべうずもれていってしまいます。 この理由りゆうは、かべたった瞬間しゅんかんきをえるとコスチューム「たり判定はんていエリア」の一部いちぶかべれた状態じょうたいであるにもかかわらず、きがわっているせいでスピードXが期待きたいとおりに作用さようしないためです。 つまり、みぎかべたった瞬間しゅんかんひだりくとコスチュームが一部いちぶれているけど、スピードXはひだりすすようあたいになっているため、ひだりかべたっていると勘違かんちがいしてしまうのです。実際じっさいみぎかべたっているので、うしろにがる=ひだりがるはずですが、ひだりかべたっているとか勘違かんちがいすることで、うしろにがる=みぎがるとなり、結果けっかとしてかべにズブズブまってしまうのです。 たり判定はんていエリアを修正しゅうせいする 最大さいだい原因げんいんは、たり判定はんていエリアがおおきすぎることです。そこで、ちいさくしたいとおもいます。どのようにちいさくすればいでしょうか。 今回こんかいかべたったことを検知けんちできればいいので、プレイヤーの「まえ」にだけたり判定はんていエリアがあればOKです。 このようにスリムしましょう。 動作どうさ確認かくにんする かりやすくするために、「こんにちは!」とうブロックをやめて、たったら「たった」と、たってなかったら「たってない」とうブロックを配置はいちしたいとおもいます。 そのため、「もし〜なら」ブロックではなく「もし〜でなければ〜」ブロックに変更へんこうします。 もっとかりやすく動作どうさ確認かくにんする これでかべ判定はんていしているかんかりやすくなったとおもいますが、さらにわかりやすくしたい場合ばあいは、いったんブロック定義ていぎ「アニメーションする」をゴッソリ中身なかみはずしてみてください。そうするとコスチューム「たり判定はんていエリア」の四角しかくがウロチョロしてかべれると「たった」とさまれて、なんきているのかかります。 かなりくなってきましたが、まだ致命ちめいてきなバグがあります。ジャンプしながらかべたってみてください。 かべ吸着きゅうちゃくしてしまいます。これは意図いとしたうごきではありませんね。 ジャンプしたときもかべ判定はんてい動作どうささせる この問題もんだいにタックルするまえに、原因げんいん考察こうさつします。 そもそもナゼかべにピタッとくっつけてしまえるのか。 かべたったらスピードXがゼロになるので、よこうごかないというのは仕様しようとおりです。ここでかんがえるべきは、どうしてしたちないのか、というてんですね。 したちるロジックはブロック定義ていぎ「Yじく移動いどうする」で実装じっそうしています。これは前回ぜんかいのレッスンでつくったものです。 そこでは、ステージにれるまで変数へんすう「スピードY」を変数へんすう「★重力じゅうりょく」でマイナスしつづけ、ステージにれたら変数へんすう「スピードY」をゼロにするとしています。 つまり、ステージにれたらそれ以上いじょうしたとさない、というロジックになっているのです。 これをつくったときはかべ考慮こうりょしていなかったので問題もんだいありませんでした。しかし、いまとなってはかべ判定はんていとの相性あいしょうくないですね。ブロック定義ていぎ「Yじく移動いどうする」とかべ判定はんていのどちらか、または両方りょうほう修正しゅうせいする必要ひつようがあります。 今回こんかいは、両方りょうほう修正しゅうせいする作戦さくせんきたいとおもいます。 ブロック定義ていぎ「Xじく移動いどうする」を改善かいぜんする まずはXじく移動いどうするロジックを改善かいぜんしていきます。 いまのロジックでは、かべたったらスピードXにマイナス1.5をけたぶんだけうしろにがるような仕掛しかけでかべ判定はんていおこなっていますが、あまり緻密ちみつなロジックとはえません。「まぁだいたいこのくらいげておけばパッとまったようにえるかな」というレベルです。 進行しんこう方向ほうこうかべがないか、1座標ざひょうずつ確認かくにんする Yじくでやったときとおなじです。まず変数へんすう「スピードX」の絶対ぜったいかずだけ判定はんてい繰り返く かえすようにループさせます。 コスチュームをえるタイミングを移動いどうする ループのまえにコスチュームをえるようにします。 変数へんすう「★カメラのX座標ざひょう」を1座標ざひょうずつえる 変数へんすう「スピードX」を自分じぶん絶対ぜったいります。こうすることで変数へんすう「スピードX」が10なら「10 ÷ 10 = 1」となり、マイナス10なら「-10 ÷ 10 = -1」となるので、左右さゆうへの移動いどう担保たんぽされます。 また、これを追加ついかすることで一番いちばんうえの「★カメラのX座標ざひょうをスピードXずつえる」ブロックが不要ふようになるのでします。 補正ほせい修正しゅうせいする スピードXにマイナス1.5けてまっているようにせていた箇所かしょは、もういらなくなります。なぜなら、1座標ざひょうずつチェックしているので、単純たんじゅん直前ちょくぜんのX座標ざひょうもどせばいいだけだからです。 しかし、うごきがカクカクしてしまいますね。こんなことはYじくのときでもありましたね。こんなときどうなおしたでしょうか。 画面がめんさい描画びょうがせずに実行じっこうする はい、ということでブロック定義ていぎ「Xじく移動いどうする」をみぎクリックして、オプションにチェックをれてください。 これで描画びょうがするまえ一瞬いっしゅんでロジックを実行じっこうしてくれるので、なんちゃって未来みらい予測よそく処理しょり実現じつげんできます。 動作どうさ確認かくにんする 1座標ざひょうずつかべ判定はんていおこなっているので、Xじく移動いどう緻密ちみつになりました。 ブロック定義ていぎ「ステージにれているか調しらべる」を改善かいぜんする 問題もんだい本質ほんしつせままえに、もう1つ改善かいぜんしておきます。 たった・たってないと場所ばしょえる まずブロック定義ていぎ「Xじく移動いどうする」ないの「〜とう」ブロックをはずしてください。そして「もし〜でなければ」ブロックのわりに「もし〜なら」ブロックを採用さいようします。スッキリします。 そして、これは必須ひっすではないですが、「たった」「たってない」というブロックは、ブロック定義ていぎ「ステージにれているか調しらべる」にうつします。 あとでもっと便利べんりなデバッグ置き換お かえますが、とりあえずはこれでOKでしょう。 デバッグとは、開発かいはつちゅうのプログラミングを修正しゅうせいする作業さぎょうのことです。こういう吹き出ふ だしとかを条件じょうけんブロックない配置はいちして、処理しょり本当ほんとううごいているかどうかを調しらべる作業さぎょうは、代表だいひょうてきなデバッグ作業さぎょうです。 ブロック定義ていぎ「Yじく移動いどうする」を改善かいぜんする さて、いよいよ本題ほんだいです。ジャンプしてかべたるとしたちずにくっついてしまう問題もんだいにタックルします。 問題もんだい本質ほんしつは、Yじく移動いどうするさい判定はんていしている「ステージにれたら落下らっかめる」という処理しょりが、かべたったときにもうごいてしまうことでした。 処理しょりうごくと上手うまくいかないなら、かべたったときはこの処理しょりうごかないようにすればいいのです。問題もんだいをひっくりかえせば解決かいけつさくになるパターンです。 ステージにれているかどうか調しらべる部分ぶぶん改善かいぜんする まずはステージにれいているかどうか調しらべるロジックがふるいので、これをブロック定義ていぎ使つか方法ほうほうえておきます。 ジャンプようたり判定はんていエリアをつくる いろいろ改善かいぜんつづきましたが、ここからが本質ほんしつてき修正しゅうせい作業さぎょうです。Xじく移動いどうおなじように、Yじくにおいてもたり判定はんていエリアを利用りようします。 そこで、Xじくつくったたり判定はんていエリアのコスチュームめいを「たり判定はんていエリアみぎ」と修正しゅうせいしておきます。 このコスチュームを複製ふくせいして、今度こんどたり判定はんていエリアつくります。 1. コスチューム「たり判定はんていエリアみぎ」を複製ふくせいする 2. コスチュームめいを「たり判定はんていエリアした」に改名かいめいする 3. 目安めやすとして、コスチューム「あるく1」をコピーして、「たり判定はんていエリアしたないでペーストします 4. 足元あしもとあたりに四角しかくつくります。 5. 目安めやすとして使つかっていたスクラッチキャットの画像がぞうしてOKです たり判定はんていまえにコスチュームをえます Yじくたり判定はんていおこなまえに、いまつくったコスチュームに着替きがえます。 動作どうさ確認かくにんする どうでしょうか、うまくいきました?上手うまくいってない場合ばあいは、コスチューム「たり判定はんていエリアした」の四角しかくみぎりすぎて、かべたってしまっている可能かのうせいがあります。四角しかくちいさくするか、すこひだりにズラしてためしてください。 デバッグ「ログ出力しゅつりょく」をマスターする 上手うまくいったとしたら、それはどうなっているのか、あらためてかんがえてみたいとおもいます。さきほどもべましたが、Yじく移動いどうにはかべたっても落下らっかまらないようにしたわけですが、プログラムじょうではどういうことがきているのか、じっくり観察かんさつしたいとおもいます。 というか観察かんさつ口実こうじつにして、1つゆう意義いぎなデバッグわざをご紹介しょうかいします。 これはマリオのみならず、ほとんどすべてのスクラッチプロジェクトで有効ゆうこうわざです。ここでマスターしてしまいましょう。 ブロック定義ていぎ「ログ」をつくる リスト「★ログコンソール」をつくる リストは使つかれないひと苦手にがて意識いしきっているひと、いるとおもいます。リストの練習れんしゅうにもこのログ機能きのう役立やくだちます。接頭せっとうに★をつけるのをおわすれなく。すべてのスプライトようのリストです。 1ばんになにかを挿入そうにゅうする 1ばんにどんどんログを追加ついかしていきます。 りんごとばななを2つ設置せっちする 「りんごとばなな」ブロックを2つつなげて「ラベル:ログ」という情報じょうほう挿入そうにゅうするようにします。 いったんこれでOKです。 ブロック定義ていぎ「Xじく移動いどうする」ない設置せっちする ブロック定義ていぎ「Xじく移動いどうする」ないで、かべ判定はんていかよったタイミングでログを出力しゅつりょくします。 ブロック定義ていぎ「Yじく移動いどうする」ないにも設置せっちする ジャンプのステージ判定はんてい処理しょりかよったタイミングにも1つ設置せっちしておきます。 こうするとダーッとおなじログが追加ついかされてしまうとおもいます。 いったんあかいボタンをして処理しょりめると安心あんしんです。 連続れんぞくしておなじログは追加ついかしない 条件じょうけんブロックを追加ついかして、無駄むだおなじログが登録とうろくされないようにします。 これで安心あんしんです。 かべにジャンプしてからログを確認かくにんする これでなんきているのか順番じゅんばん考慮こうりょして把握はあくすることが出来できました。さっそくかべにジャンプしてなんがログコンソールに出力しゅつりょくされるかてみます。  まずかべにジャンプしてたったタイミングでは「みぎがステージにれました」が出力しゅつりょくされます。このタイミングではXじくのみの判定はんていおこなわれています。ブロック定義ていぎ「Xじく移動いどうする」ないで、かべたったら変数へんすう「スピードX」をゼロにしているため、かべがコスチューム「たり判定はんていエリアした」にれるまえよこ移動いどうがストップするのです。このため、ブロック定義ていぎ「Yじく移動いどうする」のステージにれたかどうかの判定はんていおこなわれません。つまり、かべたった直後ちょくごよこ移動いどうまり、今度こんど落下らっかはじまります。 そして、着地ちゃくちするとリスト「★ログコンソール」には「したがステージにれました」というログが表示ひょうじされます。 ロジックてきにも直感ちょっかんてきにも、ただしいうごきといえるでしょう。 「○とう」ブロックでは処理しょり順番じゅんばんいかけるのが困難こんなんですが、このブロック定義ていぎ「ログ」を使つかうことで繊細せんさいなデバッグ作業さぎょう実現じつげんすることが出来できます。 「○とう」ブロックのほうがかりやすい局面きょくめんはたくさんあるので、併用へいようしていきましょう。 バックパックにれる このログ機能きのう様々さまざまなスプライトで使い回つか まわせるので、バックパックにドラッグ・アンド・ドロップしておくと便利べんりです。 ステージにもログ機能きのうけてみる バックパック経由けいゆでステージのスプライトにもログをつくってみます。そうするとプレイヤーのログもステージのログもすべてリスト「★ログコンソール」で管理かんりできるようになり、デバッグ作業さぎょう便利べんりです。メッセージなどを駆使くしして複雑ふくざつなプロジェクトになればなるほど、処理しょりがどういう順番じゅんばん実行じっこうされたのか、内部ないぶうごきをいかけるのに有効ゆうこうです。 さかいどさかもマリオにはよくてきます。さかのぼったりったり、よくあるうごきですね。しかし、いまかべ判定はんていのままではすこしのさかでもいちすすめなくなってしまいます。コスチューム「たり判定はんていエリアみぎ」がさかれた途端とたん変数へんすう「スピードX」はゼロになり、ピタッとまるでしょう。これではいけません。 そこで、ここからはプレイヤーがたったのがさかなのかかべなのかを判定はんていする処理しょりくわえていきます。 作戦さくせんとしては、ステージにれたらY座標ざひょうを1つうえにズラしてみます。それでもまだれていたら、もう1つうえにズラしてみます。これをすうかい繰り返く かえして、「どうやら所定しょてい回数かいすうY座標ざひょううえに1ずらしてもステージにれたままなので、これはかべだろう」と判断はんだんしたり、「Y座標ざひょうを3つうえにずらしたらステージにれなくなったぞ、きっとこれはさかだ」と判断はんだんしていきます。一緒いっしょにやってみましょう! さかつくる ステージのコスチュームをいじってさかつくります。あまりきゅうさかではなく、なだらかなさかにしておきます。 動作どうさ確認かくにんする このさかのぼれるか、ねんためためしてみます。みなさんがどの程度ていど傾斜けいしゃさかつくったかかりませんが、おそらくすこさかあし踏み入ふ いれたところでピタッとまったのではないでしょうか。 いまはこれでOKです。ここから修正しゅうせいはじめていきましょう。 Y座標ざひょうを1つうえにズラす 作戦さくせんとおり、Y座標ざひょうをズラしていきます。 挿入そうにゅう場所ばしょは、ステージにれていることが確定かくていした直後ちょくごです。 ステージにれているか調しらべる Y座標ざひょうを1つズラしたところで、またステージにれているかチェックします。 条件じょうけんブロックも追加ついかします かべだと判断はんだんしたらズラしたぶんもどす Y座標ざひょうをズラしたのに、まだステージにれていたなら(かべだったと判断はんだんして)Y座標ざひょうもともどします。さかではない以上いじょうのぼるモーションは不要ふようだからです。 Y座標ざひょうをズラす作業さぎょう繰り返く かえさか傾斜けいしゃによってはY座標ざひょうを1つズラしただけではさか上手うまのぼれないでしょう。どのくらいの傾斜けいしゃのぼれるようにするかはゲーム次第しだいですが、ここではもうすこしキツイさかでものぼれるようにしていきます。 かべだったなら-2にする 今回こんかい結局けっきょくY座標ざひょうを3つぶんさかであると判定はんていしました。なので、これとおな処理しょりをもう1つ追加ついかして、かべのときは-3します。 プレイヤーのおおきさをえる この段階だんかいでプレイヤーのおおきさをえていきます。いま状態じょうたいではおおきすぎるので、おおきさ40くらいに指定していします。サイズはおこのみでOKです。 動作どうさ確認かくにんする プレイヤーをちいさくしたことでさかのぼったりったりする動作どうさを、なが確認かくにんできるようになりました。 しかし、下り坂くだ ざかではピョコピョコといてしまうようなうごきになっていませんか?これもカンタンになおせるならなおしたいですね。 落下らっか処理しょりえる いまは落下らっかにステージにれたら、変数へんすう「スピードY」をゼロにえてピタッと落下らっかめています。これにゆとりをもたせることで、さかくだ動作どうさ改善かいぜんします。 変数へんすう「スピードY」に0.8をけるだけです。これでスムーズにさかくだることが出来できます。 デバッグ「メモ」をマスターする いろんな動作どうさをカバーしてきたので、コーディングブロックが混雑こんざつしてきているとおもいます。 そこで、ブロックが入り組い くんでいてもすこ可読かどくせいたかめるべく、あたらしいデバッグわざ紹介しょうかいします。 それはメモというブロック定義ていぎです。 ブロック定義ていぎ「↓」をつくる ブロック定義ていぎ名前なまえはとくになく、たんした矢印やじるし記入きにゅうします。引数ひきすうにメモといておきます。 中身なかみなんもしない これはただメモをのこしたいだけなので、なかにはなんもブロックをきません。 メモをのこす このブロック定義ていぎ直後ちょくごなんをしているのかをメモしていきます。 リファクタリングする ここにいたるまでもじつはリファクタリング(コードをうつくしくする作業さぎょう)をしてきましたが、あらためて立ち止た どまって時間じかんります。 ブロック定義ていぎさかかべ判定はんていする」をつく単純たんじゅんいまつくった処理しょりをブロック定義ていぎ移動いどうします。 「このスクリプトをめる」ブロックをかべ判定はんていしたら、このスクリプトをめるブロックを実行じっこうして処理しょりめます。これはつぎにやる処理しょり布石ふせきです。 さか傾斜けいしゃによってスピードをおそくする きついさかのぼればのぼるほどスピードがちるのは自然しぜんです。むしろいまのままではさか平地へいちのように駆け登か のぼるので、やや自然しぜんです。 これはY座標ざひょうを1つうえにあげるたびにスピードXをらせばいいだけです。 かく「ステージにれているかどうか」判定はんてい最後さいごに、スピードXをらす処理しょり配置はいちすればOKです。 動作どうさ確認かくにんする しかし、うごきをるとアニメーションが上手うま機能きのうしていないひともいるのではないでしょうか。 のぼっている姿すがたが、コスチューム「あるく1」で固定こていされてしまっているのではないでしょうか。 これはバグですね!修正しゅうせいしなければなりません。 ブロック定義ていぎ「アニメーションする」を改善かいぜんする レッスン1で作成さくせいしたブロック定義ていぎ「アニメーションする」で、スピードXのあたいちいさいときはコスチュームをあるく1に固定こていする処理しょりきました。今回こんかいのバグはこれが原因げんいんです。平地へいちであればノロノロとあるくことはなかったのですが、坂道さかみち処理しょりつくったことでプレイヤーがゆっくりうごくケースがてきました。そのためにバグしてしまったのです。 これを修正しゅうせいするには、現在げんざいは「スピードXが1よりしょうさいならコスチュームあるく1に固定こていする」というスピードXの1というあたいを、もっとちいさくすれば解決かいけつします。 ここでは0.2から0.25くらいが最適さいてきだと判断はんだんしました。 ゴールをつくろう つぎはゴールをつくります。プレイヤーがゴールにれたらステージクリアです。そしてつぎだい2ステージにすすむという処理しょりつくりたいとおもいます。 マリオではステージをクリアすればするほど難易なんいがったり、いろんなステージをたのしめたりする仕様しようがあるので、このスクラッチプロジェクトでも実現じつげんしたいとおもいます。 ステージごとにシーンを管理かんりする方法ほうほうなども必要ひつようになります。今回こんかいつくったステージのスプライトにくわえる必要ひつようてくるでしょう。 こちらもすうじつ以内いない更新こうしん予定よていです。こちらの記事きじにもリンクをるので、またブックマークなどしておいてもらえたらさいわいです!
ブクマよろしくお願いします! ブクマよろしくお願いします!
どんどん追記・更新していくので、ブックマークやシェアよろしくお願いします!

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

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

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