Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Персонаж бесконечно поворачивается поворачивается Unity 2D

Родион Антонов Ученик (151), на голосовании 7 месяцев назад
Написал код на движение игрока, поворот подсмотрел в видео. Когда персонаж стоит на месте поворачивается в разные стороны на бешенной скорости.

код:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class movement_player : MonoBehaviour
{
public float Speed;
public float DirectionX;
public float JumpForce;
private bool FacingRight = true;

private Rigidbody2D rb;
SpriteRenderer spr;
public Animator anim;

public bool isGrounded = false;
public float checkGroundoffsetY;
public float checkGroundRadious;



// Start is called before the first frame update
void Start()
{
rb = GetComponent<Rigidbody2D>();
spr = GetComponent<SpriteRenderer>();
}

// Update is called once per frame
void Update()
{
Mathf.Abs(DirectionX);

Flip();

DirectionX = Input.GetAxis("Horizontal");
transform.position += new Vector3(DirectionX, 0, 0) * Speed * Time.deltaTime;

if (Input.GetKeyDown( KeyCode.Space ) && Mathf.Abs(rb.velocity.y) < 0.05)
rb.AddForce(new Vector2(0, JumpForce), ForceMode2D.Impulse);

anim.SetFloat("HorizontalMove", Mathf.Abs(DirectionX));

if (DirectionX < 0 && FacingRight)
{
Flip();
}
else if (DirectionX > 0 && !FacingRight)
{
Flip();
}
}


private void FixedUpdate()
{
CheckGroud();
}



private void Flip()
{
FacingRight = !FacingRight;

transform.Rotate(0f, 180f, 0f);
}


private void CheckGroud()
{
Collider2D[] collider = Physics2D.OverlapCircleAll(new Vector2(transform.position.x, transform.position.y + checkGroundoffsetY), checkGroundRadious);
if (collider.Length > 1)
{
isGrounded = true;
}
else
{
isGrounded = false;
}
}
}
Голосование за лучший ответ
ivan866_z Просветленный (20228) 8 месяцев назад
в строке 34 идет вызов функции Flip(), а по задумке он должен идти только когда скорость по оси X меняет знак
Родион АнтоновУченик (151) 8 месяцев назад
от души брат
Похожие вопросы