[英]String different values when using same script on different objects
我在這里有點困惑,需要幫助。 我制作了一個腳本,該腳本使用其他腳本來計算燃料和硝基消耗量。 一切都在檢查器中起作用。 但是,當在游戲的用戶界面中對Text中的值進行字符串化時,它只能對1輛車進行字符串化。 我知道問題在於,由於我在多個對象上使用了相同的腳本,因此它無法通過這種方式工作。 我只是困惑我該怎么辦。
現在,我在Update中輸入以下內容:
fuelAmountText.text = string.Format ("{0}", FuelTankCapacity.ToString("F2"));
nitroAmounText.text = string.Format ("{0}", nitroAmount.ToString("F1"));
如何使它僅針對特定車輛使用字符串,而不會彼此反作用? 這是完整的腳本,以防萬一我使任何人困惑:
public class CarFuel : MonoBehaviour {
// car nitro and fuel indicators
public Text fuelAmountText;
public float nitroAmount;
public Text nitroAmounText;
// ref to car controller
private RCC_CarControllerV3 carController;
// dashboard canvas gameobject
public GameObject customDash;
public GameObject player;
// engine type ------- wip
//public EngineType engineTypeChoice = EngineType.v6;
//public enum EngineType{i4, v6, v8, v12}
// fuel tank capacity
public float FuelTankCapacity;
// cylinder amount of a vehicle
public float cylAmt;
void Awake(){
carController = GetComponent<RCC_CarControllerV3>();
}
// Update is called once per frame
void Update () {
fuelAmountText.text = string.Format ("{0}", FuelTankCapacity.ToString("F2"));
nitroAmounText.text = string.Format ("{0}", nitroAmount.ToString("F1"));
nitroAmount = carController.NoS;
// calculate fuel consumption
if (carController.engineRunning == true) {
FuelTankCapacity -= carController.rawEngineRPM * 0.00000001f + cylAmt * 0.0000015f;
}
// enable dash if car is being used
if (carController.canControl == true) {
customDash.SetActive (true);
} else {
customDash.SetActive (false);
}
}
}
提前致謝!
在更多地使用它並對其進行調試之后,我找出了問題的原因...
它是
if (carController.canControl == true)
我要做的是檢查Player GameObject是否處於活動狀態,以顯示自定義破折號。 而且有效。 唷。 不敢相信我在此上浪費了很多時間。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.