#i need help with this movement script i

1 messages · Page 1 of 1 (latest)

tiny bolt
#

public class CharacterController2D : MonoBehaviour
{
    public float maxSpeed = 10.0f;
    public float acceleration = 10.0f;
    public Vector3 offset = new Vector3(0f, 0f, 90f);

    private Rigidbody2D rigidBody;
    private SpriteRenderer spriteRenderer;

    private void Start()
    {
        rigidBody = GetComponent<Rigidbody2D>();
        spriteRenderer = GetComponent<SpriteRenderer>();
    }

    private void Update()
    {
        float horizontalInput = Input.GetAxis("Horizontal");
        float verticalInput = Input.GetAxis("Vertical");

        Vector2 targetVelocity = new Vector2(horizontalInput * maxSpeed, verticalInput * maxSpeed);
        rigidBody.velocity = Vector2.Lerp(rigidBody.velocity, targetVelocity, acceleration * Time.deltaTime);

        Vector3 mousePosition = Input.mousePosition;
        mousePosition = Camera.main.ScreenToWorldPoint(mousePosition);
        Vector2 direction = new Vector2(mousePosition.x - transform.position.x, mousePosition.y - transform.position.y);

        float angle = Mathf.Atan2(direction.y, direction.x) * Mathf.Rad2Deg;
        spriteRenderer.transform.rotation = Quaternion.AngleAxis(angle - 90.0f, Vector3.forward);
    }
}
#

the movement is super jittery and the offset wont work