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/

Errata が何を試してみるべきか提案があるかどうか疑問に思っていたので、更新が見られませんでしたか?

4

2 に答える 2

3

この関数は列挙子を返すため、コルーチンとして使用する必要があります。

単純に呼び出すと、yield ステートメントまでのすべてが実行され、関数は次の呼び出しまで中断されます。

于 2013-06-30T08:28:03.090 に答える
0

私は実際に Destroy がオブジェクトを破棄する時間について別の引数を取るという事実を使用することになったので、yield を削除してこれを行いました:

Destroy(plDeath, 0.5);

そしてそれはうまくいきました、そもそもなぜこれができないのかわからないのですか?

于 2013-07-01T14:00:28.990 に答える