ネコをジャンプさせよう
Scratchでネコを動かしてみよう - IT父さんのロボブログの続き。
今度はネコをジャンプさせてみます。
スペースキーが押された時にジャンプするように改造してみましょう。
-
スペースキーが押されたら
ここでは、イベントの「__キーが押された時」というブロックを利用します。
このイベントブロックにつながったプログラムは、そのイベント(この場合は「スペースキーが押された」というイベント)が発生したときのみ、実行されます。
これに「ジャンプする」プログラムをつなげます。 -
ジャンプは縦移動
「ジャンプする」はスプライトを縦に動かす、つまりy座標を変える必要があります。例えばこんな感じ。
スプライトの画面上の位置は、真ん中が(x=0, y=0)で、x(横)が±240、y(縦)が±180で指定できます。つまり、このプログラムの意味は、
(1) yが0より大きくなるまでyを10ずつ増やす(上に移動)
(2) yが-100より小さくなるまでyを10ずつ減らす(下に移動)
ということになります。 - 自然にジャンプ
一応ジャンプは出来るようになったものの、何か不自然ですね。
これは上に移動するときも下に移動するときも、同じ速度で移動しているからです。(等速度運動)
ここで言う速度とは、「y座標を10ずつ変える」の"10"のこと。
普通、ジャンプしたときは最初が速度が速く、段々遅くなり、一番高いところで止まり、今度は落ちる方向に段々早くなります。
細かい説明は省きますが、この動きを「等加速度運動」といいます。
プログラムにするとこんな感じ。
y座標を移動するときに、最初"21"だった速度を"-3"ずつ変えています。
この"-3"が「加速度」で、
7回繰り返しで速度"0"になり、ジャンプの一番高い所になり、
14回繰り返しで速度"-21"になり、着地します。 - 背景をつけよう
真っ白な背景では味気ないので、ついでに背景を設定しよう。
まず、画面左下のスプライトの横にある「ステージ」を選択する。
次に、画面上部タブの「背景」をクリックし、背景をライブラリーから選択する。
いろいろな背景が選択できますが、ここでは"blue sky"を選択しました。
これでジャンプするネコの完成です。