スクラッチプログラミング - ランゲーム|はしりながらジャンプする
Scratch (スクラッチ)でたのしくあそべるランゲームをつくります。「どれだけながくはしりつづけられるか」をたのしむゲームです。ネコをずっとはしらせたり、ジャンプさせる方法(ほうほう)などをまなびましょう。
ランゲームのつくりかた|パート1
Scratch (スクラッチ)でランゲームをつくる方法(ほうほう)を、3回(かい)にわけて紹介(しょうかい)していきます。今回(こんかい)は、そのパート1です。
- パート1(このきじ)では、ネコをずっとはしらせて、はしっている間(あいだ)にジャンプができるようにします。
- パート2では、ネコが障害物(しょうがいぶつ)にあたったらゲームオーバーにして、はしりつづけたタイムをはかれるようにします。
- パート3では、はしるスピードをだんだんはやくしたり、宝石(ほうせき)をゲットできるようにして、ゲームを完成(かんせい)させます。
サンプルプロジェクト
下(した)にあるのは、これからつくっていくランゲームのサンプルプロジェクトです。記事(きじ)をよみすすめる前(まえ)に、ネコや地面(じめん)のうごきをみておいてください。
地面(じめん)のスプライトをつくろう
最初(さいしょ)に、地面(じめん)のスプライトをつくります。はしっている途中(とちゅう)で障害物(しょうがいぶつ)などがでてくるように、いろいろなコスチュームをつくってくださいね。
- 最初(さいしょ)のコスチュームは、障害物(しょうがいぶつ)のない地面(じめん)だけにします。
- 最初(さいしょ)のコスチュームを「右(みぎ)クリック → 複製(ふくせい)」して、いろいろなコスチュームをつくります。複製(ふくせい)してつくる理由(りゆう)は、すべてのコスチュームの地面(じめん)のたかさをおなじにするためです。
- 障害物(しょうがいぶつ)のトゲやマグマは、おなじ色(いろ)でえがいてください。
地面(じめん)をうごかそう
地面(じめん)のスプライトは、ステージの右(みぎ)から左(ひだり)へうごくようにします。このように地面(じめん)をうごかしつづけると、ネコをうごかさなくても、ネコが前(まえ)にすすんでいるようにみえますよ。
最初(さいしょ)の設定(せってい)
地面(じめん)をうごかす前(まえ)に、最初(さいしょ)の位置(いち)とみためをきめておきましょう。
左端(ひだりはし)の限界(げんかい)までうごかす
地面(じめん)をステージの左端(ひだりはし)ギリギリまでうごかせるようにするために、どこまで横(よこ)にうごかせるかを確認(かくにん)します。次(つぎ)の2つのブロックをくみあわせてから、ブロックをクリックしてみてください。
ずっと
x ざひょうを -1 ずつかえる
ブロックをクリックすると、地面(じめん)が左(ひだり)へうごきつづけます。うごきがとまったところが、限界(げんかい)の座標(ざひょう)です。今回(こんかい)ここでつくった地面(じめん)のスプライトは、x 座標(ざひょう) -469
までうごくことが確認(かくにん)できました。
この x 座標(ざひょう)の値(あたい)をつかって、地面(じめん)を左(ひだり)へうごかしましょう。
- ずっとうごかします。
- ステージの左端(ひだりはし)ギリギリまでうごかします。
x 座標(ざひょう)をかえる値(あたい)によって、うごくはやさがかわりますよ。ここでは xざひょうを -7 ずつかえる
にしました。地面(じめん)をゆっくりうごかしたい場合(ばあい)は -5
、はやくうごかしたい場合(ばあい)は -10
などにしてみてくださいね。
位置(いち)を右端(みぎはし)にしてコスチュームをかえる
地面(じめん)のスプライトが、ステージの右(みぎ)から左(ひだり)へうごきつづけるようにしましょう。
- 左端(ひだりはし)までうごいた地面(じめん)を右端(みぎはし)に移動(いどう)させて、ふたたび左方向(ひだりほうこう)へうごくようにします。
- ランダムにコスチュームをかえて、ちがうみための地面(じめん)になるようにします。
うごきをたしかめよう
緑(みどり)の旗(はた)をおして、ここまでのうごきを確認(かくにん)してみましょう。地面(じめん)が右(みぎ)から左(ひだり)へうごいていくようになりました。でも、途中(とちゅう)で地面(じめん)がとぎれてしまいます。
地面(じめん)がとぎれるのをふせぐために、地面(じめん)のコスチュームをコピーして、ステージの背景(はいけい)にはりつけてください。あわせて、空(そら)の背景(はいけい)などもかきくわえておくといいですよ。
以上(いじょう)で、地面(じめん)がずっとうごきつづけるようになりました。
ネコをうごかそう
つづいて、ランゲームの主役(しゅやく)であるネコのスクリプトをつくっていきましょう。
ずっと下(した)へうごかす
ネコは、横方向(よこほうこう)にはうごかしません。重力(じゅうりょく)をあたえて、下方向(したほうこう)へだけうごくようにします。
- 変数(へんすう)
うごくきょり
をつくって、最初(さいしょ)の値(あたい)を0
にします。この変数(へんすう)が、ネコを下方向(したほうこう)へうごかす重力(じゅうりょく)をあらわします。 - ずっとうごかします。
うごくきょり
の値(あたい)をかえながらy 座標(ざひょう)かえて、下(した)へうごく距離(きょり)がだんだんおおきくなるようにします。- 地面(じめん)にふれているときは、下(した)へうごかしません。
うごくきょり
を0
にして重力(じゅうりょく)をなくします。
うごきをたしかめよう
ネコを上(うえ)のほうにドラッグしてから、ブロックをクリックしてみましょう。ネコが自動的(じどうてき)に下(した)へおちるようになりました。
くりかえしネコをドラッグして上(うえ)のほうからおとしてみてください。地面(じめん)に着地(ちゃくち)したときに、ネコが地面(じめん)にうまってしまうことがありませんか?
地面(じめん)にうまってしまう原因(げんいん)は、変数(へんすう)をつかってうごかすと、地面(じめん)につくタイミングによって、下方向(したほうこう)へうごく距離(きょり)のおおきさがちがってくるからです。
地面(じめん)ピッタリに着地(ちゃくち)させる
ネコが地面(じめん)にうまらないようにしましょう。そのためにつかうのは、ブロック定義(ていぎ)です。ピッタリちゃくち
というブロックをつくっていきます。そのさい、「画面(がめん)を再描画(さいびょうが)せずに実行(じっこう)する」にかならずチェックをいれてください。
ていぎ ピッタリちゃくち
の下(した)には、次(つぎ)のようにブロックをつなげます。
「画面(がめん)を再描画(さいびょうが)せずに実行(じっこう)する」にチェックをいれたのは、この一連(いちれん)のうごきをみせずに一瞬(いっしゅん)で完了(かんりょう)させるためです。
地面(じめん)ピッタリに着地(ちゃくち)させる方法(ほうほう)は、以下(いか)の記事(きじ)でくわしく解説(かいせつ)しているのでぜひ参考(さんこう)にしてください。
うごきをたしかめよう
ピッタリちゃくち
を、下方向(したほうこう)へうごかすブロックの下(した)に追加(ついか)してください。そして、さきほどとおなじように、ネコをドラッグして上(うえ)からおとしてみましょう。なんどかくりかえして、ネコが地面(じめん)にうまらなくなったことを確認(かくにん)してみてくださいね。
ネコをジャンプさせよう
ここからは、はしっている途中(とちゅう)ででてくるトゲやマグマを、ジャンプでよけるためのスクリプトをつくっていきましょう。パソコンだけでなく、キーボードのないタブレットなどでもあそべるように、2つの方法(ほうほう)を解説(かいせつ)します。
キーでジャンプさせる
まずは、キーボードのうわむき矢印(やじるし)キーをつかってジャンプさせる方法(ほうほう)です。キーがおされたときに、うごくきょり
を一気(いっき)にふやします。
ジャンプさせるためのブロックは、もし じめんのいろにふれた なら
の中(なか)に追加(ついか)してください。これは、ジャンプできるのは地面(じめん)にふれているときだけで、ジャンプ中(ちゅう)にキーをおしても反応(はんのう)しないようにするためです。
ボタンでジャンプさせる
次(つぎ)は、キーボードをつかわずにジャンプさせる方法(ほうほう)です。この場合(ばあい)は、スプライトのボタンをつくって、それをタップすることでジャンプさせます。
- おこのみのスプライトを用意(ようい)して、ステージの右下(みぎした)に配置(はいち)してください。
- ボタンがタップされたときに、ネコにジャンプするようメッセージをおくります。
メッセージをうけとるのはネコです。メッセージをうけとったときに地面(じめん)にふれているなら、ジャンプさせます。
うごきをたしかめよう
緑(みどり)の旗(はた)をおして、ここまでのうごきを確認(かくにん)してみましょう。地面(じめん)の上(うえ)にいるネコが、うわむき矢印(やじるし)キーまたはボタンのタップでジャンプするようになりました。
ここではまだ、ネコのみためが変化(へんか)しないので、ネコは地面(じめん)の上(うえ)をスーッとすべっているようにみえます。
ネコをはしらせよう
ネコのみためを変化(へんか)させて、はしらせましょう。はしらせるのは地面(じめん)の上(うえ)にいるときだけです。
- ずっとくりかえします。
- 地面(じめん)の上(うえ)にいるときだけ、はしらせます。
0.01
秒(びょう)間隔(かんかく)でコスチュームをきりかえます。
この、はしらせるうごきは、さきほどまでつくってきたブロックのかたまりとは別(べつ)でうごくように、みどりのはたがおされたとき
の下(した)につなげてください。べつでうごくようにする理由(りゆう)は、一緒(いっしょ)にくみあわせてしまうと、コスチュームをきりかえるときの ◯ びょうまつ
が影響(えいきょう)して、ジャンプのタイミングがおそくなってしまうからです。
うごきをたしかめよう
緑(みどり)の旗(はた)をおして、ここまでのうごきを確認(かくにん)してみましょう。地面(じめん)の上(うえ)にいるネコがはしるようになりました。ジャンプして空中(くうちゅう)にういている間(あいだ)は、ジャンプしたときのコスチュームで固定(こてい)されて、みためは変化(へんか)しません。
コスチュームをふやしてはしらせる
ネコのスプライトに元々(もともと)用意(ようい)されているコスチュームは2つですね。この2つのコスチュームをきりかえてはしらせるのでもよいのですが、ここで紹介(しょうかい)しているサンプルプロジェクトでは、4つのコスチュームをきりかえてはしらせています。
なぜコスチュームをふやしているかというと、そのほうがはしっている様子(ようす)がよりリアルになるからです。コスチュームをふやすときは、コスチュームを複製(ふくせい)してから腕(うで)や脚(あし)の角度(かくど)をかえましょう。
コスチューム2つの場合(ばあい)とふやした場合(ばあい)で、はしっているみためがどのようにかわるか、ぜひためしてみてください。
最初(さいしょ)の設定(せってい)
最後(さいご)になりましたが、ネコの最初(さいしょ)の状態(じょうたい)を設定(せってい)します。みどりのはたがおされたとき
の下(した)にブロックを追加(ついか)していきましょう。
ネコのみため
はしりはじめる前(まえ)のコスチュームを指定(してい)して、サイズはすこしちいさくしてください。
つなげたブロックをクリックすると、サイズのちいさくなったネコが地面(じめん)の上(うえ)ピッタリに着地(ちゃくち)します。
ネコの位置(いち)
x 座標(ざひょう)は、ゲームをプレイしやすいように、左端(ひだりはし)のほうにします。y 座標(ざひょう)は、地面(じめん)ピッタリに着地(ちゃくち)しているときの値(あたい)です。
スクリプト完成(かんせい)
以上(いじょう)で、ランゲームのつくりかたパート1の解説(かいせつ)はおわりです。ネコがはしりながらジャンプするスクリプトができました。
Scratch の Pyxofy ページへいって、実際(じっさい)にランゲームであそんでみてくださいね。Scratch ランゲーム by Pyxofy
Pyxofy (著)「きょうからはじめるスクラッチプログラミング入門」
Pyxofy が Scratch の電子書籍を出版しました!Kindle・Apple Books からご購入ください。
まとめ
今回(こんかい)は、Scratch でつくるランゲームを紹介(しょうかい)し、そのパート1として以下(いか)のスクリプトをつくりました。
- 地面(じめん)を左方向(ひだりほうこう)へうごかしつづける
- ネコを重力(じゅうりょく)で下(した)へうごかす
- ネコをジャンプさせる
- ネコをはしらせる
今後(こんご)のパート2では、ネコがトゲやマグマにふれたらゲームオーバーとし、はしりつづけたタイムをはかれるようにします。パート3では、ゲームをよりおもしろくするために、はしるスピードをはやくしたり、宝石(ほうせき)をゲットできるようにしてゲームを完成(かんせい)させます。おたのしみに!
最後まで読んでいただき、ありがとうございます。この記事をシェアしてくれると嬉しいです!
SNS で Pyxofy とつながりましょう! LinkedIn・ Threads・Bluesky・ Mastodon・ X (Twitter) @pyxofy・ Facebook