我有一个矩形,想:
在一侧(任意)上获得一个随机点。
在一侧(除了先前选择的)随机点。
我最初的方法是为每个可能的边创建数组。
var arr:Array = [[{x:0,y:0}, // Top
{x:width,y:0}], //
[{x:width,y:0}, // Right
{x:width,y:height}], //
[{x:width,y:height}, // Bottom
{x:0,y:height}], //
[{x:0,y:height}, // Left
{x:0,y:0}]]; //
然后,我得到了双方。 rand是一个实例Rand并具有以下方法: .next()它提供一个介于0和之间的随机数,1 .between(x,y)它返回一个介于x和之间的随机数y。
var firstSide:Array = arr[rand.next() * arr.length];
var secondSide:Array;
do {
secondSide = arr[rand.next() * arr.length];
} while(secondSide.equals(firstSide));
最后,我计算我的分数。
var pointOnFirstSide:Object = {x:rand.between(firstSide[0].x, firstSide[1].x),
y:rand.between(firstSide[0].y, firstSide[1].y};
var pointOnSecondSide:Object = {x:rand.between(secondSide[0].x, secondSide[1].x),
y:rand.between(secondSide[0].y, secondSide[1].y};
我认为这不是解决此问题的最有效方法。
你会怎么做?
慕慕森
小唯快跑啊
相关分类