スクラッチプログラミング - パックマンみたいなゲームのつくりかた - Part 2

Part 1 でつくった迷路(めいろ)のなかに、パックマンを登場(とうじょう)させましょう。矢印(やじるし)キーでパックマンをうごかして、通路(つうろ)に表示(ひょうじ)されたドットをたべるプログラムをつくります。

スクラッチプログラミング - パックマンみたいなゲームのつくりかた - Part 2
Photo by Huu Thong / Unsplash

更新日:2023年12月27日

Part 1 でやったこと

前回(ぜんかい)の Part 1 では、迷路(めいろ)の背景(はいけい)にドットを表示(ひょうじ)するプログラムをつくりました。

ドットが等間隔で表示されている迷路
ドットが等間隔で表示されている迷路
スクラッチプログラミング - パックマンみたいなゲームのつくりかた - Part 1
パックマンがたべるドットをきれいにならべるプログラムを紹介(しょうかい)します。迷路(めいろ)の背景(はいけい)をつくって、通路(つうろ)に等間隔(とうかんかく)でドットを表示(ひょうじ)しましょう。

Part 2 でやること

今回(こんかい)は、パックマンを追加(ついか)して操作(そうさ)できるようにプログラミングしていきますよ。

迷路の中にいるパックマン
迷路の中にいるパックマン

Part 2からは、ドットはいろとサイズをかえて、ちいさい黄色(きいろ)のドットにしてあります。次回(じかい)の Part 3 では、敵(てき)のゴーストを追加(ついか)してゲームを完成(かんせい)させます。

パックマンをつくるためには

主役(しゅやく)のパックマンをつくるためには、パックマンのスプライトと、四角(しかく)いスプライトを一緒(いっしょ)にうごかします。四角(しかく)いスプライトは、壁(かべ)とのあたり判定用(はんていよう)につかいます。

四角とパックマンのスプライト
四角とパックマンのスプライト

パックマンは、口(くち)をパクパクさせながらうごきますよね。口(くち)がひらいているときに壁(かべ)にぶつかると、壁(かべ)にくいこんだ状態(じょうたい)になってしまいます。そうすると、壁(かべ)ではねかえるうごきがうまくいきません。それをふせぐために、四角(しかく)をつかいます。

パックマンが口を開いて壁にふれたときと、四角が壁にふれたとき
パックマンが口を開いて壁にふれたときと、四角が壁にふれたとき

四角(しかく)を矢印(やじるし)キーでうごかせるようにして、パックマンがそれについてくるようにプログラミングしていきましょう。

しかくをプログラミングしよう

まずは、あたり判定用(はんていよう)につかう四角(しかく)をつくりましょう。スプライトは、迷路(めいろ)の通路(つうろ)をとおれるサイズでつくってください。

通路を通れる大きさの四角
通路を通れる大きさの四角

座標(ざひょう)のブロックで、最初(さいしょ)の位置(いち)をきめておきましょう。四角(しかく)は、パックマンのスプライトよりうしろがわに表示(ひょうじ)したいので、「さいはいめんへいどうする」ブロックをつなげておきます。

  • 座標(ざひょう)を指定(してい)して、最背面(さいはいめん)へ移動(いどう)する
最初の位置を決める
最初の位置を決める

上下左右(じょうげさゆう)の矢印(やじるし)キーで操作(そうさ)できるようにしましょう。

  • 矢印(やじるし)キーでうごかす
「ずっと」ブロックの間に「もし矢印キーが押されたなら」ブロックを4つ組み合わせる
「ずっと」ブロックの間に「もし矢印キーが押されたなら」ブロックを4つ組み合わせる

どの矢印(やじるし)キーをつかうときも、うごかすスピードや壁(かべ)ではねかえるうごきはおなじです。「まえにすすんで、壁(かべ)にふれたら、うしろにさがる」といううごきを、 ブロック定義(ていぎ)でまとめましょう。

  • 「うごく」を定義(ていぎ)する
10歩進んで、もし壁の色に触れたら10歩下がる
10歩進んで、もし壁の色に触れたら10歩下がる

うごかすときに「()びょうまつ」をつかわないと、スプライトはスーっとなめらかにうごきます。迷路(めいろ)のなかでうごかす場合(ばあい)は、すこしカクカクとしたうごきのほうが操作(そうさ)しやすいので、ここでは「(0.1)びょうまつ」をつかっています。

矢印(やじるし)キーとおなじ方向(ほうこう)にスプライトのむきをかえてうごかせるように、ブロックを追加(ついか)しましょう。

  • 「むき」と「うごく」ブロックを追加(ついか)する
矢印キーが押されたとき、向きを変えて動く
矢印キーが押されたとき、向きを変えて動く

矢印(やじるし)キーをつかって、四角(しかく)を操作(そうさ)できるようになりました!

パックマンをプログラミングしよう

つぎに、パックマンをつくります。スプライトは、四角(しかく)とおなじくらいのサイズの円(えん)にしてください。迷路(めいろ)の壁(かべ)とのあたり判定(はんてい)は、四角(しかく)のスプライトでおこなうので、円(えん)がすこしおおきくても、ちいさくても、問題(もんだい)はありませんよ。

四角とほぼ同じ大きさのパックマン
四角とほぼ同じ大きさのパックマン

「コスチューム1」を複製(ふくせい)して、口(くち)があいたコスチュームをつくります。けしゴムのふとさをほそくして、口(くち)の部分(ぶぶん)をけしましょう。

消しゴムツールで円を消して口を作る
消しゴムツールで円を消して口を作る

けした部分(ぶぶん)がデコボコしている場合(ばあい)は、おなじいろの長方形(ちょうほうけい)をかぶせておくと、きれいにみえますよ。

黄色い長方形を追加する
黄色い長方形を追加する
スクラッチプログラミング - ペイントエディターのつかいかた
えをかくことはすきですか?「こんなスプライトがあったらいいのに!」と、おもうことはありませんか?ペイントエディターのつかいかたをしって、スプライトやはいけいをえがけるようになりましょう。

スプライトが用意(ようい)できたら、座標(ざひょう)のブロックで、最初(さいしょ)の位置(いち)を四角(しかく)とおなじにしておきます。

  • 座標(ざひょう)を指定(してい)する
最初の位置を決める
最初の位置を決める

矢印(やじるし)キーがおされてうごくときだけ、コスチュームをかえてパクパクさせましょう。


これより下は、Pyxofyメンバー限定公開です。メンバーになると読むことができます。登録方法は、『メンバー登録・ログイン方法』をご覧ください。

スクラッチプログラミング -「ブロックていぎ」とは?じぶんでつくるブロック
プログラミングにつかうブロックを、あたらしくつくってみましょう。Scratchにはたくさんのブロックが用意(ようい)されていますね。でもそれだけでなく、じぶんでブロックをつくることもできますよ。
Start Here - Scratch (スクラッチ)
Scratch (スクラッチ)記事(きじ)のレベル別一覧です。初級、中級、上級、拡張機能にわけてまとめました。