step04 主人公に動きをつける②
今回は スプライトをジャンプさせます。というと簡単そうですが、scratchの世界には重力がないので、上に上がっただけでは落ちてきません。自分で重力を発生させてジャンプを作り出すんです!楽しいよ~。

解説フロー
今回はstep01であらかじめ積んでおいたプロジェクトに追加ブロックを積み足していきます。
- 解説1
まずは重力の地場を作ります。新しく『イベント』から【🏴が押されたとき】と『制御』から【ずっと】と【もし< >なら/でなければ】を出してきます。【🏴が押されとき】の下に【ずっと】をドラッグし、その中に【もし< >なら/でなければ】を入れます。 - 解説2
次に『動き』から【90度に向ける】を、『変数』から【変数を0にする】をとりだし、【🏴が押されたとき】と【ずっと】の間にねじ込みます。 - 解説3
【もし< >なら/でなければ】の【もし< >なら】の< >部分に『演算』から【< >ではない】を入れます。そして、『調べる』から【●色に触れた】をドラッグして【< >ではない】の< >にはめます。【もし ●色に触れた ではない なら】という変な日本語ですが、大丈夫です。 - 解説4
そして【もし】の中に『変数』から【変数を1ずつ変える】を入れます。数字の部分をクリックして【変数を-1ずつ変える】に変更しておきます。次に【でなければ】に『変数』から【変数を0にする】をドラッグします。 - 解説5
そして【もし< >なら/でなければ】の下に【y座標を10ずつ変える】をドラッグしてねじ込みます。それから【10ずつ変える】の10の所に『変数』から【変数】をドラッグして挿入します。 - 解説6
さて、これでステージ上に重力の地場が発生したはずです。ここで一度、積んだブロックの動作確認です。🏴を押してプログラムがスタートするとキャラクターがこの様に地面に埋まってしまいます(笑)重力が強すぎたようです。 - 解説7
ここでさっき積んでおいた【もし ●色に触れた ではない なら】という変な日本語のブロックが効いてきます。●をクリックするとメニューが出てきます。一番下のマーク(画にスポイドのようなやつ)をクリックします。 - 解説8
そうすると右上のステージ以外の所が暗くなって、この様な画面になると思います。カーソルが大きな〇になるので、〇の中心の小さな□を、ステージの茶色い床に合わせてクリックしてください。 - 解説9
重力調整ができました。これでキャラクターが地面に埋まることはなくなったはずです。もう一度動作確認をします。🏴を押してから、キャラクターをドラッグでつかんで、ステージの上の方で放すと、地面まで落ちますが、地面には埋まりません。地面に立つことが出来ました。 - 解説10
それでは、以前積んでおいた動きのプログラムにジャンプのブロックを追加していきます。(既に積んだブロックの詳細は「step01 主人公に動きをつける①」を参照してください。)キャラクターを左右に動かすプログラムの一番下に『制御』から【もし< >なら】をドラッグしてねじ込みます。【もし< >なら】の< >に『調べる』から【スペースキーが押された】を入れ、【スペースキー】部分をクリックして【もし上向き矢印キーが押されたなら】に変更します。※解説用のブロックにはスタート位置を決めるために【x座標を-184、y座標を-106にする】ブロックが入っています。 - 解説11
『制御』から【もし< >なら】をドラッグして【もし上向き矢印キーが押されたなら】の下の空いた部分に入れます。< >の中には『調べる』から【●色にふれた】をはめ込みます。色は床の色を設定します。●の部分をクリックします。 - 解説12
画面が暗くなって、ステージだけが明るくなったら、再び地面をクリックします。 - 解説13
次に『変数』から【変数を10ずつ変える】を出してきます。この変数を変えることによってジャンプの高さが変えられます。数値は≪15≫が良いと思います。【もし●色に触れたなら】の中にドラッグします。 - 解説14
最後に『動き』から【y座標を10ずつ変える】をドラッグし【10ずつ変える】の中に『変数』から【変数】をドラッグしてジャンプの完成です。 おつかれ~
ひとこと
キャラクターをジャンプさせることはできましたか?
今回はステージに重力を発生させ、地面の判定をつけてジャンプを成立させました。キャラクターが地面の上以外に静止できなくなったり、二段ジャンプも不可にしたりしています。scrachは『積んだもの勝ち』なので、ブロックの意味は分からなくても大丈夫ですが、どの部分のブロックが何なのか、考察してみるのも面白いと思います。何のためにこのブロックを入れたのかな?って思うブロックを取り外して動作確認をしてみてください。ブロックはどれも必要なものだということがわかると思います。そして、『変数』を使うとそれだけでなんだかカッコイイ!!変数を使うと世界が広がります!なんだか思い通りに動いてくれないときは、変数を使うことを考えてみましょう。上手に変数を使うと、これまでできないと思っていた事ができるようになります!
みなさんも是非やってみてください。
Topにもどる