首页 > 解决方案 > 如何在 Unity2D 中添加分数?

问题描述

首先大家好!我只是想从基础中学习统一。我正在尝试编写代码,简短地解释一下,黄金和炸弹从上方落下,我们正试图抓住。

但是在我的代码中,炸弹完全可以正常工作,但硬币不能正常工作。当硬币碰到我的角色时,什么也没有发生。硬币必须自毁,它们必须在我的分数上加 10。

标签: unity3d

解决方案


更新&测试

对于 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);
    }
}

推荐阅读