2017-01-12 5 views
0

У меня довольно необычная проблема с этим кодом в единстве, я продолжаю получать ошибку «Выражения в операторах должны выполняться только для их побочных эффектов», я пошел вокруг сети поиска, но все ответы были разными, строка, которая дает ошибку, - это (47,44), которая является AnimObj.GetComponent.<Animation>().Play заранее за помощь -_-;Выражения в операторах должны выполняться только для их побочных эффектов

var CrossObject : GameObject; 
var MechanicsObject : GameObject; 
var ClipCount : int; 
var ReserveCount : int; 
var ReloadAvailable : int; 
var AnimObj : GameObject; 
var ScriptObj : GameObject; 


function Update() { 
    ClipCount = GlobalAmmo.LoadedAmmo; 
    ReserveCount = GlobalAmmo.CurrentAmmo; 

    if (ReserveCount == 0) { 
     ReloadAvailable = 0; 
    } else { 
     ReloadAvailable = 10 - ClipCount; 
    } 

    if (Input.GetButtonDown("Reload")) { 
     if (ReloadAvailable >=1) { 
      if (ReserveCount <= ReloadAvailable) { 
       GlobalAmmo.LoadedAmmo += ReserveCount; 
       GlobalAmmo.CurrentAmmo -= ReserveCount; 
       ActionReload(); 
      } else { 
       GlobalAmmo.LoadedAmmo += ReloadAvailable; 
       GlobalAmmo.CurrentAmmo -= ReloadAvailable; 
       ActionReload(); 
      } 
     } 
     EnableScripts(); 
    } 
} 

function EnableScripts() { 
    yield WaitForSeconds(1); 
    ScriptObj.GetComponent("Fire").enabled=true; 
    CrossObject.SetActive(true); 
    MechanicsObject.SetActive(true); 
} 

function ActionReload() { 
    ScriptObj.GetComponent("Fire").enabled=false; 
    CrossObject.SetActive(false); 
    MechanicsObject.SetActive(false); 
    AnimObj.GetComponent.<Animation>().Play; 
} 

ответ

1

В Unity Animation.Play() функция не является переменной. Вы получаете доступ к этому как переменную, не включая () в конце воспроизведения.

Оно должно быть:

AnimObj.GetComponent.<Animation>().Play(); 
+0

Спасибо, что действительно помогли – Yoshirou

Смежные вопросы