-1

私はWebサービスに値を投稿し、同じWebサービスから応答を取得しています。

Unity3dWWWFormを使用します。今、私は応答が完全にロードされないまで待ちたいです。そのために

使用していますyield www;が、正しく動作していません。その後、私は見つけwww.progress

Unity3dプレーヤーでは機能しますが、iPhoneまたはiPadでは機能しません。

EDIT1:私はJavascriptを使用しています。

EDIT2:私のコード:

function getSettingsValues(){


    var strResponse;

    userID = PlayerPrefs.GetString("userid");
    arrLevels.Clear();

    print("First");
    var url = "http://WEBSERVICE";

    var form = new WWWForm();

    form.AddField( "userid",userID);

    var www = new WWW( url, form );

    yield www;

    if (www.error == null)
    {   
        strResponse = www.text;
    }


    print("Response "+strResponse); 
}
4

2 に答える 2

1

コードは次のようになります。

function PostMyForm()
{
    var form:WWWForm = new WWWForm();
    // todo: add form variables
    var www:WWW = new WWW(url, form);
    yield www;
    // todo: parse response
}

次に、StartCorotuineで呼び出します。

StartCoroutine(PostMyForm());

または、すでにコルーチンに参加している場合:

yield StartCoroutine(PostMyForm());
于 2013-03-25T06:35:51.413 に答える
0
while (!www.isDone)
{
    yield return www;
}

直接返す代わりにこのコードを試すことができます。進行状況は一部のアセットのダウンロードです。Webサービスにアクセスしようとすると、0または1のみが返されます。

于 2013-03-25T06:39:19.440 に答える