2017-02-12 53 views
0

我有兩個預製件。 1)FoodItem 2)消費者如何將可變信息從一個預製件轉移到另一個預製件?

public class ItemController{ 
    //Item Details 
    public float price; 
    public float eatingTime; 
} 

Ofter連接兩個物體觸發客戶需要「吃」了一段時間。一旦他們吃了,然後他們付錢。薪水需要更新分數。

public class CharacterControl : MonoBehaviour 
{ 
    //CustomerDetails 
    if(time == eatingTime){ 
    Score = Score + price; 
    UpdateScore(); 
    } 
} 

public class ScoreManager : MonoBehaviour { 
    public float Score; 
    public Text scoreText; 

    // Use this for initialization 
    void Start() { 
     scoreText.text = "0"; 
    } 

    public void UpdateScore() 
    { 
     scoreText.text = Score.ToString("2"); 
    } 
} 

我已經嘗試過連接腳本,但是一旦預製已經創建,它就會刪除腳本,所以分數不起作用。

我試着做一個靜態變量,但我遇到了問題。賠率是我搞砸了它是如何工作的。

回答

1

有幾件事情是你可以做的,但最好的辦法可能是做這樣的事情:

public class CharacterControl 
{ 

    void Update() 
    { 
     GameObject.FindGameObjectByTag("Tag-of-scoremanager-").GetComponent <ScoreManager>().Score += price; 


    } 
} 

另一種方式是例如包括分數經理爲檢查員的財產,就像這樣:

ScoreManager manager; 

,然後拖放比分經理預製成檢查, 然後增加它簡單地做:

manager.Score += price; 
+0

謝謝我會試試這個。 –

+0

讓我知道如果您有任何疑問:) –

+0

我得到它的工作!我把Score作爲一個靜態公衆流動分數,讓我使用你提到的。然後,我只將scoreTxext放入Update()中。再次感謝您的幫助! –

相關問題