スクラッチでマリオのゲームを作る特大レッスン#07 敵モブを召喚せよ1

スクラッチでマリオのゲームを作る特大レッスン#07 敵モブを召喚せよ1
ok-scratch
敵モブをクローンで管理する方法が分かります
難しさ

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

LOADING...

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

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

準備じゅんび チェックする項目こうもく これはマリオシリーズのレッスンです 前回ぜんかいのレッスンがまだのほうはこちらをチェックするか、ここからはじめたいかたとうレッスンのスタータープロジェクトを使つかってください。 https://scratch.coach/lesson/mario006/ シリーズの最終さいしゅうゴールはこちら このレッスンのゴールはこちら 実装じっそうはじめるまえ作業さぎょうする項目こうもく プロジェクトのコピー 「マリオプロジェクト007 てきモブ1」など、かりやすい名前なまえでコピーしておきます。 スプライトのアップロード てきモブのスプライトを用意よういしてあります。 • スライムのスプライト コスチュームを確認かくにんする カンタンなてきモブのコスチュームがふくまれています。 修正しゅうせい作業さぎょうがあります ここまでのレッスンでつくったものを、いくつか修正しゅうせいしてほしい内容ないようがあります。 定数ていすうつく定数ていすうとは、いちめたら絶対ぜったい変更へんこうしない変数へんすうのことです。あたいえない変数へんすうのことだとおもってください。いままではグローバル変数へんすう(すべてのスプライトよう変数へんすう)は接頭せっとうに★をけていました。たとえば「★画面がめん右端みぎはしのX座標ざひょう」のように。これとていますが、定数ていすうは■を接頭せっとうけたいとおもいます。 画面がめん右端みぎはしのX座標ざひょうはゲームがどんなにすすんでも絶対ぜったいわらないですよね。なのでこれは定数ていすうとして「■画面がめん右端みぎはしのX座標ざひょう」とえておきます。 定数ていすうする変数へんすうつぎのとおりです。 • ■画面がめん右端みぎはしのX座標ざひょう • ■1シーンの横幅よこはば ついでにほか定数ていすうつくりましょう。 定数ていすう「■はい(YES)」をつくる これはおもに「フラグ作戦さくせん」と一緒いっしょ使つかいます。フラグ作戦さくせんとは、0か1がはい変数へんすう使つかって、たとえば「障害しょうがいぶつれているかどうか」や「表示ひょうじちゅうかどうか」を判定はんていするものです。 初期しょきする ステージ(背景はいけい)で初期しょきします。 定数ていすう「■いいえ(NO)」をつく初期しょきする てきモブをつくる ここからはいよいよてきモブの実装じっそうです。クリボーやノコノコをつくりたいところですが、いきなり細部さいぶにこだわると試行しこう錯誤さくごしづらいとかんがえているので、まずは「スライム」という当たり障あ さわりのないてきモブをつくっていきます。 また、てきモブのスプライトは1つしかつくらない予定よていです。てきモブのかずだけスプライトをつく作戦さくせんもありますが、今回こんかいはクローンを駆使くしして1スプライトで管理かんりしていきます。 仕様しよう確認かくにんする 今回こんかいのレッスンにおいて、てきモブはつぎのことができるスプライトにします。 • レベルによっててきモブの配置はいちえることができる • てきモブはプレイヤーがちかづくまでスポーンしない • スポーンは、画面がめんないでは表示ひょうじされて、画面がめんがいくと表示ひょうじになる • 一定いってい速度そくど移動いどうする • かべたると反転はんてんする • さかのぼることができる • 重力じゅうりょく影響えいきょうける • 移動いどうちゅうはアニメーションする • 弱点じゃくてんをプレイヤーにまれるとダメージをける • 弱点じゃくてん以外いがいがプレイヤーにたると、プレイヤーがダメージをけてコインが実装じっそうスタート では、スライムの基本きほん取り掛かとりかかります。 かくレベルごとにてきモブを配置はいちして、最初さいしょ表示ひょうじにしておき、プレイヤーがちかづいたら表示ひょうじします。これはブロックやゴールでもつくった処理しょりですね。 今回こんかいてきモブの移動いどうする動作どうさ基本きほんまで作り込つく こみます。 次回じかい以降いこうに、重力じゅうりょくやアニメーションやたたか関連かんれんのコーディングをします。 本体ほんたいかくす クローンで管理かんりする作戦さくせんなので本体ほんたいかくします。 メッセージ「レベルの初期しょきわりました」を受け取う とてきモブがスポーンするのは、レベルの初期しょきわったタイミングにします。 レベルによってスポーンするてきモブをえる ブロックと同様どうように、レベルによって配置はいちえます。 ブロック定義ていぎ「スポーンする」をつくてきモブを配置はいちするのにブロック定義ていぎ「スポーンする」を使つかいます。 ステップ1 まず「スポーンする)モブめい:」と入力にゅうりょくします。 ステップ2 引数ひきすう追加ついかして「モブめい」と改名かいめいします。 ステップ3 ラベルのテキストを追加ついかして「シーン:」と記入きにゅうします。 ステップ4 引数ひきすう追加ついかして「シーン」と改名かいめいします。 ステップ5 ラベルのテキストを追加ついかして「右端みぎはしから:」と記入きにゅうします。 ステップ6 引数ひきすう追加ついかして「X」と改名かいめいします。 ステップ7 ラベルのテキストを追加ついかして「Y座標ざひょう:」と記入きにゅうします。 ステップ8 引数ひきすう追加ついかして「Y」と改名かいめいします。 利用りようする このように、1たい1たいをブロック定義ていぎ「スポーンする」をとおして配置はいちします。引数ひきすうはブロックと酷似こくじしていますが、ねんためにカンタンな説明せつめいいておきます。 • モブには、スポーンさせたいてきモブれます。これはコスチュームの名前なまえ連動れんどうしています。スクショではスライムと入力にゅうりょくしています。 • シーンには、出現しゅつげんするシーンの順番じゅんばんれます。スクショでは2をれています。 • Xには、シーンの画面がめん右端みぎはしからなん座標ざひょうあたりで表示ひょうじしたいかをれます。スクショでは200をれています。 • Yには、スポーンときたかさをれます。スクショでは-60をれています。 自分じぶん自身じしんのクローンをつくてきモブはいきなりクローンしていきます。 クローンするまえにいろいろ変数へんすう必要ひつようです。ブロックとおな変数へんすうつくっていきます。 変数へんすう「スポーンするシーンのX座標ざひょう」をつく初期しょきする 変数へんすう「スポーンするX座標ざひょう」をつく初期しょきする 変数へんすう「スポーンするY座標ざひょう」をつく初期しょきする 変数へんすう「モブめい」をつくる これはブロックにはなかった変数へんすうですね。ブロックには種類しゅるいが1つしかなかったのにたいして、てきモブはこのさきなんたい実装じっそうするかかりません。そこでかく種類しゅるいをモブという変数へんすう管理かんりしていきます。 初期しょきする クローンされたらスタンバイする ブロック定義ていぎ「スタンバイする」をつく利用りようする 中身なかみつくまえに、クローンされたときに追加ついかしておきます。 クローンされたら、とりあえずプレイヤーがちかづくまでスタンバイするという処理しょりつくります。 とりあえずかく本体ほんたいかくれているので、これがなくてもかくれた状態じょうたいですが、かくれていることをあきらかにしておきたいのでここでもかくしておきます。 変数へんすう表示ひょうじちゅうかどうか」をつく初期しょきする 定数ていすう「■いいえ(NO)」を使つかうことで、かりやすくなったとおもいます。 ループブロックをく プレイヤーがちかづいたことを検知けんちする ブロックのときと同様どうようで、変数へんすう「スポーンするX座標ざひょう」(スポーンするシーンのX座標ざひょう - 画面がめん右端みぎはしからのX座標ざひょう)よりも変数へんすう「★カメラのX座標ざひょう」がおおきくなったら、プレイヤーがちかづいたと判断はんだんします。 表示ひょうじして処理しょりめる 表示ひょうじしたら処理しょりめることで、スタンバイ状態じょうたいわります。 動作どうさ確認かくにんする スポーンして初期しょきする ここからはてきモブが表示ひょうじされてからの処理しょり作り込つく こんでいきます。 ブロック定義ていぎてきモブ_スライム」をつくてきモブはいくつもつく予定よていなので、てきモブごとのブロック定義ていぎつくっておくと便利べんりです。 利用りようする 変数へんすう初期しょきみかどうか」をつくてきモブの初期しょきおこないます。ただ「ずっと」ループないおこなうため、なん初期しょきされてしまいます。 それをふせぐため変数へんすう使つかいます。あたいが0ならまだ初期しょきされていない、1なら初期しょきみだから初期しょきしないといううごきをつくっていきます。 いわゆるフラグ作戦さくせんです。 (変数へんすうを)初期しょきする ブロック定義ていぎ初期しょきする」をつく初期しょきはブロック定義ていぎにしておきます。 ステップ1 ステップ2 引数ひきすう追加ついかして「加速かそくりょく」に改名かいめいします。 ステップ3 ラベルのテキストを追加ついかして「おおきさ:」と入力にゅうりょくします。 ステップ4 引数ひきすう追加ついかして「おおきさ」に改名かいめいします。 ステップ5 オプションにチェックをれて完成かんせいです。 フラグをチェックする 初期しょきみかどうかを1にする 変数へんすう加速かそくりょく」をつく初期しょきする 変数へんすう進行しんこう方向ほうこう」をつく初期しょきする かりづらいので変数へんすうにしておけばかったのですが、ここでは-1はひだりかっていることをあらわしています。 変数へんすう移動いどう距離きょりX」をつく初期しょきする おおきさを初期しょきする ひだりかせる  てきモブは基本きほんてき回転かいてん左右さゆうのみで、ひだりいてスタートするという前提ぜんていです。 Y座標ざひょう初期しょきする スライムを初期しょきする このブロック定義ていぎ基本きほんてきには1しか実行じっこうされません。てきモブごとに加速かそくりょくおおきさを変更へんこうできる仕様しようですが、にも引数ひきすう追加ついかすれば色々いろいろえられます。 てきモブをうごかす 初期しょきわったので、移動いどう開始かいしします。 ブロック定義ていぎ移動いどうする」をつく利用りようする  よこ移動いどう演算えんざんつくる ブロックとていますが、てきモブは自分じぶん移動いどうします。その計算けいさんがブロックにくわわります。 ステップ1 ステップ2 スタンバイ判定はんていおなしき用意よういします。 ステップ3 ステップ4 動作どうさ確認かくにんする これでブロックとおな状態じょうたいになりました。スライムが呆然ぼうぜん立ち尽た つくしているようになっています。 あるかせてみましょう。 ステップ5 変数へんすう移動いどう距離きょりX」で変数へんすう「★カメラのX座標ざひょう」をきます。 ステップ6 ステップ6 移動いどう距離きょりXを進行しんこう方向ほうこう加速かそくします。 動作どうさ確認かくにんする てきモブがあるいて移動いどうすることに成功せいこうしました! 表示ひょうじ表示ひょうじ切り替き かえる てきモブはあるいて画面がめんがいえたり、プレイヤーがスルーして画面がめんがいえたりすることが予想よそうされるので、表示ひょうじ表示ひょうじ切り替き かえる処理しょりいておきます。 ステップ1 画面がめん左側ひだりがわてきモブがえた場合ばあい条件じょうけんつくります。 ステップ2 画面がめん右側みぎがわつくります。 ステップ3 条件じょうけんブロックにれて、ループないきます。 ステップ4 表示ひょうじ表示ひょうじ切り替き かえます。 動作どうさ確認かくにんする どうやら条件じょうけんしききびしすぎたようです。画面がめんがいにいるモブがえません。 ステップ5 すう座標ざひょうぶんあそびをもうけます。 ここでは5座標ざひょうぶんあそび(余裕よゆう)をもうけました。 動作どうさ確認かくにんする 画面がめんないでは表示ひょうじされ、画面がめんがいにいくと表示ひょうじになるようになりました。 アニメーションや重力じゅうりょく適用てきようなどに挑戦ちょうせんする てきモブはかなり複雑ふくざつなので、いちかいここで区切くぎります。プロジェクトのコピーをけるほどではないですが、とりあえずここまでの処理しょりをしっかりうごくようにつくってみてください。 またすうじつ以内いない更新こうしんしますので、ブクマなどなどよろしくおねがいします!
ブクマよろしくお願いします! ブクマよろしくお願いします!
どんどん追記・更新していくので、ブックマークやシェアよろしくお願いします!

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

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

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