1

yield return から値を表示する方法は?

この私のコード:

public void getTypeRoomb1(string buildingNUM){
   StartCoroutine(getjsonroomtype1(buildingNUM));
}
public IEnumerator getjsonroomtype1(string buildingNUM){
        WWW request = new WWW(mainurl+"json_typeroom.php?building="+buildingNUM+"");   
        yield return request;    
        if (request.error == null || request.error == "")   
        {   
            var N = JSON.Parse(request.text);    
            if(N["type"].Count < 1){    
                notFoundText = "Not found";     
            }else{    
                yield return N; // Value return this line.    
            }    
        }else    
        {    
            Debug.Log("WWW error: " + request.error);    
        }    
    }

値を返す行を見つけました。値を表示するにはどうすればよいですか?

私に提案してください!

4

2 に答える 2

1

生成された値を専用のメソッドを介して渡すことができます。

static IEnumerable LogValues(IEnumerable enumerable)
{
    foreach (var value in enumerable)
    {
        Debug.Log(value.ToString());
        yield return value;
    }
}

// ..
// Keep getjsonroomtype1 untouched
// ..

public void getTypeRoomb1(string buildingNUM)
{
    StartCoroutine(LogValues(getjsonroomtype1(buildingNUM)));
}
于 2013-09-25T10:59:03.267 に答える
1

他のオブジェクトへの参照を取得して値を提供するなど、「戻り値」を別の場所に保存する必要があります。

Unity のコルーチンは何も返すことができません。

于 2013-09-25T10:57:12.623 に答える