2015-06-13 47 views
0

我想使用方法更改我的值。價值觀在方法上有所變化,但不在外面,它們保持不變。我試圖通過方法第一次改變這些價值,所以我不知道它可以改變或不改變。任何參考或幫助:) CODE:值不會通過它們保持相同的方法更改

方法: -

void WeaponUpdateMethod (int objUpdateValue, float time, string updateMoney, string saveData, float sliderValue) 
{ 
    buttonClick.Play(); 
    int t = objUpdateValue; 
    if (t < 1 && totalMoney > 5000) { 
     t = 1; 
     totalMoney -= 5000; 
     time = 12f; 
    } else if (t != 2 && t < 2 && totalMoney > 10000) { 
     t = 2; 
     totalMoney -= 10000; 
     time = 15f; 
    } else if (t != 3 && t < 3 && totalMoney > 14000) { 
     t = 3; 
     totalMoney -= 14000; 
     time = 17f; 
    } else if (t != 4 && t < 4 && totalMoney > 25000) { 
     t = 4; 
     totalMoney -= 25000; 
     time = 20f; 
    } 
    if (t == 0) { 
     updateMoney = "" + 5000; 
    } else if (t == 1) { 
     updateMoney = "" + 10000; 
    } else if (t == 2) { 
     updateMoney = "" + 14000; 
    } else if (t == 3) { 
     updateMoney = "" + 25000; 
    } else if (t == 4) { 
     updateMoney = "full"; 
    } 
    PlayerPrefs.SetInt (saveData, t); 
    PlayerPrefs.SetInt ("totalMoney", totalMoney); 
    PlayerPrefs.Save(); 
    sliderValue = t; 
    objUpdateValue = t; 
    print (objUpdateValue);  
    print(objUpdateValue+" from method"); 
} 

使用這裏: -

public void UpgradeSpeedUp() 
{ 
    // to upgrade speedUp 
    WeaponUpdateMethod (speedUpUpdateValue, ManageSingleShotPowers.speedUpTime, speedUpUpdateMoney.text, "spedUpUpdate", speedUpSlider.value); 

    print(speedUpUpdateValue +" from calling"); 
} 
+1

聽起來像一個老年人的愚弄是(x語言)傳遞值或傳遞參考? –

回答

0

在C#中,參數是按值默認傳遞英寸您必須指定要通過引用傳入的參數。您可以通過在參數前面使用關鍵字ref來實現這一點,例如ref int objUpdateValue。

+0

但它顯示錯誤「一些無效的變量」 – Anil

相關問題