首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >同时循环失败的unityscript

同时循环失败的unityscript
EN

Stack Overflow用户
提问于 2014-11-27 21:47:17
回答 1查看 223关注 0票数 0

我只是不能让自己在团结中发挥作用。无论多么简单,团结总是冻结在我身上。

代码语言:javascript
复制
function LoadingLevel (level : int) {

    yield;


    //progressBar.transform.localScale = Vector3(loadingProgress, 0, 0);

    async = Application.LoadLevelAsync(1);

    while (!async.isDone) {

        loadingProgress = parseInt(async.progress * 100);

    }

    //Application.LoadLevel(level); 
}

这就是我目前遇到的问题:它编译,但在运行时冻结。我做错什么了?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-27 21:49:13

您无法理解异步组件是如何在统一中工作的。

您的while循环需要yield。这是因为统一程序是单线程的,而yield是给其他“协同机制”分配时间的方法。

代码语言:javascript
复制
    while (!async.isDone)
    {
        loadingProgress = parseInt(async.progress * 100);
        yield;
    }

以下是关于这一工作方式的统一文档:

http://docs.unity3d.com/Manual/Coroutines.html

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27179088

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档