错误上传文件以从unity3D解析

时间:2015-07-12 21:44:11

标签: c# parse-platform unity3d

我正在使用Parse进行我正在开发的游戏。 一切都没问题,直到我尝试uplad一个文件,无论他的扩展我总是得到这个错误:“get_version只能从主线程调用”

URL = http://www.hostingpics.net/viewer.php?id=764075parseError.png

这是我的剧本:

byte[] data = System.Text.Encoding.UTF8.GetBytes("Working at Parse is great!");
            ParseFile file = new ParseFile("resume.txt", data);
            Task saveTask = file.SaveAsync();
            var player = new ParseObject ("FilesLibrary");
            player ["Number"] = 155;
            player ["Files"] = file;
            saveTask = player.SaveAsync();

我试图将此脚本放在不同的地方,但我总是遇到同样的问题。

3 个答案:

答案 0 :(得分:0)

我猜你需要强制你的Parse查询在Main Thread上执行。

你可以做到这一点
public readonly static Queue<Action> ExecuteOnMainThread = new Queue<Action> ();

在此队列中添加查询方法。像

ExecuteOnMainThread.Enqueue (() => {
                StartCoroutine (SaveData (ID, playerName)); });

SaveData() Coroutine中,您需要执行Parse查询。

最后:

void Update()
{
    while (ExecuteOnMainThread != null && ExecuteOnMainThread.Count > 0)
    {
        Action currentAction = ExecuteOnMainThread.Dequeue();
        if (currentAction != null) 
        {
            currentAction.Invoke ();
        }
    }
}

答案 1 :(得分:0)

很奇怪,相同的脚本可以使用unity 4.6但不是5.1!

答案 2 :(得分:0)

在尝试将文件保存到db对象之前,需要先确保将文件上载到Parse。

Parse Unity文档不是很好,因为它不适合Unity的线程模型。我建议使用协同例程来完成所有Parse调用。

我也在Unity Answers上发布了这个,但你明白了......

[id="areabarchart2"] {
    # CSS goes here
}

[id="areabarchart1"] {
    # CSS goes here
}