首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用GUIText显示健康状况?

如何使用GUIText显示健康状况?
EN

Stack Overflow用户
提问于 2014-11-10 10:21:02
回答 2查看 2.3K关注 0票数 0

我想显示我的健康作为GUIText,并减少当球员击中。如何根据我的健康脚本编写代码?

这是我的健康剧本

代码语言:javascript
复制
using UnityEngine;
 using System.Collections;

 public class HealthScript : MonoBehaviour {

     public static HealthScript instance;
     public int hp = 1;
     private GUIText scoreReference;
     private GUIText highscoreReference;
     private static int _highscore = -1;
     public int highscore { 
         get { if (_highscore == -1) 
             _highscore = PlayerPrefs.GetInt("Highscore", 0);
             return _highscore; 
         }
         set {
             if (value > _highscore) {
                 _highscore = value;
                 highscoreReference.text = _highscore.ToString();
                 PlayerPrefs.SetInt("Highscore", _highscore);
             }
         }
     }

     public bool isEnemy = true;


     private static int points;
     public void Damage(int damageCount) {
         hp -= damageCount;

         if (hp <= 0)
         {
             // Dead!
             Destroy(gameObject);
             points++;
             scoreReference.text = points.ToString();
         }
     }

     public void gameEnd() {

         highscore = points;
         points = 0;
     }


     void Start()
     {
         scoreReference = GameObject.Find("Score").guiText;
         highscoreReference = GameObject.Find("HighScore").guiText;
         scoreReference.text = points.ToString(); 
         highscoreReference.text = highscore.ToString ();
         instance = this;
     }

更新:我不想显示敌人的健康,这个脚本被附加到每一个敌人

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-11-10 10:35:30

我建议您始终使用OnGui方法来显示游戏的界面。

代码语言:javascript
复制
void OnGUI(){
    GUI.color = Color.red;
    GUI.Label(new Rect (20,20,200,20), "Health = " + hp);
}

理解此代码所需的所有文档如下:

GUI.Label http://docs.unity3d.com/ScriptReference/GUI.Label.html OnGui方法:http://docs.unity3d.com/ScriptReference/MonoBehaviour.OnGUI.html

希望这对你有帮助,如果你有任何麻烦的代码!

票数 2
EN

Stack Overflow用户

发布于 2014-11-10 10:26:36

通过执行以下操作,您可以使用C#轻松地使用变量在GUI上显示:

代码语言:javascript
复制
var myNiceVariable = "Showing the health values!";
var guiText = GameObject.Find("GUI Text").GetComponent(GUIText);
guiText.text = myNiceVariable;

或者您可以使用OnGui方法,可以将以下内容添加到脚本中:

代码语言:javascript
复制
void OnGui(){
     GUI.Label(new Rect (5,5,10,100), "Health: " + hp);
}

摘自这里这里的代码。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26841465

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档