0

我正在尝试创建一个猜谜游戏,让用户单击不同颜色的框以查看哪个是正确的。我有一个公共变量,它规定要使用哪种颜色(稍后的图像)。我的更新中的代码是这样的:

        if (FlxG.mouse.justPressed())
    {

        block2.distributionp = Math.random() * 2;
        block2.colorArray = block2.distributionp;
        block2.colorUnit = block2.colorArray;

    }

(colorUnit和colorArray均等分布p,在class文件中为2的随机数)

当我运行此代码时,确实发生了更改,但似乎只切换了一次。其他时候它被忽略了。我怎样才能让它不断地切换出一个我以后可以使用的随机数?

提前致谢!

4

2 回答 2

0

Math.random() * 2返回一个范围从 0.000000000000 到 2.00000000 的数字,这包括像 0.123456789 和 1.99999999 这样的数字(不确定它到底是什么小数位,只是说它不仅返回整数 0、1 和 2)。我不确定,但我认为您的问题在于范围,因此如果您想要更好的范围,请使用此代码。

MIN_VALUE * Math.random() + (MAX_VALUE - MIN_VALUE);

如果您只想获得整数,您可以使用Math.ceil()或者Math.floor()像这样:
Math.ceil(MIN_VALUE * Math.random() + (MAX_VALUE - MIN_VALUE));

如果这对您没有帮助,我很抱歉,但如果没有帮助,请告诉我,我将继续尝试并提供帮助。

于 2013-01-02T00:32:45.893 回答
0

我得到的值是 0 到 2 之间的整数。我想要做的是每次单击时更改值。我不确定会发生什么。也许我现在不应该问。当我有更多信息时,我会问。对不起。

于 2013-01-02T02:04:27.827 回答