一、人物跳跃功能
1、动画
设置一个bool值
条件设置为true
2、逻辑
实现跳跃,一定有IsGround;判断是否为地面,进行跳跃功能
写一个跳跃和一个条约结束方法
跳跃设置为false,结束设置为true
3、代码
public void Jump()
{
if (CanMove)
{
if (ISGround && Input.GetKeyDown(KeyCode.Space))
{
Animator1.SetBool("IsGround", false);
Animator1.CrossFade("Jump", 0.1f);
ISGround = false;
Invoke("JumpEnd", 1.0f);
}
}
}
public void JumpEnd()
{
ISGround=true;
Animator1.SetBool("IsGround", true);
}
增加限制条件
4、注意
在闪避的退出效果中,如果不勾选推出时间,会导致动画无法回到walk状态
如果加了CanMove条件会出现某个动画结束后,无法进行移动
由于动画的位移较短,在代码中手动增加位移
使用速度乘以时间,Move方法增加位移大小
乘以-1,修改为后方,并赋值给v3变量