Unity教程2D入门:28 二段跳 & 单向平台
2021/9/7 23:08:52
本文主要是介绍Unity教程2D入门:28 二段跳 & 单向平台,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
https://www.bilibili.com/video/BV1pJ411T7vR?p=2
Part1:制作二段跳
先定义一个变量GroundCheck
public Transform CeilingCheck,GroundCheck;//接在上次头顶碰撞后,简洁美观~
给player新建一个空物体子物体如下
新建一个isGround的布尔值,判断是否站在地面上
public bool isGround;//布尔值默认初始为False
监测是否在地面
void FixedUpdate() { isGround = Physics2D.OverlapCircle(GroundCheck.position, 0.2f, Ground); //监测地面监测点GroundCheck圆心范围0.2f内是否碰撞Ground这个LayerMask }
定义一个新变量extraJump
private int extraJump;
把之前的jump注释掉,重新写一个newjump
void newJump() { if (isGround) { extraJump = 1; } if(Input.GetKeyDown(KeyCode.U) && extraJump > 0) { rb.velocity = Vector2.up * jumpforce;//这里相当于 =new Vector2(0,1)*jumpforce extraJump--; anim.SetBool("jumping", true); } }
最后在Inspector窗口下吧playercontroller的jumpforce改为12,因为没有乘以deltatime
Part2:单向平台
新建一个Tilemap,命名为OneWayPlatform
在Tile Palette绘制改单向平台
接着改这两个值
添加组件Tilemap collider 2D和platform Effector 2D
并且在Tilemap 把Used By Effector勾上(使用碰撞特效)
勾上后就不是一个单纯的碰撞体,而是单向的碰撞体
接着如下设置,去掉use collider mask,use one way勾上
想要在平台上按下跳下平台勾选Use Collider Mask,但是我无法实现 //黑人问号脸
这篇关于Unity教程2D入门:28 二段跳 & 单向平台的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-27数据结构与算法面试题详解及练习
- 2024-12-27网络请求面试题详解与实战
- 2024-12-27数据结构和算法面试真题详解与实战教程
- 2024-12-27网络请求面试真题解析与实战教程
- 2024-12-27数据结构和算法大厂面试真题详解与实战指南
- 2024-12-27TS大厂面试真题解析与应对策略
- 2024-12-27TS大厂面试真题详解与解析
- 2024-12-27网站安全入门:如何识别和修复漏洞
- 2024-12-27SQL注入基础教程
- 2024-12-27初学者指南:理解和修复跨域漏洞