unity 2d人物二段跳,多段跳 简单易懂

unity 2d人物二段跳,多段跳 简单易懂

开门见山,代码见英雄

续前面一篇2d游戏人物跳跃移动unity 2d游戏跳跃移动 手把手教你

isGround = Physics2D.OverlapCircle(jiao.position, 0.1f, ground);//该函数返回jiao的位置是否和图层ground发生碰撞重合,发生碰撞的话一定在地面上
    
if (isGround)//isGround是判断是否在地面
    {
    
    
      jumpCount = 1;//jumpCount是设置人物可以跳跃的次数-1(可以设置多次跳跃)
    }

    if (Input.GetButtonDown("Jump") && jumpCount > 0)//是否可以进行人物跳跃
    {
    
    
      playRig.velocity = Vector2.up * jumpSpeed;
      jumpCount--;
    }
    else if(Input.GetButtonDown("Jump") && jumpCount==0&&isGround)//有人问为什么该条件isGround是true的情况下还可以跳跃,不应该是false的条件下吗,这样的话不就是可以无限跳跃了吗?
    //这样子不会,因为当jumpCount的数值一直大于0的情况下一直执行上面的if语句跳跃,当jumpCount等于0的时候就是人物最后一次跳跃了,之前的isGround也一直没有设置成false
    {
    
    
      playRig.velocity = Vector2.up * jumpSpeed;
      isGround=false;
      jumpCount--;
    }

猜你喜欢

转载自blog.csdn.net/m0_48554728/article/details/114545821