これを学ぶよ
わざ「接地中」フラグ変数で地面に立っているかどうかを覚えておき、重力でずっと落ちる仕組みと組み合わせてジャンプを作ろう。状態フラグと疑似物理演算の考え方を学ぶ。
つかうブロック
動画を見て、自分でも作ってみよう
やってみよう!1重力で落ちる動きを作ろう
まずキャラクターを画面の上のほうに配置して、「ずっと」の中で y 座標を少しずつ減らしましょう。マイナスの数を入れると下に動きます。これが重力の仕組みです。実行するとキャラクターが画面の下までずっと落ちていくはずです。
↑上のならべ方も見てね
使うブロック
ヒント
2「接地中」フラグを作って 0 で初期化しよう
「接地中」という変数を作りましょう。これはキャラクターが今地面に立っているかどうかを覚えておくフラグです。1 = 地面の上(ジャンプできる)、0 = 空中(ジャンプできない) と決めます。今のところはまず「ずっと」の中で毎回『接地中』を 0 にリセットします。あとで地面に触れたときに 1 に上書きする仕組みを次のステップで作ります。
使うブロック
ヒント
3地面で止まると同時に接地中 = 1 にしよう
「地面」スプライトを描いて、地面に触れたかどうかを調べます。「もし地面に触れたなら」の中に (1) y座標を 3 ずつ変える(落ちた分だけ押し戻す)と (2) 接地中を 1 にする(地面に立っていることを記録)を両方入れます。 重要: 押し戻しと「接地中 = 1」は同じ if の中に入れます。別々の if に分けると、押し戻した直後に地面から離れて 2 つめの if が false になり、接地中 がずっと 0 のまま(=ジャンプできない)になってしまうからです。
使うブロック
ヒント
4スペースキーでジャンプしよう
新しいスクリプトを「スペースキーが押されたとき」で始めましょう。「もし接地中が 1 なら」という条件を入れて、地面に立っているときだけジャンプできるようにします。「○回繰り返す」で短時間に y 座標を大きくプラスに変えると、勢いよく上に飛び上がります。空中ではジャンプできない、本格的なジャンプの完成です!
使うブロック
ヒント
AI チャットを使うには、ログインが必要だよ。
ログイン・登録するはじめての方はこちら