我正在做一个射击游戏,想在屏幕上显示击杀次数,我有一个带有画布和文本的UI,但是我无法在屏幕上显示正确的数字。
这就是我现在拥有的:
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行相同
因此,总而言之:我希望屏幕上的比分显示我打过敌人多少次,但这不会发生。预先感谢
答案 0 :(得分:0)
仅在值被更新/更改时更新它。
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();
}
}
}