【问题标题】:AS3 random point between two rectanglesAS3 两个矩形之间的随机点
【发布时间】:2011-01-16 18:02:44
【问题描述】:

我正在 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();
        }
    }

【问题讨论】:

    标签: actionscript-3


    【解决方案1】:

    一个简单的解决方案是使用内部矩形和外部矩形定义 4 个矩形。 (左、右、上、下) 首先,您随机选择一个矩形,然后您必须在该矩形内找到您的点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-05-07
      • 2012-03-27
      • 1970-01-01
      • 2011-07-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多