1

我有一些我正在阅读的书中的代码,但它是为 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/

在勘误表中没有看到任何更新,想知道是否有人对尝试有什么建议?

4

2 回答 2

3

这个函数返回一个枚举器,所以它应该被用作协程

如果你只是简单地调用它,直到 yield 语句之前的一切都会被执行,然后函数将被挂起直到下一次调用。

于 2013-06-30T08:28:03.090 回答
0

实际上,我最终使用了 Destroy 需要另一个参数来销毁对象的事实,所以我删除了 yield 并这样做了:

Destroy(plDeath, 0.5);

它奏效了,去弄清楚为什么不首先这样做?

于 2013-07-01T14:00:28.990 回答