Я прочитал огромное количество руководств, но не могу заставить их работать. Да, я новичок, так что это может быть очевидно. Я читал, что должен стремиться к тому, чтобы мой код был отдельным и простым. Поэтому я безуспешно пытаюсь написать свои функции в отдельных сценариях, а затем вызывать их в моем основном сценарии движения игрока. Но по какой-то причине, когда я нажимаю кнопку воспроизведения, ничего не происходит. Пожалуйста, помогите мне и простите, пожалуйста, мое невежество.
С уважением
Скрипт 1
public class Movement : MonoBehaviour
{
public float speed = 5f;
public Vector2 move;
public Run run;
public Walk walk;
void Update()
{
walk.Walki();
run.Sprint();
}
Скрипт 2
public class Walk : MonoBehaviour
{
Rigidbody2D rb;
float speed;
public Vector3 move;
private void Awake()
{
rb = GameObject.Find("Player").GetComponent<Rigidbody2D>();
speed = GameObject.Find("Player").GetComponent<Movement>().speed;
}
public void Walki()
{
float mLeft = 1f;
float mRight = -1f;
Vector3 move = new Vector3(mLeft, mRight, 0f);
if (Input.GetAxisRaw("Horizontal") > 0)
{
rb.transform.position += new Vector3(mLeft, 0f, 0f) * speed * Time.deltaTime;
}
if (Input.GetAxisRaw("Horizontal") < 0)
{
rb.transform.position += new Vector3(mRight, 0f, 0f) * speed * Time.deltaTime;
}
}