多段ジャンプの作り方

多段ただんジャンプのつくかた

作り方

所要時間: 15分.

二段ジャンプ、三段ジャンプなど空中でさらにジャンプをする多段ジャンプを実装します。

  1. 緑の旗が押されたときを置く

    最初のブロックを置きます。

    Scratch重力ジャンプの作り方
    Scratch重力ジャンプの作り方

  2. 初期化処理を行います

    とくにY座標が重要です。ここを地面と仮定した上での実装になります。
    Y座標を指定するのではなく、スプライトや色を指定した方法も頻繁に利用されます。

    Scratch多段ジャンプの作り方
    Scratch多段ジャンプの作り方

  3. 変数の定義と初期化

    現在のジャンプ回数と、ジャンプの高さに影響するジャンプ速度を定義して、初期化しておきます。

    Scratch多段ジャンプの作り方
    Scratch多段ジャンプの作り方

  4. 空中にいる間の処理を実装します

    再びY座標を使って、空中にいるのか、地面にいるのかを判定しています。
    ここは初期化と分けて、別途緑の旗が押されたときブロックを配置してもOKです。

    Scratch多段ジャンプの作り方
    Scratch多段ジャンプの作り方

  5. 地面にいるときの処理を記述します

    変数を初期化しておきます。また、着地のタイミングによっては地面より下に沈み込んでしまうため、改めてY座標を-129に設定します。

    Scratch多段ジャンプの作り方
    Scratch多段ジャンプの作り方

  6. 空中にいる場合の処理を記述します

    空中にいるときは、ジャンプ速度を徐々にマイナスします。これは重力ジャンプと同様です。(厳密には重力の計算はもっと複雑ですが、これでも簡易版の重力を演出できます)

    Scratch多段ジャンプの作り方
    Scratch多段ジャンプの作り方

  7. ジャンプする処理を記述します

    常にY座標とジャンプ速度が連動するようにコードを組みます。ジャンプ速度は地面にいるときは0(ゼロ)なので、何も起きません。

    Scratch多段ジャンプの作り方
    Scratch多段ジャンプの作り方

  8. ジャンプするトリガー処理を記述します

    上向き矢印キーでジャンプするとします。

    Scratch多段ジャンプの作り方
    Scratch多段ジャンプの作り方

  9. 多段ジャンプの制限を書きます

    ここで指定する数値の数だけジャンプができます。

    Scratch多段ジャンプの作り方
    Scratch多段ジャンプの作り方

  10. ジャンプの初動を記述します

    Y座標がいっきに10増えるようにします。さらにジャンプ速度が7なので、合計で17増えていきます。ジャンプ速度は上述した処理によって-5ずつ変化します。
    また、ジャンプした回数も加算しておきます

    Scratch多段ジャンプの作り方
    Scratch多段ジャンプの作り方

  11. 最後に長押しした際の予防をします

    最後に0.1秒待つことで、長押しされても多段回数が正常に動きます。

    Scratch多段ジャンプの作り方
    Scratch多段ジャンプの作り方

補足ほそく情報じょうほう

紹介日
2020.1.22