簡體   English   中英

C#函數調用不起作用

[英]C# function call doesn't work

我有以下代碼,但是我的函數Insert()的調用不起作用。

void Update() {
    if (Input.GetKeyDown(KeyCode.Space)) {
        Insert();
    }
}

public IEnumerator Insert() {

    WWWForm form = new WWWForm();
    //add some fields

    WWW request = new WWW(url, form);
    yield return request;

    string result = request.text;

    if (result == "error") {
        yield return null;
    }
    print(result);
}

我使用Unity,如果我將Insert()函數命名為Start() (直接在start上調用),則該函數運行良好,沒有問題。

您知道問題在哪里以及如何解決嗎? 非常感謝。

您沒有使用IEnumerators所需的StartCoroutine。

嘗試以下方法:

void Update() {
    if (Input.GetKeyDown(KeyCode.Space)) {
        StartCoroutine(Insert());
    }
}

另外,此答案已在評論中告知了您幾次,但我發布答案是為了解決問題,並使遇到此問題的其他人更容易更快地找到答案。

嘗試

if (Input.GetKeyDown("space"))

而不是if (Input.GetKeyDown(KeyCode.Space))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM