0

我正在尝试生成一个随机数并与另一个数字进行比较,如果它们相同,我希望随机数增加一,然后将其添加到舞台上。但如果一开始就不同,我希望它直接将它添加到舞台上。但是如果数字相同,它就不能正常工作,它确实会通过 radomize++,但仍然会添加生成的初始数字,从而搞砸一切。有人可以帮我解决这个问题吗?

 function randomizedorder()
    {
        randomize = Math.floor(Math.random() * (choices.length));

        trace("the random number is" + randomize);

    if (randomize == indexcount ) {
            randomize++;
            trace ("it goes through this pahse" + randomize);

        }
        else {
               addChild(choices [randomize]);
        }

    }
4

1 回答 1

1

want the random number to increase by one and then add it to the stage

但是由于 addChild 在 else 子句中,因此您将其加一并且没有向舞台添加任何内容。

function randomizedorder()
{
    randomize = Math.floor(Math.random() * (choices.length));

    trace("the random number is" + randomize);

    if (randomize == indexcount ) {
        randomize++;
        randomize = randomize % choices.length;
        trace ("it goes through this pahse" + randomize);
    }

    addChild(choices [randomize]);

}

此外,您需要决定如果 randomize 等于indexcount并且也等于choices.length-1在这种情况下您不能使用它来取消选择的索引。

编辑:我添加了模数运算符,因此如果随机化超出范围,它将返回 0。

于 2013-05-06T18:38:04.823 回答