随机化按钮在闪光灯中的位置

时间:2013-03-08 16:32:06

标签: flash button

当我启动我的应用程序时,它会显示一个带有开始按钮的页面。

点击后,会显示八个按钮。对于我的应用程序,我希望每次运行它时,按钮应该随机化,它们应该出现在页面的不同位置。

有人可以帮忙吗?

3 个答案:

答案 0 :(得分:0)

你有button1 ... button8

var arr:Array = new Array();
for (var i:int=1; i<=8; i++) {
    var btn:Sprite = this["button"+i] as Sprite
    arr.push({x:btn.x, y:btn.y})
}
suffle arr
for (i=1; i<=8; i++) {
    var btn:Sprite = this["button"+i] as Sprite
    btn.x = arr[i-1].x;
    btn.y = arr[i-1].y;
}

答案 1 :(得分:0)

如果你有一个数组中的按钮你可以做这样的事情:

for(1=i; i<=button_array.length; i++) {
    button_array[i].x = Math.random() * WIDTH_AVAILABLE;
    button_array[i].y = Math.random() * HEIGHT_AVAILABLE;
}

您应调整宽度和高度,以使按钮不会在可用空间之外结束。这也没有任何重叠检查。

答案 2 :(得分:0)

function shuffleButtons(arrayOfButton:Array):void {
    trace ("input: " + arrayOfButton)
    for(var i:int=0; i<100; i++) {
        var btn1:DisplayObject = arrayOfButton[Math.floor(Math.random()*arrayOfButton.length)] as DisplayObject;
        do {
            var btn2:DisplayObject = arrayOfButton[Math.floor(Math.random()*arrayOfButton.length)] as DisplayObject;
        } while (btn1==btn2);

        var foo:Number;

        foo = btn1.x;
        btn1.x = btn2.x;
        btn2.x = foo;

        foo = btn1.y;
        btn1.y = btn2.y;
        btn2.y = foo;
    }
}

当您需要随机播放按钮时,请致电

shuffleButtons([button1, button2, button3, button4, button5, button6 ]);