You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Unity 2D如何实现跳跃延迟?解决跳跃连点问题

Unity 2D平台游戏解决连跳(Spam Jump)问题的方案

原脚本的核心问题是用Input.GetAxis("Vertical")直接驱动Y轴位移,这种逻辑适合持续上下移动(如飞行),完全不符合平台跳跃的设计需求,调整移动速度自然无法解决连跳问题。以下是重构后的完整解决方案:

修改后的移动脚本

using UnityEngine;

public class PlayerMove : MonoBehaviour
{
    public float moveSpeed = 15f;          // 水平移动速度
    public float jumpForce = 7f;           // 跳跃力度
    public float jumpCooldown = 0.3f;      // 跳跃冷却时间(单位:秒)

    private Rigidbody2D rb;
    private bool isGrounded = false;
    private float lastJumpTime;

    void Start()
    {
        rb = GetComponent<Rigidbody2D>();
        lastJumpTime = -jumpCooldown; // 初始状态允许立即跳跃
    }

    void Update()
    {
        // 水平移动逻辑
        float inputX = Input.GetAxis("Horizontal");
        rb.velocity = new Vector2(inputX * moveSpeed, rb.velocity.y);

        // 跳跃触发逻辑
        if (Input.GetKeyDown(KeyCode.Space) && isGrounded && (Time.time - lastJumpTime) > jumpCooldown)
        {
            rb.velocity = new Vector2(rb.velocity.x, jumpForce);
            lastJumpTime = Time.time;
            isGrounded = false; // 跳跃后立即标记为非地面状态,避免空中误触发
        }
    }

    // 检测玩家是否接触地面
    void OnCollisionStay2D(Collision2D other)
    {
        if (other.gameObject.CompareTag("Ground"))
        {
            isGrounded = true;
        }
    }

    // 玩家离开地面时更新状态
    void OnCollisionExit2D(Collision2D other)
    {
        if (other.gameObject.CompareTag("Ground"))
        {
            isGrounded = false;
        }
    }
}

关键逻辑说明

  • 物理驱动移动:改用Rigidbody2D控制速度,符合Unity物理系统规则,避免直接Transform.Translate带来的逻辑漏洞。
  • 地面检测机制:通过碰撞事件判断玩家是否在地面上,只有满足该条件才能触发跳跃,从根源上阻止空中连跳。
  • 跳跃冷却限制:通过lastJumpTime记录上次跳跃时间,只有当时间间隔超过设定的冷却值时,才允许再次跳跃,彻底解决连点跳跃问题。
  • 精准输入判断:用Input.GetKeyDown替代Input.GetAxis,确保跳跃仅在按键按下的瞬间触发一次,而非持续响应。

配置注意事项

  1. 给玩家对象添加Rigidbody2D组件,设置重力缩放为1(或根据游戏手感调整),确保玩家会自然下落。
  2. 将地面对象的Tag设置为Ground,若使用其他标签,需同步修改脚本中的标签判断代码。
  3. 调整jumpForce(跳跃高度)和jumpCooldown(冷却时间)参数,0.2-0.5秒的冷却时间通常能带来舒适的平台跳跃手感。

内容的提问来源于stack exchange,提问作者ThatCoderLicer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 22:25:41