unity2D的人物角色按跳跃键有时候会跳的特别高
代码:
public float jumpforce=0;
//跳跃
if (Input.GetButtonDown("Vertical") && coll.IsTouchingLayers(ground))
{
// Input.Getkey(KeyCode.UPArrow)
//给Y轴一个跳跃的力
ri.velocity = new Vector2(ri.velocity.x, jumpforce * Time.deltaTime);
//跳跃动画
ani.SetBool("jumping", true);
}
//向上跳的力我给的是300,正常来说是这么高:
正常之外是这么高:
有时候直接跳出屏幕了,没关于这个的警告和报错,有没有什么可行的解决办法呀
看起来是执行了两次啊,建议添加个Log看一下,是不是调的很高的时候,这个函数执行了两次。
若是执行了两次的话,那么添加一个状态,当角色在地上的时候可执行,在空中的时候不可以执行就可以了。