ネコをジャンプさせよう

Scratchでネコを動かしてみよう - IT父さんのロボブログの続き。
今度はネコをジャンプさせてみます。
スペースキーが押された時にジャンプするように改造してみましょう。

    1. スペースキーが押されたら
      ここでは、イベントの「__キーが押された時」というブロックを利用します。
      このイベントブロックにつながったプログラムは、そのイベント(この場合は「スペースキーが押された」というイベント)が発生したときのみ、実行されます
      f:id:tomaberry:20170723065338p:plain
      これに「ジャンプする」プログラムをつなげます。

    2. ジャンプは縦移動
      「ジャンプする」はスプライトを縦に動かす、つまりy座標を変える必要があります。例えばこんな感じ。
      f:id:tomaberry:20170723065424p:plain
      スプライトの画面上の位置は、真ん中が(x=0, y=0)で、x(横)が±240、y(縦)が±180で指定できます。つまり、このプログラムの意味は、

      (1) yが0より大きくなるまでyを10ずつ増やす(上に移動)
      (2) yが-100より小さくなるまでyを10ずつ減らす(下に移動)

      ということになります。

    3. 自然にジャンプ
      一応ジャンプは出来るようになったものの、何か不自然ですね。
      これは上に移動するときも下に移動するときも、同じ速度で移動しているからです。(等速度運動)
      ここで言う速度とは、「y座標を10ずつ変える」の"10"のこと。
      普通、ジャンプしたときは最初が速度が速く、段々遅くなり、一番高いところで止まり、今度は落ちる方向に段々早くなります。
      細かい説明は省きますが、この動きを「等加速度運動」といいます。
      プログラムにするとこんな感じ。

      f:id:tomaberry:20170725220047p:plain
      y座標を移動するときに、最初"21"だった速度を"-3"ずつ変えています。
      この"-3"が「加速度」で、
      7回繰り返しで速度"0"になり、ジャンプの一番高い所になり、
      14回繰り返しで速度"-21"になり、着地します。

    4. 背景をつけよう
      真っ白な背景では味気ないので、ついでに背景を設定しよう。
      まず、画面左下のスプライトの横にある「ステージ」を選択する。

      f:id:tomaberry:20170725224043p:plain
      次に、画面上部タブの「背景」をクリックし、背景をライブラリーから選択する。

      f:id:tomaberry:20170725224231p:plain
      いろいろな背景が選択できますが、ここでは"blue sky"を選択しました。

      f:id:tomaberry:20170725224657p:plain

      これでジャンプするネコの完成です。