0
我正尝试使用Unity的parse api创建一个新帐户,并且遇到各种麻烦。我想要做的就是在解析上创建一个帐户。然后在成功加载一个场景。使用Unity3D在Parse上创建帐户
这是用于创建新帐户的代码。
bool success = true;
string error;
try
{
Task signup = user.SignUpAsync().ContinueWith(t =>
{
if (t.IsFaulted || t.IsCanceled)
{
success = false;
}
});
}
catch (System.Exception e)
{
error = "Failed to sign up Parse User. Reason: " + e.Message;
success = false;
}
if(success)
Application.LoadLevel("ExampleScene");
我不会发布所有我尝试过的东西,因为我尝试了很多东西。
总是会出现的主要问题:
- 代码是异步所以它不会等待要创建 账户都没有。
- 如果我使用IEnumerator来等待它失败,因为它不能产生一个 try catch。
- 即使我试试看,Unity抱怨LoadLevel 不能从主线程调用。
- 我试过传递一个回调。对于ContinueWith调用,但仍然 抱怨从主线程调用加载。
所以它归结为我无法弄清楚如何在不禁用所有Unity功能的情况下等待任务完成。
我该如何去创建一个解析帐户并在完成时得到通知,然后再次调用Unity函数?
那伟大工程,我需要能够尝试赶上屈服线虽然。无论如何要这样做?我可以尝试捕获startcoroutine调用,但似乎没有发现异常。 – marsh
其实你不需要一个try catch块来做这个检查IsFaulted或者IsCancelled是否提供了相同的操作。 [你也可以看看这个帖子来处理错误。](https://www.parse.com/questions/unity-sdk-handling-errors) – nexx
哇,非常感谢。我浪费了这么多时间。希望我可以+1更多。 – marsh