我有一个数组learnnum,它看起来像0,1,1,0,1,1,1,1,0。
我需要基本上要求用户输入鼠标左键或鼠标右键。如果左,则翻转i的learnnum的值,否则什么也不会发生。我只为i=1,3,5,7这样做。我已经写了下面的代码,但它不能正常工作,而不是去所有的4个条件…它直接转到4。它似乎没有等待输入条件……我有什么方法可以纠正这个问题吗?
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();
}
}发布于 2012-12-09 13:59:26
来自unity script api:http://docs.unity3d.com/Documentation/ScriptReference/Input.GetButtonDown.html
在Update()方法中不应该有while()循环。
更改changeNumba(),如下所示:
function changeNumba(i)
{
if(Input.GetButtonDown("Fire1")){
check1++;
}
if(Input.GetButtonDown("Fire2")){
learnednum[i] = learnednum[i]==0 ? 1 : 0;
check1++;
}
}https://stackoverflow.com/questions/13785037
复制相似问题