如何在 unity3d 中更改碰撞时的立方体宽度

How to change cube width on collision in unity3d

我正在使用 Unity3D 和 C# 制作手机游戏。我正在尝试找到一种方法来创建一个脚本,当立方体遇到带有标签 'Take Damage' 的障碍物时,它会降低立方体的健康状况。有没有简单的方法让酒吧用脚本下去?

使用 onCollisionEnter 的东西会很好。

有这个great tutorial 为初学者创建健康栏。但是如果你不想使用UI系统:

class HealthBar
{
    int health = 100;
    int damage = 5;
    float toBarScale = 20f;

    void Start()
    {
        transform.scale = new Vector3(health / toBarScale, transform.scale.y, 0);
    }

    void OnCollisionEnter2D(Collider2D collision)
    {
        if (!collision.gameObject.CompareTag("Take Damage")) return;
        health = Mathf.Clamp(health - damage, 0, 100);
        transform.scale = new Vector3(health / toBarScale, transform.scale.y, 0);
    }
}