unity3d - 如何在 Unity2D 中添加分数?
问题描述
首先大家好!我只是想从基础中学习统一。我正在尝试编写代码,简短地解释一下,黄金和炸弹从上方落下,我们正试图抓住。
但是在我的代码中,炸弹完全可以正常工作,但硬币不能正常工作。当硬币碰到我的角色时,什么也没有发生。硬币必须自毁,它们必须在我的分数上加 10。
解决方案
更新&测试
对于 2D 游戏,将 BoxCollider2D 和 Rigidbody2D 添加到角色的 GameObject 上。在检查器中将硬币对象的 BoxCollider 的 isTrigger bool 设置为 true。
将此添加到您的播放器/角色脚本中。
int score = 0;
public UnityEngine.UI.Text scoreText; //in Unity, drag a text component here.
private void OnTriggerEnter2D(Collider2D collision)
{
if (collision.gameObject.tag == "Coin")
{
score += 10;
scoreText.text = score.toString();
collision.gameObject.SetActive(false);
}
}
对于 3D 游戏,将标准 BoxCollider 和刚体添加到角色的 GameObject 上。在检查器中将硬币对象的 BoxCollider 的 isTrigger bool 设置为 true。
将此添加到您的播放器/角色脚本中:
int score = 0;
public UnityEngine.UI.Text scoreText; //in Unity, drag a text component here.
private void OnTriggerEnter2D(Collider collision)
{
if(collision.gameObject.tag=="Coin")
{
score += 10;
scoreText.text = score.toString();
collision.gameObject.SetActive(false);
}
}