スプライトにジャンプを追加してみよう


タイルマップを設置してみようで作成しましたコードにAボタンを押した時にスプライトがジャンプするコードを追加してみよう。

前に作成しましたコードは



になります。




Aボタンを押したときにジャンプのコードを追加してみます。



vyの数値をマイナスで指定すると上に向かって移動して、ある程度移動すると戻ってきます。

このコードを実行してみますと、



のような動きになりますが、連打をしてみますと、



のように何度でもジャンプできてしまいます。




着地していない状態でのジャンプを禁止します。



最初だけブロックでジャンプ中の変数を追加します。



Aボタンが押された時のブロック内でジャンプ中の判定を追加して、ジャンプの動作をしたらジャンプ中の変数を 1 にします。

これだけだとジャンプは一度きりになってしまいますので、着地した時の処理も追加します。



Playerのスプライトが壁指定した箇所に触れた時に、触れたのが下の壁であるかを判定した後にジャンプ中の変数の値を 0 にします。

このコードを実行してみますと、



Aボタンを連打しても、必ず地面に着地してから次のジャンプをするようになりました。

京都の東本願寺で開催されているプログラミング教室で講師をしています。
詳しくはTera schoolを御覧ください。
マインクラフト用ビジュアルエディタを開発しています。

詳しくはinunosinsi/mcws_blockly - githubをご覧ください。