#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 {
без пробела.
Измените также имя файла (без пробела), поскольку оно должно соответствовать имени класса.