为什么在没有协程的情况下sprite不会改变?

时间:2016-03-04 11:45:29

标签: unity3d instantiation coroutine gameobject

我有一个游戏对象“位置”。在某些情况下,这个游戏对象(汽车)的孩子被摧毁。然后将下一个Car对象实例化为“position”的子对象。如果选择了位置,我希望更改汽车的精灵。

但是,如果我尝试类似的东西:

if(selected)
{
    position.transform.GetComponentInChildren<SpriteRenderer>().sprite = newSprite;
}

它不起作用。

所以我试着这样做:

if(selected)
{
     StartCoroutine(Temp());
}

IEnumerator Temp()
{          
     yield return new WaitForSeconds(0.000000000001f);
     position.transform.GetComponentInChildren<SpriteRenderer>().sprite = newSprite;          
}

现在确实如此。

但我意识到它做得很糟糕。有人可以帮忙吗?

0 个答案:

没有答案