0

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

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

有人可以帮忙吗?

4

3 回答 3

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;
}

您应该调整宽度和高度,以使按钮不会超出可用空间。这也没有任何重叠检查。

于 2013-03-08T19:49:32.303 回答
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;
}
于 2013-03-08T18:54:26.550 回答
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;
    }
}

当您需要调整 set ov 按钮时,请致电

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

于 2013-03-11T14:55:15.970 回答