https://www.bilibili.com/video/BV1FJ411K7FD?spm_id_from=333.999.0.0
先给input添加一个按键
Edit>ProjectSettings>Input
Positive Button和Alt Positive Button是该功能可使用的按键,
右键DuplicatArrayElement可以复制快速新建一个按键
给Player添加爬行Crouch动画,并且连线
给player添加一个Crouch的animation和Crouching的布尔条件
新建一个函数Crouch,记得在update里调用Crouch()。
void Crouch()
{
if (Input.GetButtonDown("Crouch"))//不是最佳的判定语句,下面的代码更佳!!!
{
anim.SetBool("Crouching", true);
discoll.enabled = false;
}
else
if (Input.GetButtonUp("Crouch"))
{
anim.SetBool("Crouching", false);
discoll.enabled = true;
}
}
这里学习物理检测physics2D
给player添加一个子空物体叫Ceiling,位置放在头部用于检测
代码: public Transform ceilingCheck,然后在unity把ceiling拖到脚本插槽上,改脚本
void Crouch()
{
if (Input.GetButton("Crouch"))
{
anim.SetBool("Crouching", true);
discoll.enabled = false;
}
else
if (!Physics2D.OverlapCircle(ceilingCheck.position,0.3f,Ground))
{
anim.SetBool("Crouching", false);
discoll.enabled = true;
}
}
Physics2D.OverlapCircle(ceilingCheck.position,0.3f,Ground)
物理检测的位置 检测的范围 检测碰撞物体的layermask
判断是带!是因为需要在检测不到碰撞体才出发ButtonUp事件