2014-10-28 92 views
0

我有下面的代碼的正常工作,並將數據發送到所需的服務器工作按鈕在guiwindow中,所以有以下代碼。Unity3d WWWForm只能從開始()

IEnumerator senddata(){ 
     Diffculty d = Diffculty.getInstance(); 
     int level = d.getDiffculty(); 
     WWWForm form = new WWWForm(); 
     form.AddField("highscore", 1000); 
     form.AddField("name", stringToEdit); 
     form.AddField("level", level); 
     WWW download = new WWW(url, form); 
     yield return download; 
     if((!string.IsNullOrEmpty(download.error))) { 
      Debug.Log("Error downloading: " + download.error); 
     } else { 
      Debug.Log(download.text); 
      doWindow0 = false; 
     } 
    } 
    void DoWindow0(int windowID) { 
     stringToEdit = GUILayout.TextField (stringToEdit, 25); 
     if (GUILayout.Button ("Submit Score")) { 
      senddata(); 
     } 
    } 
    void OnGUI() { 
     //doWindow0 = GUI.Toggle(new Rect(10, 10, 100, 20), doWindow0, "Window 0"); 
     if (doWindow0) 
      GUI.Window(0, windowRect, DoWindow0, ""); 

    } 

然而,當我按下按鈕(「提交分數」)好像沒有什麼改變,並且數據不被服務器

回答

0

收到這是因爲你不打電話StartCoroutine(送出數據())。調用發送數據只會返回循環訪問方法所需的IEnumerator值,其中StartCoroutine使用IEnumerator值實際完成該方法。