Я очень новичок в C#, так что простите меня, если это очевидно.Unity Error: UnityEngine.Component 'не содержит определения для `velocity'
Я выполняю шаги в this tutorial и столкнулся с проблемой на шаге 6. Ошибка дает это: ошибка дает это:
UnityEngine.Component' does not contain a definition for `velocity' and no extension method `velocity' of type `UnityEngine.Component' could be found. Are you missing an assembly reference?'
Вот код:
using UnityEngine;
using System.Collections;
public class RobotController : MonoBehaviour {
//This will be our maximum speed as we will always be multiplying by 1
public float maxSpeed = 2f;
//a boolean value to represent whether we are facing left or not
bool facingLeft = true;
//a value to represent our Animator
Animator anim;
// Use this for initialization
void Start() {
//set anim to our animator
anim = GetComponent<Animator>();
}
// Update is called once per frame
void FixedUpdate() {
float move = Input.GetAxis ("Horizontal");//Gives us of one if we are moving via the arrow keys
//move our Players rigidbody
rigidbody2D.velocity = new Vector3 (move * maxSpeed, rigidbody2D.velocity.y);
//set our speed
anim.SetFloat ("Speed",Mathf.Abs (move));
//if we are moving left but not facing left flip, and vice versa
if (move < 0 && !facingLeft) {
Flip();
} else if (move > 0 && facingLeft) {
Flip();
}
}
//flip if needed
void Flip(){
facingLeft = !facingLeft;
Vector3 theScale = transform.localScale;
theScale.x *= -1;
transform.localScale = theScale;
}
}
ошибка в строке 23:
rigidbody2D.velocity = new Vector3 (move * maxSpeed, rigidbody2D.velocity.y);
Помимо выходя из 'используя UnityEngine, и' используя System.Collections, ', что работает отлично , – TrumpetDude
Я оставил их специально, так как у вас уже есть их в вашем вопросе. Все, что вам нужно сделать, это заменить все в своем классе новым классом. – Programmer