スクラッチでマリオのゲームを作る特大レッスン#06 コインをゲットせよ

スクラッチでマリオのゲームを作る特大レッスン#06 コインをゲットせよ
ok-scratch
ブロックを壊してコインをゲットする方法が分かります!
難しさ

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

LOADING...

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

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

コインをつくっていきます。コインそのものと、コイン合計ごうけいすう表示ひょうじする2つのスプライトをつくります。 それぞれコスチュームが必要ひつようですが、スタータープロジェクトを使つかうか、準備じゅんびのところにあるダウンロードファイルを使つかうか、または自分じぶんでコインをえがくかなどめしてください。 準備じゅんび このレッスンは前回ぜんかい「スクラッチでマリオゲームのつくかた#05.5 スタックを回避かいひせよ」のつづきです。 https://scratch.coach/lesson/mario5-5/ 「スクラッチでマリオ」シリーズの最終さいめしゅうゴールをチェック 最後さいごまでレッスンをすすめるとこのようなマリオゲームの土台どだいとなるプロジェクトが完成かんせいする予定よていです。 とうレッスンの完成かんせいひん確認かくにんする スクラッチプロジェクトをコピーめし保存ほぞんする ファイル>コピーを保存ほぞんする、をえらんでプロジェクトめいを「マリオプロジェクト006 コイン」とめしておきます。 コスチュームをダウンロードする • コイン • コイン合計ごうけいすう 仕様めしよう確認かくにんする コインもマリオの仕様めしようをできるだけ再現さいげんめしたいとおもいます。 • コインをゲットすると、チャリーンというおとり、プレイヤーの真上まうえでコインがはずみながら回転かいてんする • なんかい回転かいてんめしたらえる • 複数ふくすうばいゲットめしたら連続れんぞくめしてチャリンチャリン表示ひょうじされる • コインをゲットめし合計ごうけいすう画面がめん右上みぎうえつね表示ひょうじされる • 合計ごうけいすうけたえても、数字すうじみぎそろえで表示ひょうじする。(ひだりにズレていく) • ぜんクリアめしたらコイン合計ごうけいすうおおきく、画面がめん中央ちゅうおうあたりに表示ひょうじされる • ブロックをこわめしたらコインをゲットできるようにする • こわめしてもコインがてこないブロックもある コインそのものをつくる まずはゲットするとチャリーンとめしょう気味きみよくおとらすコインをつくります。いままではブロックをこわひくおとだけだったので、コインはたかおとめしたいとおもいます。 これで音響おんきょうというめんで、ゲームにふかみがでます。 スプライトをアップロードする 準備じゅんびのところでダウンロードめしたスプライトを、スクラッチエディターからアップロードめしてください。 自分じぶんえがきたいひとも、いちこのスプライトのコスチュームをておくと、どんなかんじでつくるのかかります。 このコスチュームはスクラッチのエディタじょうえがいたものなので、自分じぶんなりに加工かこうすることもスクラッチエディタで出来できます。いろえたりなか文字もじえたり、きなようにいじってもOKです! コスチュームを確認かくにんする マリオでもコインが回転かいてんするので、ここも回転かいてんするようなエフェクトをかんがえています。 ちなみに回転かいてんめしているようにえますが、実際じっさいはコイン1のコスチュームをベースに、たかさはえずに横幅よこはばすこめしずつちぢめているだけです。 メッセージ「コインをゲットめしめした」をつくる コインはブロックがこわれたりてきモブをたおめしたらはいるようにめしたいので、メッセージが重要じゅうようになります。 プレイヤーの真上まうえ表示ひょうじする メッセージ「コインをゲットめしめした」を受け取う とったら、とりあえずプレイヤーの真上まうえ表示ひょうじされるようにめします。 プレイヤーのX座標ざひょうは、いまのところつねに0地点ちてんにいるので直接ちょくせつ記入きにゅうめしてあります。 Y座標ざひょう指定めしてい方法ほうほう特徴とくちょうてきです。 ブロックパレットの「調めしべる」には「○の○」というブロックがあります。これはのスプライトの情報じょうほう参照さんめしょうできるブロックです。これを使つかえば、プレイヤーがジャンプちゅうでもY座標ざひょうをトレースできるようになります。 表示ひょうじする コインは表示ひょうじめしたりめしたりするので、明示めいじてき表示ひょうじするブロックをいておきます。 おとらす Coinというおとがデフォルトでスクラッチにあるので利用りようめします。 かくおとわったらめします。このタイミングなどはどんどんえるので、いまはこれで動作どうさ確認かくにんめします。 動作どうさ確認かくにんする ブロックパレットにあるメッセージブロックを「コインをゲットめしめした」にえてからクリックめしてください。任意にんいのメッセージをおくることが出来できます。 これで動作どうさ確認かくにんめします。 表示ひょうじできまめした。 ここから本格ほんかくてき実装じっそうめしていきます。 おとちいさくする と、そのまえにコインのおとたかいのでそのままだと耳障みみざわりだとかんじまめした。すこめしちいさくめします。 クローンする コインは1まいではなく複数ふくすうばい同時どうじにスポーンめします。そのため、はや段階だんかいでクローンめしておきます。 メッセージ「コインをゲットめしめした」でクローンをつくかく処理めしょりえる かくすブロックははたされたときにスプライト本体ほんたいかくすのに使つかいます。 そめし処理めしょり最後さいごにクローンを削除さくじょめします。 回転かいてんアニメーションをつくる コインが表示ひょうじされるときにクルクル回転かいてんするアニメーションをつくります。 つづけてあたらめし変数へんすうを3つつくります。 • なんめしゅうするか • なんめしゅうか • コスチュームすう 変数へんすうなんめしゅうするか」をつく初期めしょきする とりあえず4にめします。 変数へんすうなんめしゅうか」をつく初期めしょきする ゼロにめします。 変数へんすう「コスチュームのすう」をつく初期めしょきする コスチュームを自作じさくめしたり加工かこうめしひとは、自分じぶんのコスチュームすう初期めしょきめしてください。ここではダウンロードファイル(とスタータープロジェクト)で用意よういめした5ぶんのコスチュームすう初期めしょきめしています。 ループを変数へんすうなんめしゅうするか」のあたいだけ繰り返く かえすループブロックをきます。 おとめしかたえる おと回転かいてん同時どうじ実行じっこうされてほめしいので、「わるまで○のおとらす」ブロックはめます。 回転かいてんさせる 変数へんすう「コスチュームのすう」だけ「つぎのコスチュームにする」ブロックをたたきます。これでコインが回転かいてんめしているようにえます。 このループがいちめしゅうするアニメーションです。 それを4かい繰り返く かえすので、コインは合計ごうけい4回転かいてんめします。 動作どうさ確認かくにんする プレイヤーの真上まうえでコインがクルクルめします。めしめしまだまだ味気あじけないですね。 はずむアニメーションをつく回転かいてんするだけではなくはずむように上下じょうげうごめします。 まずうえうごかす とりあえずY座標ざひょうめしてみます。 これでどんどんうえ移動いどうめしながら回転かいてんするコインができます。 うえ移動いどうする回数かいすう限定げんていする ずっとうえくだけでははずむようにえないので、うえ回数かいすう限定げんていめします。 変数へんすうなんめしゅうするか」のあたい半分はんぶん未満みまんまではうえ移動いどうする条件じょうけん分岐ぶんききまめした。 数字すうじだとこうなります。 変数へんすうなんめしゅうするか」は4なので、その半分はんぶんは2です。 2未満みまんとなると1なので、うえくのは1めしゅうだけです。 それ以降いこうはこれからつくる「でなければ」が実行じっこうされます。 めし移動いどうする うえ移動いどうするよりもゆるやかにくだることで、はずむようにせます。 変数へんすうなんめしゅうか」を加算かさんする 動作どうさ確認かくにんする おとわせて、回転かいてんめしながらはずむようになりまめした。 コイン合計ごうけいすうつくる コイン合計ごうけいすうは、ゲームのやりこみ要素ようその1つです。いままではただ「マリオっぽくうごく」だけのスクラッチプロジェクトでめしたが、コイン合計ごうけいすう表示ひょうじすることで一気いっきにゲームっぽくなります。 スプライトをアップロードする コスチュームを確認かくにんする 表示ひょうじめしてみる 確認かくにんする 指定めしていめし座標ざひょう表示ひょうじされるとおもいます。ここからスタートです。 着替きがえれば数字すうじわる コスチュームをえることで表示ひょうじされる数字すうじわります。 この数字すうじをコインの枚数まいすう連動れんどうさせれば、プレイヤーがかせいだコインの枚数まいすうつね表示ひょうじすることができそうです。 りんごとバナナ 演算えんざんブロックの「りんごとバナナ」を使つかって、コスチュームを動的どうてきえる準備じゅんびめします。 変数へんすう「コイン合計ごうけいすう」をつく初期めしょきする 利用りようする これでコイン合計ごうけいすうを3などにえれば、画面がめん表示ひょうじされるコインすうも3にわります。 メッセージ「コインをゲットめしめした」を受け取う とる コインがえるたび処理めしょりおこな必要ひつようがあるので、さっそくメッセージに対応たいおうめしていきます。 処理めしょりうつす クローン対応たいおうする コイン合計ごうけいすうは1けたのうちはスプライト本体ほんたいでもいいですが、2けた3けたえてきたらかく数字すうじをクローンをつくって表示ひょうじめします。そのため、クローンにも対応たいおうめしていきます。 本体ほんたいかくすべての数字すうじをクローンで管理かんりするため、本体ほんたい表示ひょうじ不要ふようです。 ブロック定義ていぎさい描画びょうがする」をつくる コイン合計ごうけいすうやす さい描画びょうがにコイン合計ごうけいすう加算かさんめします。 自分じぶん自身めしのクローンをつくる クローンされたときブロックをく クローンされたときに表示ひょうじされるようにえる メインの処理めしょりをこちらにうつめします。 コインをゲットめしたらさい描画びょうがする コインをゲットめしたらブロック定義ていぎさい描画びょうがする」を実行じっこうめして、「さい描画びょうがする」のなかでクローンをつくります。そめしてクローンをつくったらコイン合計ごうけいすうが1えたあたい表示ひょうじめします。 これでメッセージ「コインをゲットめしめした」がおくられるたび合計ごうけいすうが1ずつえて表示ひょうじされる基本きほんととのいまめした。 変数へんすう「クローンかどうか」をつくさい描画びょうがするのは本体ほんたい仕事めしごとであって、クローンの仕事めしごとではありません。 分岐ぶんきさせるためにフラグ作戦さくせん使つかいます。 本体ほんたい初期めしょきする クローンで初期めしょきする クローンは毎回まいかいす メッセージ「コインをゲットめしめした」を受け取う とたびにクローンはめします。そめし本体ほんたいがブロック定義ていぎさい描画びょうがする」をたたき、またクローンをつくります。 はたされたときにもクローンをつく最初さいめしはゼロまいなので、ブロック定義ていぎさい描画びょうがする」をたたかずに、素直すなおにクローンをつくっておきます。これでゼロまいという表示ひょうじおこなわれます。 動作どうさ確認かくにんする チャリンチャリンするたびに変数へんすう「コイン合計ごうけいすう」が加算かさんされ、わせて表示ひょうじわることを確認かくにんめします。 いいですね! 10以上いじょう数字すうじ対応たいおうする めしめし合計ごうけいすうが10まい以上いじょうになると表示ひょうじがおかめしくなります。そうです、一番いちばんみぎ数字すうじめし表示ひょうじされないのです。まだまだ改善かいぜん必要ひつようですね。 けたえたときの仕様めしようは「数字すうじみぎそろえ」です。みぎそろえということは、けたえたらひだりえていくということです。 これにはいくつかの変数へんすう必要ひつようとなります。 • ベースとなるX座標ざひょう数字すうじ1つの横幅よこはば表示ひょうじするコインすうけた 今後こんごけた《けた》」という言葉ことば使つかいますが、とうレッスンにおけるけた意味いみについていておきます。12345という数字すうじの1けたいてある場合ばあいは1を1けためしあつかっています。うえ1けたという意味いみけた使つかっていきます。 変数へんすう「ベースとなるX座標ざひょう」をつく初期めしょきする 220くらいにめしておきます。 利用りようする 変数へんすう数字すうじ1つの横幅よこはば」をつく初期めしょきする 変数へんすう表示ひょうじするコインすうけた」をつく初期めしょきする 1で初期めしょきめします。最初さいめしにゼロと表示ひょうじするため、初期めしょきは1です。 コイン合計ごうけいすう桁数けたすうだけループする処理めしょりつくる コイン合計ごうけいすうが4なら1かい、14なら2かい、138なら3かい、というように桁数けたすうかずだけループをまわめします。 変数へんすう表示ひょうじするコインすうけた」を初期めしょきする まず変数へんすう表示ひょうじするコインすうけた」をゼロにもどめしておきます。 ループブロックをく こういうループを用意よういめしてください。 それをブロック定義ていぎさい描画びょうがする」のなか使つかいます。 これでけたかずだけクローンができます。 担当たんとうする数字すうじえる クローンごとに表示ひょうじするけたえたいので、ループのなか変数へんすう表示ひょうじするコインすうけた」を1ずつえます。 担当たんとうする数字すうじ表示ひょうじする コイン合計ごうけいすうのうち、クローンごとに自分じぶん担当たんとうする表示ひょうじのコスチュームに着替きがえていきます。 数字すうじでも説明せつめいめしておきます。 たとえばコイン合計ごうけいすうが846だったとめします。 1つのクローンは変数へんすう表示ひょうじするコインすうけた」に1をっています。 だからコイン合計ごうけいすう846のうち、うえ1けたである8を担当たんとうめします。 2つのクローンは変数へんすう表示ひょうじするコインすうけた」に2をっています。 だからコイン合計ごうけいすう846のうち、4を担当たんとうめします。 3つのクローンは変数へんすう表示ひょうじするコインすうけた」に3をっています。 だからコイン合計ごうけいすう846のうち、6を担当たんとうめします。 「○の○ばん文字もじ」ブロックを用意よういする ○ばん変数へんすうれる 
コスチュームを着替きがえる演算えんざんくわえる これでかくクローンが担当たんとうする数字すうじ表示ひょうじすることには成功せいこうめします。 数字すうじをかぶらないようにする めしめし、すべての数字すうじおな座標ざひょう表示ひょうじされています。これでは理解りかいできません。 X座標ざひょうをクローンごとにずらめしていきます。 ここはみぎそろえである必要ひつようがあるので、変数へんすう表示ひょうじするコインすうけた」のあたいおおきいほど左側ひだりがわにズレていくような演算えんざん必要ひつようです。 複雑ふくざつなので、下記かきステップにわせて演算えんざんつくってみてください。 ステップ1 ステップ2 コイン合計ごうけいすうではなく、「コイン合計ごうけいすうながさ」です。 ステップ3 ステップ4 ステップ5 ステップ6 ステップ7 めし解説かいせつ 数字すうじ解説かいせつめします。 かく変数へんすうあたい下記かきに示めしめします。 ベースとなるX座標ざひょう 220 数字すうじ1つの横幅よこはば 20 コイン合計ごうけいすう 846(かり) コイン合計ごうけいすうながさ 3(かり表示ひょうじするコインすうけた クローンごとにことなる まず1つのクローンです。このクローンは変数へんすう表示ひょうじするコインすうけた」に1をっていますので、846の8を担当たんとうめしており、X座標ざひょうめるめしつぎのようになります。 220 - ( 20 * ( 3 - 1 ) ) = 180 8はX座標ざひょう180に表示ひょうじされます。 2つ(846の4)はつぎのとおりです。 220 - ( 20 * ( 3 - 2 ) ) = 200 4はX座標ざひょう200に表示ひょうじされます。 3つ(846の6)はつぎのとおりです。 220 - ( 20 * ( 3 - 3 ) ) = 220 6はX座標ざひょう220に表示ひょうじされます。 つまり、8が一番いちばんひだりつぎが4、最後さいごに6という順番じゅんばん表示ひょうじされるわけです。 これで数字すうじみぎそろえでずらすことが出来できめした。 動作どうさ確認かくにんする 変数へんすう「ベースとなるY座標ざひょう」をつくる マジックナンバーをつぶめしておきます。 初期めしょきする 利用りようする ぜんクリアめしたときの振る舞ふ まい これでここまでのゲームちゅううごきは完成かんせいめしめした。 実装じっそう要件ようけんぜんクリアめしさいにコインをおおきく表示ひょうじするというものです。 おおきく表示ひょうじするだけではなく、表示ひょうじする座標ざひょうえたいとおもいます。 ここからはじめます。 表示ひょうじする位置いち調整ちょうせいする クローンはす コインをゲットめしたときと同様どうように、クローンではなく本体ほんたいだけが処理めしょり担当たんとうめします。 ベース座標ざひょうえる さい描画びょうがする 動作どうさ確認かくにんする 位置いちはズレて表示ひょうじされています。そのてん成功せいこうです。 めしめし数字すうじのサイズがちいさいですね。 めしかも本来ほんらい合計ごうけいすうは12だったのに、さい描画びょうがするさいに1加算かさんされるので13になってめしまっています。 色々いろいろなおめしていきます。 おおきさをえる まず数字すうじおおきくめします。 おおきさをえるブロックをく 3ばいめします。 おおきくはなりまめしたが、これでうごかすと数字すうじがかぶってめしまいます。 変数へんすう数字すうじ1つの横幅よこはば」を初期めしょきする位置いちえる はたされたときに初期めしょきめしていますが、ブロック定義ていぎさい描画びょうがする」ない初期めしょきするようブロックを移動いどうめします。 初期めしょきする 直接ちょくせつ20を入力にゅうりょくするのではなく、20に「おおきさ」をけます。 おおきさが100%であるゲームちゅうならつぎのようになります。 数字すうじ1つの横幅よこはば = 20 x ( 100 ÷ 100 ) = 20 100 ÷ 100は1なので20 x 1で20のままです。 クリアおおきさが300%になるので、つぎのようになります。 数字すうじ1つの横幅よこはば = 20 x ( 300 ÷ 100 ) = 60 300 ÷ 100は3なので20 x 3で60になります。 動作どうさ確認かくにんする ブロック定義ていぎさい描画びょうがする」を改修かいめしゅうする 1まいえてめしまうところもなおめします。 引数ひきすう追加ついかする 加算かさんすうという引数ひきすう追加ついかめします。 メッセージ「コインをゲットめしめした」を受け取う とったらプラス1する メッセージ「ぜんクリアめしめした」を受け取う とっても加算かさんめしない 加算かさん処理めしょり修正めしゅうせいする 動作どうさ確認かくにんする コイン枚数まいすうえずに拡大かくだい表示ひょうじされまめした。 ブロックをこわめしたらコインをゲットできるようにする ブロックをこわめしたらコインをゲットできるようにめします。いよいよマリオっぽい表現ひょうげん実装じっそうです。 メッセージ「コインをゲットめしめした」をおくる コインのスプライトのブロック定義ていぎこわれる」ないから、メッセージ「コインをゲットめしめした」をおくります。 じつはこれだけで「ブロックをこわめしたらコインをゲットできる」という要件ようけん実装じっそうわります。 めしめし、コインがでるブロックとでないブロックをつく必要ひつようがあるので、もうすこめし改修かいめしゅうめしていきます。 破壊はかいなんてくるか定義ていぎする かくブロックからなんるのか、ないのかを1つずつ設定せっていできるように、ブロック定義ていぎ引数ひきすう追加ついかめします。 ブロック定義ていぎ「スポーンする」を編集へんめしゅうする ブロックのスポーン情報じょうほう定義ていぎするブロック定義ていぎ「スポーンする」をみぎクリックめし編集へんめしゅうするを選択せんたくめします。 ラベルを追加ついかする まずは「アイテムめい:」というラベルを追加ついかめします。 引数ひきすう追加ついかする 変数へんすう「アイテム」をつく初期めしょきする ブロック定義ていぎこわれる」に条件じょうけん分岐ぶんき追加ついかする コインがるブロックをスポーンさせる ブロック定義ていぎ「スポーンする」をたたいている箇所めしで、破壊はかい可能かのうかどうかを1にめして、アイテムめいに「コイン」と入力にゅうりょくめしてください。 動作どうさ確認かくにんする る・ないがただめし動作どうさめしているかためめします。 コインがるブロックをこわす コインがないブロックをこわす おまけ 本編ほんぺんとは関係かんけいないのですがスクラッチ開発かいはつテクニックの共有きょうゆうです。 ここまでのメッセージ関係かんけい 以前いぜん紹介めしょうかいめしたメッセージ関係かんけいです。更新こうめしめしてあります。スタータープロジェクトやサンプルプロジェクトのステージの背景はいけいえがいてあるので、実物じつぶつをごらんになりたいかたはチェックめしてください。 TODOの管理かんりじゅつ TODOトゥードゥーというのは、スクラッチを開発かいはつめしていて「あー、全然ぜんぜん関係かんけいないけどここはちが実装じっそうかったな」「ここに追加ついかめしたいことあったけど、いまじゃないなぁ」という後回あとまわめしめしてもOKだけど、すごくになる作業さぎょうのことです。タスクとひともいます。 TODOを管理かんりする方法ほうほうやアプリはおくせんまんとおりもあるとおもいますが、スクラッチ開発かいはつではブロック定義ていぎ「メモ」とコメント機能きのう組み合く あわせたテクニックを(ぼくは)使つかっています。 スプライトめいと、なんめしたいのかを端的たんてきにまとめておくと便利べんりです。 これをメッセージ関係かんけいおなじくステージにいておきます。ステージのコードのどこかですね。 これはサンプルプロジェクトにのこめしてあるので、実物じつぶつはそちらでチェックめしてください。 てきモブをたおせ! コインをゲットできるようになり、よりおおくのコインの獲得かくとく目指めざすというゲームせいがでてきまめした。 いままではただスクラッチキャットがうごよこスクロールのプロジェクトだったのですが、一気いっきにゲームっぽさがめしめしたね。 次回じかいはゲームせいをもっといろくするべく、てきモブの作成さくせい取り掛かとりかかります。 てきモブさえ実装じっそうめしめしまえば、あとはアイデア次第めしだいでどんなマリオゲームもつくれますね。 またすうじつ以内いない更新こうめし目指めざめします。ブックマークなどよろめしくおねがめします!
ブクマよろしくお願いします! ブクマよろしくお願いします!
どんどん追記・更新していくので、ブックマークやシェアよろしくお願いします!

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

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

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