Я хочу показать свое здоровье как GUIText и уменьшаться, когда игрок бьет. Как закодировать на основе моего сценария работоспособности?Как отобразить здоровье с помощью GUIText?
Вот мой healthscript
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;
}
UPDATE: Я НЕ ХОЧУ ЧТОБЫ ПОКАЗАТЬ ВРАГА ЗДОРОВЬЕ, ЭТО СЦЕНАРИЙ придавалось КАЖДЫЙ ВРАГ
только этот код? извините, я все еще пытаюсь понять –
Метод OnGui запускает каждый кадр, и он используется для представления интерфейса игры. С GUI.Label вы создаете «ящик» с размером Rect и текстом «Здоровье» + переменная hp. Просто вставьте код (я только что отредактировал код, имел ошибку) и запустил игру, вы увидите, как это работает;) –
хорошо, я добавил этот код, но он не отображался, что-то пропало? –