我目前正在Unity3D中制作手机游戏。我想要这样,以便当带有标签“ Damage”的球碰撞时,它将改变屏幕顶部的损坏指示器的材质。有没有简单的方法可以做到这一点?
谢谢。
我目前正在Unity3D中制作手机游戏。我想要这样,以便当带有标签“ Damage”的球碰撞时,它将改变屏幕顶部的损坏指示器的材质。有没有简单的方法可以做到这一点?
谢谢。
您通常会在“ GameManager”中放置诸如“损坏指示器”之类的内容,而GameManager通常是单身。这意味着您在发生碰撞时,可以检查collider标签,如果它是“ Damage”,那么您可以在GameManager中调用一个函数来更改“ Damage Indicator”的材料。像这样:
public class ExampleClass : MonoBehaviour
{
....
void OnCollisionEnter(Collision collision)
{
if (collision.gameObject.tag == "Damage")
GameManager.instance.DamageDone();
}
}
GameManager:
public class GameManager : MonoBehaviour
{
public static GameManager instance;
public Material damageMat;
public Renderer damageIndicatorRenderer;
....
void DamageDone()
{
damageIndicatorRenderer.material = damageMat;
}
}