home *** CD-ROM | disk | FTP | other *** search
/ 404 Jogos / CLJG.iso / Puzzle / filler.swf / scripts / org / cove / ape / RectangleParticle.as < prev    next >
Encoding:
Text File  |  2008-09-02  |  3.3 KB  |  125 lines

  1. package org.cove.ape
  2. {
  3.    public class RectangleParticle extends AbstractParticle
  4.    {
  5.        
  6.       
  7.       private var _axes:Array;
  8.       
  9.       private var _radian:Number;
  10.       
  11.       private var _extents:Array;
  12.       
  13.       public function RectangleParticle(param1:Number, param2:Number, param3:Number, param4:Number, param5:Number = 0, param6:Boolean = false, param7:Number = 1, param8:Number = 0.3, param9:Number = 0)
  14.       {
  15.          super(param1,param2,param6,param7,param8,param9);
  16.          _extents = new Array(param3 / 2,param4 / 2);
  17.          _axes = new Array(new Vector(0,0),new Vector(0,0));
  18.          radian = param5;
  19.       }
  20.       
  21.       override public function init() : void
  22.       {
  23.          var _loc1_:Number = NaN;
  24.          var _loc2_:Number = NaN;
  25.          cleanup();
  26.          if(displayObject != null)
  27.          {
  28.             initDisplay();
  29.          }
  30.          else
  31.          {
  32.             _loc1_ = extents[0] * 2;
  33.             _loc2_ = extents[1] * 2;
  34.             sprite.graphics.clear();
  35.             sprite.graphics.lineStyle(lineThickness,lineColor,lineAlpha);
  36.             sprite.graphics.beginFill(fillColor,fillAlpha);
  37.             sprite.graphics.drawRect(-_loc1_ / 2,-_loc2_ / 2,_loc1_,_loc2_);
  38.             sprite.graphics.endFill();
  39.          }
  40.          paint();
  41.       }
  42.       
  43.       public function set width(param1:Number) : void
  44.       {
  45.          _extents[0] = param1 / 2;
  46.       }
  47.       
  48.       internal function get axes() : Array
  49.       {
  50.          return _axes;
  51.       }
  52.       
  53.       public function get height() : Number
  54.       {
  55.          return _extents[1] * 2;
  56.       }
  57.       
  58.       internal function get extents() : Array
  59.       {
  60.          return _extents;
  61.       }
  62.       
  63.       public function set angle(param1:Number) : void
  64.       {
  65.          radian = param1 * MathUtil.PI_OVER_ONE_EIGHTY;
  66.       }
  67.       
  68.       private function setAxes(param1:Number) : void
  69.       {
  70.          var _loc2_:Number = NaN;
  71.          var _loc3_:Number = NaN;
  72.          _loc2_ = Math.sin(param1);
  73.          _loc3_ = Math.cos(param1);
  74.          axes[0].x = _loc3_;
  75.          axes[0].y = _loc2_;
  76.          axes[1].x = -_loc2_;
  77.          axes[1].y = _loc3_;
  78.       }
  79.       
  80.       public function get radian() : Number
  81.       {
  82.          return _radian;
  83.       }
  84.       
  85.       public function get width() : Number
  86.       {
  87.          return _extents[0] * 2;
  88.       }
  89.       
  90.       public function set height(param1:Number) : void
  91.       {
  92.          _extents[1] = param1 / 2;
  93.       }
  94.       
  95.       public function get angle() : Number
  96.       {
  97.          return radian * MathUtil.ONE_EIGHTY_OVER_PI;
  98.       }
  99.       
  100.       internal function getProjection(param1:Vector) : Interval
  101.       {
  102.          var _loc2_:Number = NaN;
  103.          var _loc3_:Number = NaN;
  104.          _loc2_ = extents[0] * Math.abs(param1.dot(axes[0])) + extents[1] * Math.abs(param1.dot(axes[1]));
  105.          _loc3_ = Number(samp.dot(param1));
  106.          interval.min = _loc3_ - _loc2_;
  107.          interval.max = _loc3_ + _loc2_;
  108.          return interval;
  109.       }
  110.       
  111.       public function set radian(param1:Number) : void
  112.       {
  113.          _radian = param1;
  114.          setAxes(param1);
  115.       }
  116.       
  117.       override public function paint() : void
  118.       {
  119.          sprite.x = curr.x;
  120.          sprite.y = curr.y;
  121.          sprite.rotation = angle;
  122.       }
  123.    }
  124. }
  125.