当前位置: 首页 > article >正文

Unity 2D角色的跳跃与二段跳示例

如图,实现这样的效果 其实非常简单,就两个必要条件

 

触发:一定是按下触发

跳跃次数:一定大于0

声明跳跃次数

public int jumpCount;//多段跳次数

还有一个可以优化的点,就是如果你想角色的多段跳可以有第一次跳的那么高,不受物理下落速度的抵消影响,就在每次进入的时候重置一下垂直速度 

跳跃逻辑

     if(Input.GetKeyDown(KeyCode.Z)&& playerData.jumpCount>0)
         {
         playerRb.velocity = new Vector2(playerRb.velocity.x, 0);//重置二段跳的垂直速度
         playerRb.AddForce(new Vector2(0, playerData.jumpForce),ForceMode2D.Impulse);
         playerAnimator.SetTrigger("Jump");
         playerData.jumpCount--;
     }

重置跳跃次数

   if ( collision.gameObject.layer == LayerMask.NameToLayer("Terrain")//落回到地面
              && !playerData.isOnGround
              && contacts.Length > 0
              && contacts[0].normal == Vector2.up) // 如果是从上方到达地面
     {
       playerData.isOnGround = true;
       playerData.jumpCount = 2;
       JumpCancle();
   }

 


http://www.kler.cn/a/354711.html

相关文章:

  • Nature Electronics——近传感器计算:50 nm异构集成技术的革命
  • 中国科技统计年鉴EXCEL版(2021-2023年)-社科数据
  • Eclipse配置Tomcat服务器(最全图文详解)
  • 25年01月HarmonyOS应用基础认证最新题库
  • 年会抽奖Html
  • 【形式篇】年终总结怎么写:PPT如何将内容更好地表现出来
  • Springboot 整合 Java DL4J 实现物流仓库货物分类
  • 论文翻译 | LARGE LANGUAGE MODELS ARE HUMAN-LEVELPROMPT ENGINEERS
  • 计算机网络自顶向下(4)---应用层HTTP协议
  • Nginx在Windows Server下的启动脚本
  • 20201017-【C、C++】跳动的爱心
  • Git推送被拒
  • exists在sql中的妙用
  • Linux笔记---vim的使用
  • OpenHarmony 入门——ArkUI 自定义组件内同步的装饰器@State小结(二)
  • vue使用gdal-async获取tif文件的缩略图
  • 【系统架构设计师】案例分析考点情况分析和解题技巧(包括2009~2024年考点详情)
  • 详解UDP-TCP网络编程
  • 【C#生态园】提升数据处理效率:C#中多款数据清洗库全面解析
  • 【wpf】07 后端验证及令牌码获取步骤
  • [旧日谈]关于Qt的刷新事件频率,以及我们在Qt的框架上做实时的绘制操作时我们该关心什么。
  • 关于FFmpeg【使用方法、常见问题、解决方案等】
  • jmeter 对 dubbo 接口测试是怎么实现的?有哪几个步骤
  • 我谈结构自相似性SSIM——实质度量的是什么?
  • JavaScript 小技巧和诀窍:助你写出更简洁高效的代码
  • Scale Decoupled Distillation 论文中SPP发生了什么