我有一些我正在编写的书中的代码,但它是为Unity3编写的,虽然我正在尝试的东西似乎不起作用,并且想把它放在这里以获得一些新的眼睛:
function destroyPlayer(dpos : Vector3)
{
var plDeath : GameObject = Instantiate(playerDeathObj, dpos, playerDeathObj.transform.rotation) as GameObject;
plDeath.animation["death"].speed = 3.5;
yield WaitForSeconds(0.5);
Destroy(plDeath);
}
所以,如果我拿出收益率,你看不到播放的动画,但它确实被清除了。虽然现在看动画播放然后坚持。 这是书中的代码
http://www.deeppixel.com/unity3d-indie-developers-blueprints-book-training/
没有看到任何更新,Errata想知道是否有人有什么建议要尝试?
答案 0 :(得分:3)
此函数返回一个枚举器,因此它应该用作coroutine。
如果您只是调用它,那么在执行yield语句之前的所有内容都将被执行,然后该函数将被暂停直到下一次调用。
答案 1 :(得分:0)
我实际上最终使用了Destroy采取另一个参数来销毁对象的事实,所以我删除了yield并做了这个:
Destroy(plDeath, 0.5);
并且它有效,请不确定为什么不首先出现这个?