Я делаю вид сверху на выживание в зомби в AS3. Я хочу породить врагов в волнах, определяемых «рамками», или разницей между большим прямоугольником и меньшим внутри него, как в рамке рисунка. Прямо сейчас вот мой код, который довольно неэффективен. Мне было интересно, если есть лучший способ. Этот код тоже не работает, все враги появляются в правом нижнем углу экрана:
public static function waveOne():Point {
var inner:Rectangle = Waves.WAVE_ONE_RECTANGLE_1;
var outer:Rectangle = Waves.WAVE_ONE_RECTANGLE_2;
var x:Number = Math.random();
var y:Number = Math.random();
x = x * outer.width;
y = y * outer.height;
trace(x + " " + y);
if (((x > outer.left && x < inner.left) || (x > inner.right && x < outer.right)) && ((y > outer.top && y < inner.top) || (y > inner.bottom && y < outer.bottom))) {
return(new Point(x, y));
}
else {
return waveOne();
}
}