スクラッチ scratch

【スクラッチ】ジャンプをする方法〜3ステップでジャンプできるようになる〜

ニンジャ
ジャンプがうまくできないんですよね・・

子ども向け無料プログラミング寺子屋『CoderDojo熊本』開催中に寄せられた質問に、

アオキ
マリオみたいな感じだよね、そりゃあジャンプしたいよねぇ。

と思い、『スクラッチ』でジャンプをする方法を探ってみることにしました。

ありがたいことに『スクラッチ』では、

世界中の人々がつくったゲームを遊ぶこともできれば、

ゲームを動かしている仕組み(ブロックの組み方)を見ることもできます。

スクラッチの中で『mario』と検索してヒットしたゲームを参考に記事にしてみました。

こんな感じでジャンプします。

※プログラミングの作り方っていろいろな方法があるので、あくまで参考にしてもらえればと思います。

Sponsored link

スクラッチでジャンプをする方法 その0 Y座標を考える

スクラッチに限らずですが、

画面上のどの位置にいるか、というのを表現するために、

XとYという考え方がよく使われます。

  • X・・左右
  • Y・・上下

になり、

  • 右に進むなら x (プラスエックス)
  • 左に進むなら -x (マイナスエックス)
  • 上に進むなら y (プラスワイ)
  • 下に進むなら -y (マイナスワイ)

になります。

ジャンプしたように見せようとすると、

  1. 上ボタンを押したらYの値が増えて、
  2. ある程度上がったらYの値が止まって、
  3. 徐々にYの値が減って、
  4. 地面につく

という動きができれば、ジャンプしたように見えるのかなと思います。

アオキ
ジャンプ一つでも意外に考える事いっぱいあるんですよねぇ

スクラッチでジャンプをする方法 その1 重力を設定する

ジャンプの動きとしては、

  1. 上ボタンを押したらYの値が増えて、
  2. ある程度上がったらYの値が止まって、
  3. 徐々にYの値が減って、
  4. 地面につく

という順番なんですが、

スクラッチで作る場合はまず始めに、

3.徐々にYの値が減って、

を作った方がわかりやすいのかなと思います。

  • Yの値が減る
  • どんどん下に下がっていく

というのは、

アオキ
『重力』と同じですね。

スクラッチでブロックを組むならこんな感じになります。

この状態で『緑の旗ボタン(スタートボタン)』を押せば、

キャラクター(今回はライオン)がすーっと下に下がっていきます。

y座標を -5 ずつ下がるようにしていますが、

この数字を -2 にしたり、 -10 にしたりして、

落ちるスピードを調整してみてください。

簡単ですが、これで『重力』が表現できました

Sponsored link

スクラッチでジャンプをする方法 その2 地面をつくる

このままではライオンがずっと下がっていってしまうので、地面をつくります。

作り方はいろいろあると思いますが、今回は色で判別したいと思います。

地面の色を『茶色』として、

スプライトを『描く』を選んで、『茶色の地面』をつくってみます。

アオキ
枠線(わくせん・まわりの線)は透明にしておきます。

プロックの組み方はこんな感じで。

『もし茶色に触れたではないなら』

というちょっと変な表現になっていますが、ようは、

  • 茶色にさわらなかったらYが-5ずつ減っていく
  • 茶色にさわったらYは変化しなくなる

ということを表現しています。

スクラッチでジャンプをする方法 その3 Let’s ジャンプ!

これまでで、

3. 徐々にYの値が減って、
4. 地面につく

というところまで作る事ができたので、ようやく、

1. 上ボタンを押したらYの値が増えて、
2. ある程度上がったらYの値が止まって、

の箇所を作ってみます。

ブロックとしてはこんな感じで。

  • 上ボタンを押したらYの値が増えて、
  • ちょっとずつYの増え方が少なくなって、
  • Yが増えなくなる

というような流れを目指しています。

Yが増えなくなったら、重力によってYが下がっていくという形ですね。

今回のジャンプの完成形はこんな感じです。

ジャンプの高さや止まる位置などは、
好みによるし、ゲームによって違うと思うので、
ちょうどいいジャンプ感になるまで調整してみるのも楽しいかもですね。

Sponsored link

さいごに

マリオでも、ロックマンでも、カービィでも、

横スクロールゲームを作ろうと思ったら、ジャンプは必須条件ですよね。

スクラッチでうまいことジャンプがつくれるようになって、

ぜひおもしろいゲームを考えてつくる事を通じて、

『創造的思考力』『自分の頭で考えてつくれる』ような人が増えればいいなぁと思います。

アオキ
たかがジャンプ、されどジャンプ、ですな。

 

子どもむけプログラミング寺子屋『CoderDojo熊本』参加者募集中

『スクラッチ』ではこんな記事も読まれています。

1. 【スクラッチ】ジャンプをする方法〜3ステップでジャンプできるようになる〜

2. スクラッチでセーブする方法を考えてみる〜基本的な考え方〜

3. スクラッチプログラミングでマリオ風の横スクロールアクションゲームを参考にいいとこ取りしてみる

4. スクラッチ(scratch)とマインクラフト(minecraft)を連携させて子ども向けプログラミングのネタを増やしてみた

5. スクラッチプログラミング入門〜子供と大人のはじめのいっぽ

6. 【スクラッチ】時間が経つと敵が増えて難しくしたい、というリクエストを叶えるために

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

CAPTCHA


Sponsored link

関連記事

  1. Python

    スクラッチ(scratch)とマインクラフト(minecraft)を連携させて子ども向けプログラミン…

    CoderDojo熊本を立ち上げてからというもの、日々お勉強の毎日にな…

  2. スクラッチ scratch

    スクラッチプログラミング入門〜子供と大人のはじめのいっぽ

    無料で遊べるパズルのようなプログラミング言語、スクラッチ(Scratc…

  3. スクラッチ scratch

    micro:bit(マイクロビット)とスクラッチをつなげてHelloとやってみた

    ここ数年、子供向けプログラミング教材の種類が世界的に増えてきています。…

  4. スクラッチ scratch

    スクラッチでセーブする方法を考えてみる〜基本的な考え方〜

    子供向け無料プログラミング寺子屋『CoderDojo熊本』にて参加され…

Sponsored link

最近の記事

アーカイブ

Sponsored link
  1. Django

    【Django】【Laravel】【RubyOnRails】を比較してみた【初心…
  2. MySQL

    【mysql】SQL文のつくり方のコツ〜ちょっとずつ組み立てる〜【初心者向け】
  3. Laravel

    【Laravel5.5】Webアプリケーションを作るためのゆるめの環境構築編【N…
  4. Laravel

    【Laravel(PHP)】でできる事をわかりやすく(ざっくりと)まとめてみた【…
  5. Nuxt.js

    【Nuxt】入門 Vuexの状態管理を【図解】してみた【初心者向け】
PAGE TOP