首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Unity unityscript错误

Unity unityscript错误
EN

Stack Overflow用户
提问于 2012-12-09 13:50:29
回答 1查看 248关注 0票数 0

我有一个数组learnnum,它看起来像0,1,1,0,1,1,1,1,0。

我需要基本上要求用户输入鼠标左键或鼠标右键。如果左,则翻转i的learnnum的值,否则什么也不会发生。我只为i=1,3,5,7这样做。我已经写了下面的代码,但它不能正常工作,而不是去所有的4个条件…它直接转到4。它似乎没有等待输入条件……我有什么方法可以纠正这个问题吗?

代码语言:javascript
复制
function changeNumba(i)
{       //check1=true;
        print ("PRINTT "+check1);
                    while(!Input.GetButtonDown("Fire1") && !Input.GetButtonDown("Fire2"))
                    {
                    if(Input.GetButtonDown("Fire1"))
                    {
                    check1++;
                    }
                if(Input.GetButtonDown("Fire2"))
                    {
                    learnednum[i]=0 ? 1 : 0;
                    check1++;
                    }
                }

}

function changelearn()
{       

        //FIRST STEP
        //if(check1)    
        if(move1==9 && check1==0)
            {changeNumba(1);

            }
        //SECOND STEP   
        if(move1==9 && check1==1)
            {changeNumba(3);

            }
        if(move1==9 && check1==2)
            {changeNumba(5);

            }
        if(move1==9 && check1==3)
            {changeNumba(7);

            }
}





var check1=0;

//1,3,5,7
function Update () {


if(move1==9)//this is just a game condition. Do not bother about it.
{
changelearn();
}

 }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-09 13:59:26

来自unity script api:http://docs.unity3d.com/Documentation/ScriptReference/Input.GetButtonDown.html

在Update()方法中不应该有while()循环。

更改changeNumba(),如下所示:

代码语言:javascript
复制
function changeNumba(i)
{
if(Input.GetButtonDown("Fire1")){
    check1++;
}
if(Input.GetButtonDown("Fire2")){
    learnednum[i] = learnednum[i]==0 ? 1 : 0;
    check1++;
}
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13785037

复制
相关文章

相似问题

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