home *** CD-ROM | disk | FTP | other *** search
/ Champak 48 / cdrom_image.iso / Games / breakawish.swf / scripts / __Packages / Paddle.as < prev    next >
Encoding:
Text File  |  2007-09-28  |  1.5 KB  |  59 lines

  1. class Paddle extends BaseObject
  2. {
  3.    var bGotBall;
  4.    var bBallStickAbility;
  5.    static var nBALL_HIT_BOUNCE_BACK = 1;
  6.    static var nBALL_HIT_STICKS = 2;
  7.    static var nBALL_LAUNCH_ANGLE_MIN = 225;
  8.    static var nBALL_LAUNCH_ANGLE_MAX = 315;
  9.    static var nANGLE_CHANGE_PER_PIXEL = 0.35;
  10.    function Paddle(_mcRef)
  11.    {
  12.       super(_mcRef);
  13.       this.bGotBall = false;
  14.       LevelManager.Instance.doAddListener(this);
  15.    }
  16.    function getAffectedBounceAngleForBall(_oBall)
  17.    {
  18.       var _loc2_ = _oBall.Angle;
  19.       if(_loc2_ < 0)
  20.       {
  21.          _loc2_ += 360;
  22.       }
  23.       else if(_loc2_ > 360)
  24.       {
  25.          _loc2_ %= 360;
  26.       }
  27.       var _loc3_ = _oBall.Ref._x - this.Ref._x;
  28.       var _loc4_ = _loc3_ * Paddle.nANGLE_CHANGE_PER_PIXEL;
  29.       _loc2_ += _loc4_;
  30.       if(_loc2_ < Paddle.nBALL_LAUNCH_ANGLE_MIN)
  31.       {
  32.          _loc2_ = Paddle.nBALL_LAUNCH_ANGLE_MIN;
  33.       }
  34.       else if(_loc2_ > Paddle.nBALL_LAUNCH_ANGLE_MAX)
  35.       {
  36.          _loc2_ = Paddle.nBALL_LAUNCH_ANGLE_MAX;
  37.       }
  38.       return _loc2_;
  39.    }
  40.    function getBallHitReaction(_oBall)
  41.    {
  42.       var _loc2_ = undefined;
  43.       if(!this.bBallStickAbility || _oBall instanceof ShootingStar)
  44.       {
  45.          _loc2_ = Paddle.nBALL_HIT_BOUNCE_BACK;
  46.       }
  47.       else
  48.       {
  49.          _loc2_ = Paddle.nBALL_HIT_STICKS;
  50.       }
  51.       return _loc2_;
  52.    }
  53.    function doDestroy()
  54.    {
  55.       LevelManager.Instance.doRemoveListener(this);
  56.       super.doDestroy();
  57.    }
  58. }
  59.