0

ヘルプ!私は記憶ゲームを作成しようとしていますが、セットの x と y の位置で形状の位置をランダム化する方法がよくわかりません。それらは重複できないため、ユーザーがプログラムを開始するたびに 12 の異なる場所でランダム化する必要があります。

4

2 に答える 2

0

x と y の位置を配列に保存する

var xArray=new Array();
var yArray=new Array();

xArray[0]=50;
yArray[0]=50;
xArray[1]=100;
yArray[1]=50;
xArray[2]=150;
yArray[2]=50;
...

形状ごとに値の配列を作成します

var valueArray=new Array(0,1,2.....);

この配列の値をシャッフルする - as3 ランダム配列 - 配列をランダム化 - actionscript 3

シェイプの位置を設定する

shape0.x=xArray[valueArray[0]];
shape0.y=yArray[valueArray[0]];
shape1.x=xArray[valueArray[1]];
shape1.y=yArray[valueArray[1]];
shape2.x=xArray[valueArray[2]];
shape2.y=yArray[valueArray[2]];
于 2013-09-26T10:19:04.063 に答える
0

それを試してください:

function randomSort(a:*, b:*):Number
{
    if (Math.random() < 0.5) return -1;
    else return 1;
}

// Push 12 positions as new Point() in an array.
var positions:Array = [ new Point(12, 42), new Point(43, 56), new Point(43,87) ]; // ...add 12 positions
var mcs:Array = [mc1, mc2, mc3]; // ...add 12 mcs

positions.sort(randomSort);

// link randomized position to MovieClips:
for (var i:int = 0, l:int = positions.length; i < l, i++ ) {
    var mc:MovieClip = mcs[i];
    var point:Point = positions[i];
    mc.x = point.x;
    mc.y = point.y;
}
于 2013-09-27T14:56:31.983 に答える