unity 实现按的越久跳跃更高的跳跃优化

文章描述了如何通过C#在Unity游戏中实现动态重力控制的跳跃功能,通过改变物体在上升和下落时的重力加速度,允许玩家在不同情况下调整下落和跳跃的体验。关键代码展示了如何在Update方法中处理这些变化。
摘要由CSDN通过智能技术生成

这是通过在不同情况下对物体施加向下的加速度来实现的。在物体向上的速度大于0并且按着跳跃键向下不断加更小的重力加速度。在物体下落时也就时向下的速度小于0时不断加更大的重力加速度。

private void BetterJump()
{
    if (player_2d.velocity.y < 0)
    {
        player_2d.velocity += Vector2.up * Physics2D.gravity.y * (falling_gravity - 1) * Time.deltaTime;
    }
    else if (player_2d.velocity.y > 0 && !Input.GetKey(KeyCode.K))
    {
        player_2d.velocity += Vector2.up * Physics2D.gravity.y * (not_loosened_gravity - 1) * Time.deltaTime;
    }
}

只需要在update方法中调用写好的这个方法。其中两个变量在类下面声明就好,数值可以在挂这个脚本的物体上手动调整。变量上面的时c#中的特性,作用是让变量有滑动条和序列化。

[Range(0f, 5f)]
[SerializeField]
private float falling_gravity;//下落时重力倍数(自行调整)
[Range(0f, 5f)]
[SerializeField]
private float not_loosened_gravity;//没松开时的重力倍数(自行调整)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值