Почему я не могу вызвать это из конструктора и почему это вообще ошибка?C#

Место общения программистов C#
Ответить
Anonymous
 Почему я не могу вызвать это из конструктора и почему это вообще ошибка?

Сообщение Anonymous »

Я пытаюсь создать движок для платформера, но это все время мешает
Я получаю следующую ошибку:
UnityException: GetAxis is not allowed to be called from a MonoBehaviour constructor (or instance field initializer), call it in Awake or Start instead. Called from MonoBehaviour 'PlatformerEngine' on game object 'Player'.
See "Script Serialization" page in the Unity Manual for further details.
UnityEngine.Input.GetAxis (System.String axisName) (at :0)
PlatformerEngine..ctor () (at Assets/PlatformerEngine.cs:18)

Что это значит и как это исправить??? (Я имею в виду, что понимаю, но не могу исправить это, sfr)
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PlatformerEngine : MonoBehaviour
{
[Header("Cando's")]
public bool canDash = true;
[Header("Stats")]
public int walkSpeed = 15;
public int dashPower = 5;
[Header("Keybinds")]
public KeyCode dashKey = KeyCode.Q;

private string Direction = "n";
private Rigidbody2D Rigidbody;
private bool dashCharged = false;

// Start is called before the first frame update
void Start()
{
Rigidbody = gameObject.GetComponent();
}

public void UpdateCharacterMove() {
Rigidbody.velocity = new Vector2(Input.GetAxis("Horizontal") * walkSpeed, Rigidbody.velocity.y);
}

// Update is called once per frame
void Update()
{
if (Input.GetKeyDown(dashKey) && canDash) {
Rigidbody.velocity = new Vector2(Rigidbody.velocity.x, dashPower);
}
UpdateCharacterMove();
}
}


Подробнее здесь: https://stackoverflow.com/questions/791 ... n-an-error
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»