在as3中更改运行时的公共变量? (flixel)

时间:2013-01-01 23:45:22

标签: actionscript-3 flash variables flixel

我正在尝试创建一个猜谜游戏,让用户点击不同颜色的框以查看哪一个是正确的。我有一个公共var指示使用哪种颜色(后面的图像)。代码是我的更新中的代码:

        if (FlxG.mouse.justPressed())
    {

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

    }

(colorUnit和colorArray都是相等的分布式,在类文件中是2的荒谬)

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

提前致谢!

2 个答案:

答案 0 :(得分: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));

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

答案 1 :(得分:0)

我得到的值是0到2之间的整数。我想要做的是,每次点击都会改变vaue。我不确定会发生什么。也许我现在不应该问。我稍后会问我有更多信息。遗憾。