home *** CD-ROM | disk | FTP | other *** search
- package asCode
- {
- import flash.display.MovieClip;
- import flash.display.Shape;
-
- public class DrawCurveBar extends MovieClip
- {
- private var renderClip:MovieClip;
-
- private var renderShape:Shape;
-
- private var totalAngle:Number;
-
- private var radius:Number;
-
- private var TO_RADIANS:Number = 0.017453292519943295;
-
- public function DrawCurveBar()
- {
- renderShape = new Shape();
- super();
- }
-
- public function setup(param1:MovieClip, param2:Number, param3:Number) : void
- {
- renderClip = param1;
- totalAngle = param2;
- renderShape = new Shape();
- renderClip.addChild(renderShape);
- radius = param3;
- }
-
- public function clearBar() : void
- {
- renderShape.graphics.clear();
- }
-
- public function manageCurve(param1:Number, param2:uint) : void
- {
- renderLine(param1 * totalAngle,param2);
- }
-
- public function renderLine(param1:Number, param2:uint) : void
- {
- var _loc7_:* = undefined;
- var _loc8_:* = undefined;
- var _loc9_:* = undefined;
- var _loc10_:* = undefined;
- renderShape.graphics.clear();
- renderShape.graphics.lineStyle(6,param2);
- renderShape.graphics.moveTo(radius,0);
- var _loc3_:Number = Math.floor(param1 / 30);
- var _loc4_:Number = param1 - _loc3_ * 30;
- var _loc5_:Number = 0.268;
- var _loc6_:* = 0;
- while(_loc6_ < _loc3_)
- {
- _loc7_ = radius * Math.cos((_loc6_ + 1) * 30 * TO_RADIANS);
- _loc8_ = radius * Math.sin((_loc6_ + 1) * 30 * TO_RADIANS);
- _loc9_ = _loc7_ + radius * _loc5_ * Math.cos(((_loc6_ + 1) * 30 - 90) * TO_RADIANS);
- _loc10_ = _loc8_ + radius * _loc5_ * Math.sin(((_loc6_ + 1) * 30 - 90) * TO_RADIANS);
- renderShape.graphics.curveTo(_loc9_,_loc10_,_loc7_,_loc8_);
- _loc6_++;
- }
- if(_loc4_ > 0)
- {
- _loc5_ = Math.tan(_loc4_ / 2 * TO_RADIANS);
- _loc7_ = radius * Math.cos((_loc6_ * 30 + _loc4_) * TO_RADIANS);
- _loc8_ = radius * Math.sin((_loc6_ * 30 + _loc4_) * TO_RADIANS);
- _loc9_ = _loc7_ + radius * _loc5_ * Math.cos((_loc6_ * 30 + _loc4_ - 90) * TO_RADIANS);
- _loc10_ = _loc8_ + radius * _loc5_ * Math.sin((_loc6_ * 30 + _loc4_ - 90) * TO_RADIANS);
- renderShape.graphics.curveTo(_loc9_,_loc10_,_loc7_,_loc8_);
- }
- renderShape.rotation = 90 - param1 * 0.5;
- }
- }
- }
-
-