Вот сценарий здоровья игрока ... Он устанавливает здоровье игроков изнутри Unity и выталкивает его в GUI.Триггер не работает должным образом с GetComponent. Что не так?
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class PlayerHealth : MonoBehaviour
{
public Text hpText; //HP Value Text Element.
public int PlayerHP; // Make it a property so you can alter its value in the editor
void Start()
{
SetHPText();
}
void Update()
{
SetHPText();
}
void SetHPText()
{
hpText.text = "Health: " + PlayerHP.ToString();
}
}
Затем этот захват захватывает текущее состояние игроков (и сохраняет его в курсе). Если здоровье игроков равно 0 (или ниже), он загружает новую сцену. Проблема заключается в проверке тега тега для игрока, и наносить урон не работают.
using UnityEngine;
using UnityEngine.SceneManagement;
using System.Collections;
public class DamageAuroa : MonoBehaviour {
public int PHP; //PHP = Player Health from PlayerHealth.cs script.
public int Damage; //Amount of damage.
public string Level;
void Update()
{
PHP = GameObject.Find("Player").GetComponent<PlayerHealth>().PlayerHP;
}
void OnTriggerEnter(Collider coll)
{
if (coll.gameObject.tag == "Player")
PHP = PHP - Damage;
if (coll.gameObject.tag == "Ball")
{
gameObject.SetActive(false);
SceneManager.LoadScene(Level);
}
if (PHP <= 0)
SceneManager.LoadScene(Level);
}
}
Самая странная часть ВСЕ ЭТОГО работала до того, как я обновил Unity (я знаю ошибку новичка). Кто-нибудь посмотрит, в чем дело? Прежде чем кто-нибудь спросит, есть триггеры, и теги настроены правильно. Также я понимаю, что мне нужно передать обновленное значение HP в сценарий работоспособности проигрывателя, чтобы он обновлялся в графическом интерфейсе. Просто пытаюсь заставить эти триггеры работать.
Я пробовал это, и он не меняет здоровье плеера вообще. Он просто остается прежним. Кроме того, я дважды проверял все мои теги и триггеры, они в порядке. – Zohan
@ user1768885 Вы установили Damage? Вы пытались установить HP в разные значения в этом скрипте? – Valentin
сделал. Еще ничего. Также я знаю, что мне нужно как можно скорее передать обновленное значение обратно в значение hp игрока, чтобы он обновлял графический интерфейс. – Zohan