Я только начал изучать Unity и застрял на этой ошибке.
Код работает. Я пометил FPS контроллер для игрока.
Я делал то же самое, что и парень из учебника. кто-нибудь знает, как решить эту проблему?
#pragma strict
var ourDoor : Transform;
private var drawGUI = false;
private var doorClosed = true;
function Update ()
{
if(drawGUI == true && Input.GetKeyDown(KeyCode.E))
{
changeDoorState();
}
}
function OnTriggerEnter(theCollider : Collider)
{
if(theCollider.tag == "Player")
{
drawGUI = true;
}
}
function OnTriggerExit(theCollider : Collider)
{
if(theCollider.tag == "Player")
{
drawGUI = false;
}
}
function OnGUI()
{
if(drawGUI == true)
{
GUI.Box(Rect (Screen.width*0.5-51, 200, 102, 22,) "Press E To Open");
}
}
function changeDoorState()
{
if(doorClosed == true)
{
ourDoor.GetComponent.<Animation>().CrossFade("doorOpen");
ourDoor.GetComponent.<AudioSource>().Play();
doorClosed = false;
yield WaitForSeconds(5);
ourDoor.GetComponent.<Animation>().CrossFade("doorClose");
ourDoor.GetComponent.<AudioSource>().Play();
doorClosed = true;
}
}
Посмотрите в инспекторе Игрового Игрового Объекта.
Под объектом сценария вы можете назначать значения переменным в инспекторе.
Посмотрите на скриншот.
Если значения похожи на эти, вам, возможно, придется установить их на какое-то значение, чтобы заставить вещи двигаться 🙂
Других решений пока нет …