このメソッド(Unity C#スクリプト内)を取得しましたが、「yield」部分が実際にどのように機能するのかわかりません。
MSDNから、関数がIEnumeratorを返すことはわかっていますが、このコードは1.5秒待機し、反復されません。これは、内部で作成されたオブジェクトが複数回作成されたことを意味するためです。このコードがどのように機能するかを私に説明できる人はいますか?
IEnumerator DestroyShip()
{
// create new gameobject
Instantiate(ExplosionPrefab, transform.position, transform.rotation);
// make current gameobject invisible
gameObject.renderer.enabled = false;
// set new position for the current gameobject
transform.position = new Vector3(0f, transform.position.y, transform.position.z);
// wait for 1,5 seconds
yield return new WaitForSeconds(1.5f);
// make the current gameobject visible again
gameObject.renderer.enabled = true;
}