C# Unity3d WWWForm仅从开始()起工作

C# Unity3d WWWForm仅从开始()起工作,c#,unity3d,C#,Unity3d,我有以下代码,可以正常工作,并根据需要将数据发送到服务器: IEnumerator Start () { Diffculty d = Diffculty.getInstance (); int level = d.getDiffculty (); WWWForm form = new WWWForm(); form.AddField( "highscore", 1000); form.AddField( "name"

我有以下代码,可以正常工作,并根据需要将数据发送到服务器:

IEnumerator Start () {
        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;
        }
    }
然而,我现在希望这段代码在按下GUI窗口中的按钮时被触发,所以有下面的代码

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, "");

    }

但是,当我按下按钮(“提交分数”)时,似乎什么都没有发生,服务器也没有收到数据,这是因为您没有调用Start例程(sendData())。调用send data as只返回在方法中循环所需的IEnumerator值,其中as Start例程使用IEnumerator值实际完成方法