基本情報
- バックパック
- 紹介日
-
2020.1.22
作り方
所要時間: 15分.
二段ジャンプ、三段ジャンプなど空中でさらにジャンプをする多段ジャンプを実装します。
- 緑の旗が押されたときを置く
最初のブロックを置きます。
- 初期化処理を行います
とくにY座標が重要です。ここを地面と仮定した上での実装になります。
Y座標を指定するのではなく、スプライトや色を指定した方法も頻繁に利用されます。 - 変数の定義と初期化
現在のジャンプ回数と、ジャンプの高さに影響するジャンプ速度を定義して、初期化しておきます。
- 空中にいる間の処理を実装します
再びY座標を使って、空中にいるのか、地面にいるのかを判定しています。
ここは初期化と分けて、別途緑の旗が押されたときブロックを配置してもOKです。 - 地面にいるときの処理を記述します
変数を初期化しておきます。また、着地のタイミングによっては地面より下に沈み込んでしまうため、改めてY座標を-129に設定します。
- 空中にいる場合の処理を記述します
空中にいるときは、ジャンプ速度を徐々にマイナスします。これは重力ジャンプと同様です。(厳密には重力の計算はもっと複雑ですが、これでも簡易版の重力を演出できます)
- ジャンプする処理を記述します
常にY座標とジャンプ速度が連動するようにコードを組みます。ジャンプ速度は地面にいるときは0(ゼロ)なので、何も起きません。
- ジャンプするトリガー処理を記述します
上向き矢印キーでジャンプするとします。
- 多段ジャンプの制限を書きます
ここで指定する数値の数だけジャンプができます。
- ジャンプの初動を記述します
Y座標がいっきに10増えるようにします。さらにジャンプ速度が7なので、合計で17増えていきます。ジャンプ速度は上述した処理によって-5ずつ変化します。
また、ジャンプした回数も加算しておきます - 最後に長押しした際の予防をします
最後に0.1秒待つことで、長押しされても多段回数が正常に動きます。
- バックパック
- 紹介日
-
2020.1.22