0

我正在使用 Appwarp api 进行多人游戏。我打电话时遇到错误Invoke("recoverConnection", 5)

public void onConnectDone(ConnectEvent eventObj)  
{  
    Log ("onConnectDone : " + eventObj.getResult ());  

    if (eventObj.getResult () == 0)   
    {
        recoveryErrorCode = 0;  
        WarpClient.GetInstance ().JoinRoomInRange (0, 5, true);  
    }   
    else if (eventObj.getResult () == 9)  
    {  
        this.Invoke("recoverConnection", 5);  
    }  
    else if (eventObj.getResult () == 8)   
    {  
        // reconnected  
    }  
}  

void recoverConnection()
{
    WarpClient.GetInstance ().RecoverConnection ();
}

错误是:

Invoke 只能从主线程调用。

加载场景时,构造函数和字段初始化程序将从加载线程中执行。

4

1 回答 1

1

回调 onConnectDone 在单独的线程上调用,因此任何与 UI 相关的更改或调用功能都需要在主线程上调用。您可以使用任何插件来帮助您从任何辅助线程调用主线程上的任何方法。你可以看看这个链接。这将帮助您从主线程调用 Invoke 方法。

我希望这能帮到您。

于 2016-10-18T05:41:06.967 回答