【发布时间】:2020-07-02 11:09:56
【问题描述】:
这是第一个仅用于“收集”宝石的脚本。
using UnityEngine;
public class GemDestructionScript : MonoBehaviour
{
public int gemsCollected = 0;
void Awake()
{
}
void Update()
{
}
void OnCollisionEnter2D(Collision2D col)
{
if (col.gameObject.tag.Equals("Player1"))
{
gemsCollected++;
GetComponent<SpriteRenderer>().enabled = false;
GetComponent<CircleCollider2D>().enabled = false;
}
}
}
这是第二个脚本,用于将gemsCollected 显示在画布上。
using UnityEngine;
using UnityEngine.UI;
using System;
public class GemCounter : GemDestructionScript
{
private Canvas canvas;
void Start()
{
}
void Update()
{
Transform child = transform.Find("Text");
Text t = child.GetComponent<Text>();
t.text = Convert.ToString(gemsCollected);
}
}
问题是gemsCollected 变量不会在画布上更新,它一直保持在 0。
提前致谢。
【问题讨论】: