home *** CD-ROM | disk | FTP | other *** search
- package org.cove.ape
- {
- public class RectangleParticle extends AbstractParticle
- {
-
-
- private var _axes:Array;
-
- private var _radian:Number;
-
- private var _extents:Array;
-
- 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)
- {
- super(param1,param2,param6,param7,param8,param9);
- _extents = new Array(param3 / 2,param4 / 2);
- _axes = new Array(new Vector(0,0),new Vector(0,0));
- radian = param5;
- }
-
- override public function init() : void
- {
- var _loc1_:Number = NaN;
- var _loc2_:Number = NaN;
- cleanup();
- if(displayObject != null)
- {
- initDisplay();
- }
- else
- {
- _loc1_ = extents[0] * 2;
- _loc2_ = extents[1] * 2;
- sprite.graphics.clear();
- sprite.graphics.lineStyle(lineThickness,lineColor,lineAlpha);
- sprite.graphics.beginFill(fillColor,fillAlpha);
- sprite.graphics.drawRect(-_loc1_ / 2,-_loc2_ / 2,_loc1_,_loc2_);
- sprite.graphics.endFill();
- }
- paint();
- }
-
- public function set width(param1:Number) : void
- {
- _extents[0] = param1 / 2;
- }
-
- internal function get axes() : Array
- {
- return _axes;
- }
-
- public function get height() : Number
- {
- return _extents[1] * 2;
- }
-
- internal function get extents() : Array
- {
- return _extents;
- }
-
- public function set angle(param1:Number) : void
- {
- radian = param1 * MathUtil.PI_OVER_ONE_EIGHTY;
- }
-
- private function setAxes(param1:Number) : void
- {
- var _loc2_:Number = NaN;
- var _loc3_:Number = NaN;
- _loc2_ = Math.sin(param1);
- _loc3_ = Math.cos(param1);
- axes[0].x = _loc3_;
- axes[0].y = _loc2_;
- axes[1].x = -_loc2_;
- axes[1].y = _loc3_;
- }
-
- public function get radian() : Number
- {
- return _radian;
- }
-
- public function get width() : Number
- {
- return _extents[0] * 2;
- }
-
- public function set height(param1:Number) : void
- {
- _extents[1] = param1 / 2;
- }
-
- public function get angle() : Number
- {
- return radian * MathUtil.ONE_EIGHTY_OVER_PI;
- }
-
- internal function getProjection(param1:Vector) : Interval
- {
- var _loc2_:Number = NaN;
- var _loc3_:Number = NaN;
- _loc2_ = extents[0] * Math.abs(param1.dot(axes[0])) + extents[1] * Math.abs(param1.dot(axes[1]));
- _loc3_ = Number(samp.dot(param1));
- interval.min = _loc3_ - _loc2_;
- interval.max = _loc3_ + _loc2_;
- return interval;
- }
-
- public function set radian(param1:Number) : void
- {
- _radian = param1;
- setAxes(param1);
- }
-
- override public function paint() : void
- {
- sprite.x = curr.x;
- sprite.y = curr.y;
- sprite.rotation = angle;
- }
- }
- }
-