unity从0开始摸鱼日记11,自己的尝试3

这篇博客记录了作者在Unity中实现角色移动、跳跃、二段跳以及遇到的碰撞问题。通过调整跳跃脚本和重力参数解决了角色陷入地面的问题。此外,为防止角色无限飞行,作者引入了跳跃计数器。最后,讨论了冲刺和滑墙功能的实现,目前尚在解决持续滑墙的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

3月19日

今天整一个系列,完成移动的总结

包括:

左右移动,跳跃,二段跳

进一步尝试:

滑墙,冲刺,

首先是常规的移动和跳跃

void Update()
    {
        float x = Input.GetAxis("Horizontal");
        float y = Input.GetAxis("Vertical");
        Vector2 dir = new Vector2(x, y);
        move(dir);
        if (Input.GetKeyDown(KeyCode.Space))
        {
            jump();
        }
    }

    private void move(Vector2 dir)
    {
        rb.velocity = (new Vector2(dir.x * speed, rb.velocity.y));
    }

    private void jump()
    {
        rb.velocity = new Vector2(rb.velocity.x, 0);
        rb.velocity += Vector2.up * jumpForce;

    }

然后,想要实现根据按键时间长短,来控制跳跃高度,查看了一个github案例,采用添加了一个跳跃优化脚本

void Update()
    {
        if (rb.velocity.y < 0)
        {
            rb.velocity += Vector2.up * Physics2D.gravity.y * (fallMultiplier - 1) * Time.deltaTime;
        }
        else if (rb.velocity.y > 0 && !Input.GetKeyDown(KeyCode
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值