Menu
CoddyTech

回顾:发射台

本课属于 Coddy Unity 学习旅程的“物理与游戏玩法”单元。第 7 课,共 71 课。

本次回顾将本章内容串联起来:在 FixedUpdate() 中设置速度,使用会考虑质量的冲量,并在 Update() 中读取按键,确保不会漏掉任何一次按键。

challenge icon

挑战

简单

让玩家走到发射台上,然后发射。

  1. 在 Update() 中,当按下 Input.GetKeyDown(KeyCode.Space) 时,将 bool launchPressed 设为 true。
  2. 在 FixedUpdate() 中,将原始 Horizontal 轴的值乘以 speed,并保留 y 值,据此设置 rb.linearVelocity。
  3. 当 launchPressed 被设为 true 时,只有当 x 与 pad.position.x 的距离小于 1,才施加 Vector3.up * launch 和 ForceMode.Impulse,然后将它清除。

按下 Play,走到发射台上并按下 Space。然后点击 Check。

亲手试试

using UnityEngine;

public class Jumper : MonoBehaviour
{
    public float speed = 4f;
    public float launch = 16f;
    public Transform pad;
    private Rigidbody rb;

    void Start()
    {
        rb = GetComponent<Rigidbody>();
    }
}
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

物理与游戏玩法中的所有课

自己练习: Unity 在线编辑器