2017-01-12 5 views
0

私はこのコードではあまり珍しい問題を抱えていますが、私は "文を副次的に実行する必要があります"問題を探しているウェブの周りではすべての答えが異なっていました。エラーを出す行は、ヘルプの前にAnimObj.GetComponent.<Animation>().Playありがとう(47,44)です。文中の式は副作用のためだけに実行する必要があります

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()は変数ではありません。 Playの最後に()を含めないことで、変数としてアクセスしています。

それは次のようになります。本当に助け

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

感謝 – Yoshirou

関連する問題