как отобразить счет на экране? - PullRequest
0 голосов
/ 03 мая 2019

Я делаю шутер и хочу показать убийства на экране. У меня есть пользовательский интерфейс с холстом и текстом, но я не могу получить нужный номер для отображения на экране.

вот что у меня сейчас:

using System.Collections;
using UnityEngine;
using UnityEngine.UI;

public class Score : MonoBehaviour
{
    public Text Pointsdisplay;
    int points = 0;

    void Update()
    {
        Pointsdisplay.text = points.ToString();
    }

    void Start()
    {
        Pointsdisplay.text = points.ToString();
    } 

    void OnCollisionEnter(Collision col)
    {

        if (col.gameObject.name == "enemy(Clone)")
        {
            points = points + 1;
        }
    }

 }

Я назначил правильный Textobject в единстве, но, похоже, он не работает, я получаю сообщение об ошибке: NullReferenceException: Object reference not set to an instance of an object Score.Start () (at Assets/Scenes/scripts/Score.cs:12) и то же самое со строкой 17

Итак, подведем итоги: я бы хотел, чтобы на экране было показано, сколько раз я ударил врага, но этого не происходит.заранее спасибо

1 Ответ

0 голосов
/ 03 мая 2019

Обновляйте его только при обновлении / изменении значения.

using System.Collections;
using UnityEngine;
using UnityEngine.UI;

public class Score : MonoBehaviour
{
    public Text pointsdisplay;
    int points = 0;

    void Start()
    {
        pointsdisplay.text = points.ToString();
    } 

    void OnCollisionEnter(Collision col)
    {
        if (col.gameObject.name == "enemy(Clone)")
        {
            points = points + 1;
            pointsdisplay.text = points.ToString();
        }
    }
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...