Ошибка синтаксического анализа в Unity Monodevelop

#performance

#Производительность

Вопрос:

я использую unity3d monodevelop, и он говорит, что у меня ошибка синтаксического анализа, я не знаю, где помощь!!

Вот код

 using UnityEngine;
  

использование системы.Коллекции;

[RequireComponent(typeof(PlayerPhysics))] Контроллер проигрывателя открытого класса: MonoBehaviour {

 // Player Handling
public float speed = 8;
public float acceleration = 30;

private float currentSpeed;
private float targetSpeed;
private Vector2 amountToMove;

private PlayerPhysics playerPhysics;


void Start () {
    playerPhysics = GetComponent<PlayerPhysics>();
}

void Update () {
    targetSpeed = Input.GetAxisRaw("Horizontal") * speed;
    currentSpeed = IncrementTowards(currentSpeed, targetSpeed,acceleration);

    if (playerPhysics.grounded) {
        amountToMove.y = 0;

    }
    playerPhysics.Move(amountToMove * Time.deltaTime);
}

// Increase n towards target by speed
private float IncrementTowards(float n, float target, float a) {
    if (n == target) {
        return n;   
    }
    else {
        float dir = Mathf.Sign(target - n); // must n be increased or decreased to get closer to target
        n  = a * Time.deltaTime * dir;
        return (dir == Mathf.Sign(target-n))? n: target; // if n has now passed target then return target, otherwise return n
    }
}
  

}

Ответ №1:

Я думаю, что имя вашего класса

 [RequireComponent(typeof(PlayerPhysics))] public class Player Controller : MonoBehaviour {
  

вызвала ошибку синтаксического анализа.

Попробуйте изменить ее на:

 [RequireComponent(typeof(PlayerPhysics))] public class PlayerController : MonoBehaviour {
  

без пробела.

Измените также имя файла (без пробела), поскольку оно должно соответствовать имени класса.