#i need help with this movement script i
1 messages · Page 1 of 1 (latest)
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