Суть такова, что не могу разобраться в поворотах. Движение объекта назначил на w и запихнул в FixedUpdate(), который висит на самом обьекте. Теперь надо реализовать поворот по кнопкам. То есть поворачивать обьект по кругу при нажатии на D (или на S, если вертеть в противоположную сторону). С этим если разобраться не так сложно. То есть вопрос посложнее, как можно реализовать энерцию обьекта, не применяя к нему Rigidbody2D, (и не используя, соответственно, addForce()). Также хотелось бы попробовать реализовать логику без родительского класса MonoBehavior, надо ли вообще так делать и в чём плюсы? Пол инета перерыл, но ответа на эти вот вопросы так и не нашёл, к сожалению.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Unity;
using UnityEngine.InputSystem;
public class Control : MonoBehaviour
{
private Actions inputs;
private Vector2 vector, rotate;
public void Awake()
{
inputs = new Actions();
}
public void Start()
{
inputs.Enable();
}
public void OnDisable()
{
inputs.Disable();
}
public void FixedUpdate()
{
this.gameObject.transform.position += new Vector3(vector.x * 0.1f, vector.y * 0.1f, 0);
this.gameObject.transform.Rotate(new Vector3(0,0,rotate.x*rotate.y));
}
public void OnMove(InputAction.CallbackContext context)
{
vector = context.ReadValue<Vector2>();
}
public void OnRotate(InputAction.CallbackContext context)
{
rotate = context.ReadValue<Vector2>();
}
}
Вот кусок кода, в котором реализовано движение вперёд, что там ещё есть за муть, я уже не знаю. Пытался допилить в 4 утра, но уже не мог)