学习资源:B站 M_Studio《Unity教程2D入门》20-21
Unity Assets:Sunnyland
Day15
更正:Time.fixedDeltaTime
让角色移动和跳跃时更加流畅,如果是用FixedUpdate函数,应该相对应选择
Time.fixedDeltaTime。
1. 增加Crouch(下蹲)效果
为节省时间,这里就不添加这个实际效果。但理解一下其中的思路和方法。
在Input中没有Crouch,如何添加?
右键,复制某一项,然后修改其中的参数即可。
下蹲时碰撞体不变,怎么办?
观察游戏运行时的碰撞体,发现即使角色下蹲,碰撞体仍然保持原来的样子。也就是说角色下蹲后还是无法通过低处。
这里就是先前要用两个碰撞体的原因。
当角色下蹲后,应该让头部的box collider消失,起立后再让碰撞体出现。
注意
节点用setactive,组件用enabled。
disColl.enabled = false;
小技巧:如何在游戏运行时看见碰撞体?
点击右上角的Gizmos。
就可以看见属性面板中展开的部分,在Scene中的效果。
如图,这里展开两个碰撞体的组件。
问题:下蹲钻到一半时站起,会被卡住。
思路:如果监测到上部有ground,就不能起立。
方法:选中靠近角色头顶的一个点作为基准点,画一个圈,判断ground是否在这个圈内。
Physics2D.OverlapCircle(Vector2 point,float radius,int layerMask):
Checks if a collider falls within a circular area
point:基准点
radius:判断范围
layerMask:要判断的图层
在这里插入代码片
小技巧:判断角色头顶的位置
给角色添加一个子节点celling,将它移至角色的头顶。
代码如下:
void