Menu
CoddyTech

おさらい:二段ジャンプ

CoddyのUnityジャーニー「本格的なゲームを作る」セクションの一部。レッスン 42/56。

challenge icon

チャレンジ

中級

Hero.cs にプラットフォーマーのヒーローの移動処理を書きます。Hero には CharacterController が設定されています。Inspector で speed (5)、gravity (-25)、jumpHeight (2)、airJumpHeight (1.28) を設定します。

  • 矢印キー(または WASD)をraw axesで読み取り、controller.Move を使って、x 軸と z 軸方向に毎秒 speed ユニットの速さでヒーローを移動させます。
  • 重力は手動で処理します。垂直速度は毎秒 gravity ずつ増加し、ヒーローが地面にいて落下中の場合は -2 に設定します。
  • 地上でスペースキーを押すと、ちょうど jumpHeight の高さまでジャンプします。
  • 空中でスペースキーを押すと、もう一度ジャンプし、押した地点から airJumpHeight だけ上昇します。空中にいる間にできるエアジャンプは1回だけです。着地すると再び使えるようになります。

Play を押し、二段ジャンプで足場に乗ってから、Check を押します。

自分で試してみよう

using UnityEngine;

public class Hero : MonoBehaviour
{
    public float speed = 5f;
    public float gravity = -25f;
    public float jumpHeight = 2f;
    public float airJumpHeight = 1.28f;

    CharacterController controller;

    void Start()
    {
        controller = GetComponent<CharacterController>();
    }

    void Update()
    {
    }
}

本格的なゲームを作るのすべてのレッスン