我是Unity的新手,所以这看起来像是一个非常基本的问题,但我已经有一段时间了,谷歌和Unity Docs并没有多大帮助:
我想更改此处显示的Health sprite:
当屏幕底部的LoseCollider被触发时。精灵将变为2个生命值和1个健康精灵:
在代码中我想:
if (health == 3) {
// Switch to 3 hearts sprite.
}
else if (health == 2) {
// Switch to 2 hearts sprite.
}
else if (health == 1) {
// Switch to 1 heart sprite.
}
根据我目前的代码:
如何更改我的精灵?
答案 0 :(得分:0)
HealthManager hManager;
void OnTriggerEnter2D (Collider2D trigger)
{
if (hManager.totalHealth >= 3)
{
hManager.LoadHealthSprites();
hManager.totalHealth--;
}
else
{
levelManager = GameObject.FindObjectOfType<LevelManager>();
levelManager.LoadLevel("Lose");
}
}
void Start()
{
hManager = hpManager.GetComponent<HealthManager>();
}
答案 1 :(得分:0)
if(HealthManager.totalHealth>=3)
{
}
我认为存在逻辑错误。如果totalHealth小于3,它将永远不会调用LoadHealthSprite函数。将此部分更改为:
if(HealthManager.totalHealth>0)
{
}