2011-01-16 3 views
1

私はAS3でトップビューのゾンビサバイバルゲームを作っています。私は "フレーム"によって定義された波、またはより大きな矩形とその中の小さな矩形との違いを、駒のように鳴らしたい。今ここで私のコードは非常に非効率的です。私はもっ​​と良い方法があるのだろうかと思っていた。2つの長方形の間の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(); 
     } 
    } 

答えて

1

簡単な解決策は、内側の長方形と外側の長方形を使用して4つの矩形を定義することである:このコードは、すべての敵は、画面の右下に出現、右のいずれかに動作しません。 (左、右、上、下) 最初に、ランダムに矩形を選択し、その矩形の中にポイントを見つける必要があります。

関連する問題