[英]How to make score appear on GUI?
我正在制作游戲,但無法使比分出現在游戲中。
到目前為止,這就是我所擁有的:
public class keepingScore : MonoBehaviour {
public static double homeScore;
// Use this for initialization
void Start ()
{
double homeScore = 5.0;
print(homeScore);
}
}
所以我的代碼是將5打印到控制台,當我嘗試了其他方法時,它說將無法工作,因為homeScore不是字符串。
有幫助嗎?
謝謝!
因此,如果要在GUI中獲得評分,首先需要在場景中包含一個Text
組件。
一旦將Text
組件放置在場景中,就需要創建一個腳本來處理得分並將其添加到創建的Text
組件中。 這是一個分數管理器腳本的示例:
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class keepingScore : MonoBehaviour {
public static double homeScore;
Text text;
void Awake () {
text = GetComponent<Text>();
homeScore = 0.0;
}
// Update is called once per frame
void Update () {
text.text = "Score: " + homeScore;
}
}
現在,您可以將此腳本附加到之前創建的Text
組件上。 該腳本的作用是,首先也檢索附加的Text
組件,並初始化一個public static double homeScore
,您只需執行keepingScore.homeScore
從任何腳本訪問和修改keepingScore.homeScore
。 最后, Update
函數將在每一幀運行以更新您擁有的Text
組件。
現在,您的場景中已有一個Text
組件,並附加了此腳本,您可以開始修改樂譜的值了。 無論您想去哪里。 舉個例子,假設您的玩家拿起一個硬幣要給他1分,所以如果玩家與該硬幣發生沖突,您可以向homeScore
加1
void OnCollisionEnter(Collision collision) {
if (collision.CompareTag("Coin"))
keepingScore.homeScore++;
}
例如,當玩家與硬幣碰撞時,這將為得分加1。
您可以在keepingScore.homeScore += pointAmount
播放器添加點的任何位置執行keepingScore.homeScore += pointAmount
,它將自動更新GUI Text
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.