|
1.使用velocity进行跳跃。 那个重力的公式只是让人物跳跃更舒服一些。类似于超级玛丽。 然后判断是grounded采用Physics2D.OverlapCircle。
问题产生:我可以一直按住跳跃键,人物落地后马上再次跳跃。当我同时使用位移摇杆的时候,人物如果从一个地方调到了一个高处或者从高处跳到了低处。人物的跳跃高度就会发生变化。有时候很低。有时候超高。
求 问题的成因 和解决办法
void FixedUpdate ()
{
var rb2d = GetComponent();
rb2d.velocity = new Vector2(joystick.Horizontal * speed*Time.fixedDeltaTime, rb2d.velocity.y);
grounded = Physics2D.OverlapCircle(circlePoint.position, 0.1f, groundLayer);
if (grounded&&!jump && joybutton.Pressed)
{
Debug.Log(Physics2D.gravity.y);
rb2d.velocity += Vector2.up *Physics2D.gravity.y*-1*highpower*Time.deltaTime;
jump = true;
}
if (jump && joybutton.Pressed)
{
jump = false;
}
} |
|