Unity2D学习笔记Day6:无限跳跃bug和卡墙bug处理(补8.13)

学习资源:B站 M_Studio《Unity教程2D入门》11

Unity Assets:Sunnyland

Day6

Bug1: 角色跳跃后卡墙不掉落

成因:collider模仿真实世界,所以当碰到墙的时候恰好还按着左右键就会像你把小物块按在墙上,会产生摩擦力,所以就卡住不会掉下去了。

解决方法:给碰撞体添加没有摩擦力的材质

先新建一Physic material 2D,这里可能会遇到一个问题:官方提示Assets > Create > Physics Material 2D 但是我的Create里面没有Physics Material 2D

2020版本里面,Physics Material 2D被统一移到了2D中,所以应该是Assets >2D> Create > Physics Material 2D

在这里插入图片描述

把摩擦力改成0
在这里插入图片描述
赋值给player的头部碰撞体的material即可
在这里插入图片描述

Bug2:无限跳跃

解决方法:写脚本
添加一个判断条件:只有player脚踩在地上的才可以跳

        //角色跳跃
        if(Input.GetButtonDown("Jump") && coll.IsTouchingLayers(ground))
        {
            rb.velocity = new Vector2(rb.velocity.x, jumpforce * Time.deltaTime);
            anim.SetBool("isJumping", true);
            anim.SetBool("isIdle", false);
        }

不过这个也有个bug:就是踩到墙也会判断是踩到了地面,然后就又可以再次跳跃,希望后期可以解决。

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值