home *** CD-ROM | disk | FTP | other *** search
- package asCode
- {
- import flash.display.BitmapData;
- import flash.display.MovieClip;
- import flash.geom.Point;
-
- internal class playerManager
- {
- private static var BUBBLE_TYPE_PLAYER:int = 0;
-
- private static var BUBBLE_TYPE_ACORN:int = 5;
-
- private static var BUBBLE_TYPE_HEALTH_POWERUP:int = 10;
-
- private static var BUBBLE_TYPE_INVINCIBLE:int = 15;
-
- private static var BUBBLE_TYPE_SHRINK:int = 20;
-
- private static var BUBBLE_TYPE_REVERSE:int = 25;
-
- private static var PARTICLE_EFFECT_ENEMY_DEATH:int = 0;
-
- private static var PARTICLE_HIT_OBJECT:int = 1;
-
- private static var PARTICLE_COLLECT_ITEM:int = 2;
-
- private static var PARTICLE_EFFECT_CHIP_PLACED:int = 3;
-
- private static var PARTICLE_EFFECT_ELECTRICAL_CHARGE:int = 4;
-
- private static var PARTICLE_EFFECT_METEOR:int = 5;
-
- private static var PARTICLE_EFFECT_FLICKER:int = 6;
-
- private var bubbleRenderPoint:Point;
-
- private var playerScale:Number;
-
- private var movingDown:Boolean;
-
- private var flipPlayer:Boolean;
-
- private var powerUpActive:int;
-
- private var hitPointRadius:Number = 50;
-
- private var testPointAmount:Number = 12;
-
- private var testPointStepping:Number;
-
- private var pixelColour:Number;
-
- private var _testPixelNum:Number;
-
- private var hitCollisionBitmapData:BitmapData;
-
- private var screenBitmapData:BitmapData;
-
- public var spacePressed:Boolean;
-
- public var movingRight:Boolean;
-
- private var movingLeft:Boolean;
-
- private var spacePressCountdown:int;
-
- private var rightPressCountdown:int;
-
- private var spacePressCoolDown:int;
-
- private var rightPressCoolDown:int;
-
- private var leftPressCountdown:int;
-
- private var totalDistanceTraveled:Number;
-
- private var leftPressCoolDown:int;
-
- private var playerInvincibleAfterHurtCounter:int;
-
- private var playerXVelocity:Number;
-
- private var playerYVelocity:Number;
-
- private var scrollYDist:Number;
-
- private var repelX:Number;
-
- private var repelY:Number;
-
- private var radian:Number;
-
- private var screenWidth:Number;
-
- private var screenHeight:Number;
-
- private var _bubbleCodeClass:playerBubbleCodeClass;
-
- private var playerAlpha:Number;
-
- private var bubble:MovieClip;
-
- private var playerScreenLoc:Point;
-
- private var _gameClipClassRef:gameClipClass;
-
- public function playerManager(param1:gameClipClass)
- {
- bubbleRenderPoint = new Point();
- testPointStepping = 360 / testPointAmount;
- super();
- _gameClipClassRef = param1;
- _bubbleCodeClass = _gameClipClassRef._playerBubbleCodeClass;
- bubble = _gameClipClassRef.bubble;
- screenWidth = _gameClipClassRef.screenWidth;
- screenHeight = _gameClipClassRef.screenHeight;
- hitCollisionBitmapData = _gameClipClassRef.hitCollisionBitmapData;
- screenBitmapData = _gameClipClassRef.screenBitmapData;
- }
-
- public function managePlayer(param1:Boolean = false) : void
- {
- var _loc2_:int = 0;
- var _loc3_:Number = NaN;
- var _loc4_:Number = NaN;
- movingDown = _gameClipClassRef.movingDown;
- movingRight = _gameClipClassRef.movingRight;
- movingLeft = _gameClipClassRef.movingLeft;
- spacePressed = _gameClipClassRef.spacePressed;
- spacePressCountdown = _gameClipClassRef.spacePressCountdown;
- spacePressCoolDown = _gameClipClassRef.spacePressCoolDown;
- playerScale = _gameClipClassRef.playerScale;
- flipPlayer = _gameClipClassRef.flipPlayer;
- totalDistanceTraveled = _gameClipClassRef.totalDistanceTraveled;
- playerScreenLoc = _gameClipClassRef.playerScreenLoc;
- rightPressCountdown = _gameClipClassRef.rightPressCountdown;
- rightPressCoolDown = _gameClipClassRef.rightPressCoolDown;
- leftPressCountdown = _gameClipClassRef.leftPressCountdown;
- leftPressCoolDown = _gameClipClassRef.leftPressCoolDown;
- playerInvincibleAfterHurtCounter = _gameClipClassRef.playerInvincibleAfterHurtCounter;
- playerXVelocity = _gameClipClassRef.playerXVelocity;
- playerYVelocity = _gameClipClassRef.playerYVelocity;
- scrollYDist = _gameClipClassRef.scrollYDist;
- playerAlpha = _gameClipClassRef.playerAlpha;
- powerUpActive = _gameClipClassRef.powerUpActive;
- if(movingRight)
- {
- if(rightPressCountdown > 0)
- {
- --rightPressCountdown;
- }
- else
- {
- movingRight = false;
- rightPressCoolDown = 10;
- }
- }
- if(spacePressed)
- {
- if(spacePressCountdown > 0)
- {
- --spacePressCountdown;
- }
- else
- {
- spacePressed = false;
- spacePressCoolDown = 10;
- }
- }
- if(spacePressCoolDown > 0)
- {
- --spacePressCoolDown;
- }
- if(rightPressCoolDown > 0)
- {
- --rightPressCoolDown;
- }
- if(movingLeft)
- {
- if(leftPressCountdown > 0)
- {
- --leftPressCountdown;
- }
- else
- {
- movingLeft = false;
- leftPressCoolDown = 10;
- }
- }
- if(leftPressCoolDown > 0)
- {
- --leftPressCoolDown;
- }
- if(playerInvincibleAfterHurtCounter > 0)
- {
- --playerInvincibleAfterHurtCounter;
- }
- if(playerInvincibleAfterHurtCounter < 1)
- {
- playerAlpha = 1;
- }
- if(!param1)
- {
- if(movingDown)
- {
- --scrollYDist;
- }
- if(scrollYDist > -3)
- {
- scrollYDist -= 0.25;
- }
- if(scrollYDist < -10)
- {
- scrollYDist = -10;
- }
- if(movingRight)
- {
- if(flipPlayer)
- {
- playerXVelocity -= 1.3;
- }
- else
- {
- playerXVelocity += 1.3;
- }
- }
- if(movingLeft)
- {
- if(flipPlayer)
- {
- playerXVelocity += 1.3;
- }
- else
- {
- playerXVelocity -= 1.3;
- }
- }
- if(spacePressed)
- {
- scrollYDist += 2.7;
- }
- if(scrollYDist > 13)
- {
- scrollYDist = 13;
- }
- if(Math.abs(playerXVelocity) > 0)
- {
- playerScreenLoc.x += playerXVelocity;
- }
- if(Math.abs(playerYVelocity) > 0)
- {
- playerScreenLoc.y += playerYVelocity;
- }
- }
- bubble.x = playerScreenLoc.x;
- bubble.y = playerScreenLoc.y;
- bubbleRenderPoint.x = playerScreenLoc.x;
- bubbleRenderPoint.y = playerScreenLoc.y + scrollYDist;
- _bubbleCodeClass.drawBubble(bubbleRenderPoint);
- if(Math.abs(playerYVelocity) > 0.15)
- {
- playerYVelocity *= 0.9;
- }
- if(Math.abs(playerXVelocity) > 0.15)
- {
- playerXVelocity *= 0.96;
- }
- if(Math.abs(playerXVelocity) < 0.15)
- {
- playerXVelocity = 0;
- }
- if(Math.abs(playerYVelocity) < 0.15)
- {
- playerYVelocity = 0;
- }
- if(playerScreenLoc.x < 30)
- {
- playerScreenLoc.x = 30;
- if(playerXVelocity < 0)
- {
- playerXVelocity = 0;
- }
- }
- if(playerScreenLoc.x > screenWidth - 30 * playerScale)
- {
- playerScreenLoc.x = screenWidth - 30 * playerScale;
- if(playerXVelocity > 0)
- {
- playerXVelocity = 0;
- }
- }
- if(playerScreenLoc.y < 30 * playerScale)
- {
- playerScreenLoc.y = 30 * playerScale;
- if(playerYVelocity < 0)
- {
- playerXVelocity = 0;
- }
- }
- if(playerScreenLoc.y > screenHeight + 30 * playerScale)
- {
- playerScreenLoc.y = screenHeight + 30 * playerScale;
- if(playerYVelocity > 0)
- {
- playerYVelocity = 0;
- }
- }
- if(totalDistanceTraveled < 0)
- {
- if(scrollYDist < 0)
- {
- scrollYDist = 0;
- }
- }
- if(totalDistanceTraveled < _gameClipClassRef.levelTotalHeight - 320 && totalDistanceTraveled > 120)
- {
- hitCollisionBitmapData.fillRect(hitCollisionBitmapData.rect,16777215);
- _loc2_ = 0;
- while(_loc2_ < testPointAmount)
- {
- radian = _loc2_ * testPointStepping / 180 * Math.PI;
- _loc3_ = playerScreenLoc.x + Math.cos(radian) * hitPointRadius * playerScale;
- _loc4_ = playerScreenLoc.y + Math.sin(radian) * hitPointRadius * playerScale;
- _testPixelNum = screenBitmapData.getPixel32(_loc3_,_loc4_);
- if(_testPixelNum > 0)
- {
- repelX = Math.cos(radian) * 3;
- repelY = Math.sin(radian) * 3;
- playerXVelocity -= repelX;
- scrollYDist += repelY;
- if(powerUpActive != BUBBLE_TYPE_INVINCIBLE)
- {
- _gameClipClassRef.playerHitsWall(1);
- _gameClipClassRef.particleEffect(PARTICLE_HIT_OBJECT,_loc3_,_loc4_);
- }
- }
- _loc2_++;
- }
- }
- _gameClipClassRef.movingRight = movingRight;
- _gameClipClassRef.movingLeft = movingLeft;
- _gameClipClassRef.totalDistanceTraveled = totalDistanceTraveled;
- _gameClipClassRef.playerScreenLoc = playerScreenLoc;
- _gameClipClassRef.rightPressCountdown = rightPressCountdown;
- _gameClipClassRef.rightPressCoolDown = rightPressCoolDown;
- _gameClipClassRef.leftPressCountdown = leftPressCountdown;
- _gameClipClassRef.leftPressCoolDown = leftPressCoolDown;
- _gameClipClassRef.playerInvincibleAfterHurtCounter = playerInvincibleAfterHurtCounter;
- _gameClipClassRef.playerXVelocity = playerXVelocity;
- _gameClipClassRef.playerYVelocity = playerYVelocity;
- _gameClipClassRef.scrollYDist = scrollYDist;
- _gameClipClassRef.playerAlpha = playerAlpha;
- _gameClipClassRef.spacePressed = spacePressed;
- _gameClipClassRef.spacePressCountdown = spacePressCountdown;
- _gameClipClassRef.spacePressCoolDown = spacePressCoolDown;
- }
- }
- }
-
-