andydean565

Untitled

Dec 28th, 2014
221
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package
  2. {
  3.     import Characters.FireBoy;
  4.     import Characters.WaterGirl;
  5.     import flash.display.Bitmap;
  6.     import flash.display.DisplayObject;
  7.     import flash.display.Sprite;
  8.     import flash.events.Event;
  9.     import flash.events.KeyboardEvent;
  10.     import Map.Level;
  11.     import Platforms.Platform;
  12.  
  13.    
  14.     /**
  15.      * ...
  16.      * @author Andrew Dean
  17.      */
  18.     public class Main extends Sprite
  19.     {
  20.         //adding background image
  21.         [Embed(source="Assets/Background2.jpg")]
  22.         public var BackGround:Class;
  23.         var picture:Bitmap = new BackGround();
  24.        
  25.         //adding characters as vars
  26.         public var FireHero:FireBoy
  27.         public var WaterHero:WaterGirl
  28.  
  29.         //Fire boy movement
  30.         public var leftKeyDown:Boolean = false;
  31.         public var rightKeyDown:Boolean = false;
  32.        
  33.         //watergirl movement
  34.         public var aKeyDown:Boolean = false;
  35.         public var dKeyDown:Boolean = false;
  36.        
  37.         //jumping
  38.         public var upKeyDown:Boolean = false;
  39.         public var wKeyDown:Boolean = false;
  40.        
  41.         //fireboy math
  42.         public var FireJumping:Boolean = false;
  43.         public var FireJumpSpeedLimit:int = 15;
  44.         public var FireJumpSpeed:Number = FireJumpSpeedLimit;
  45.         public var FireOnGround = false;
  46.        
  47.         //watergirl math
  48.         public var WaterJumping:Boolean = false;
  49.         public var WaterJumpSpeedLimit:int = 15;
  50.         public var WaterJumpSpeed:Number = WaterJumpSpeedLimit;
  51.         public var WaterOnGround = false;
  52.        
  53.         //FireBoy barrier
  54.         public var FireLeftBarrier:Boolean = false;
  55.         public var FireRightBarrier:Boolean = false;
  56.        
  57.         //watergrl barrier
  58.         public var WaterLeftBarrier:Boolean = false;
  59.         public var WaterRightBarrier:Boolean = false;
  60.        
  61.         //adding level map as var
  62.         public var levelDesign:Level;
  63.        
  64.         public function Main():void
  65.         {
  66.             if (stage) init();
  67.             else addEventListener(Event.ADDED_TO_STAGE, init);
  68.         }
  69.        
  70.         private function init(e:Event = null):void
  71.         {
  72.             removeEventListener(Event.ADDED_TO_STAGE, init);
  73.             // entry point
  74.             //adding background
  75.             stage.addChild(picture);
  76.            
  77.            
  78.             //adding level/platforms
  79.             levelDesign = new Level();
  80.             stage.addChild(levelDesign);
  81.            
  82.             //adding fireboy
  83.             FireHero = new FireBoy();
  84.             FireHero.x = 50
  85.             FireHero.y = 550
  86.             stage.addChild(FireHero);
  87.            
  88.             //adding watergirl
  89.             WaterHero = new WaterGirl();
  90.             WaterHero.x = 60
  91.             WaterHero.y = 550
  92.             stage.addChild(WaterHero);
  93.        
  94.             //adding event listeners for when charcters are in the frame
  95.             WaterHero.addEventListener(Event.ENTER_FRAME, WaterMove);
  96.             FireHero.addEventListener(Event.ENTER_FRAME, FireMove);
  97.            
  98.             //adding keyboard listeners
  99.             stage.addEventListener(KeyboardEvent.KEY_DOWN, checkKeysDown);
  100.             stage.addEventListener(KeyboardEvent.KEY_UP, checkKeysUp);
  101.         }
  102.         public function FireMove(event:Event):void
  103.             {
  104.             //move the character based on which keys are down
  105.                 //fireboy
  106.                 if (leftKeyDown && !FireLeftBarrier)
  107.                 {
  108.                     FireHero.x = FireHero.x - 5;
  109.                 }
  110.                 if (rightKeyDown && !FireRightBarrier)
  111.                 {
  112.                     FireHero.x = FireHero.x + 5;
  113.                 }
  114.                 if (upKeyDown || FireJumping)
  115.                 {
  116.                     FireJump();
  117.                 }
  118.                 for ( var i:int = 0;i<levelDesign.platformHolder.numChildren; i++)
  119.                 {
  120.                     //current platform
  121.                     var hitplatform:DisplayObject = levelDesign.platformHolder.getChildAt(i);
  122.                     //checking hit test
  123.                     if (FireHero.hitTestObject(hitplatform) && FireHero.y < hitplatform.y)
  124.                     {
  125.                         if (FireHero.hitTestObject(hitplatform) && FireHero.x < hitplatform.x + hitplatform.width)
  126.                         {
  127.                         FireLeftBarrier = true;
  128.                         FireHero.x = FireHero.x + 1;
  129.                         break;
  130.                         }
  131.                         FireOnGround = true;
  132.                         break;
  133.                     }
  134.  
  135.                     FireOnGround = false;
  136.                     FireLeftBarrier = false;
  137.                 }
  138.                 if (!FireOnGround)
  139.                 {
  140.                     FireJumping = true;
  141.                 }
  142.                    
  143.  
  144.         }
  145.    
  146.         public function WaterMove(event:Event):void{
  147.             {
  148.                 //move the character based on which keys are down
  149.                 //watergirl
  150.                 if (aKeyDown && !WaterLeftBarrier)
  151.                 {
  152.                     WaterHero.x = WaterHero.x - 5;
  153.                 }
  154.                 if (dKeyDown && !WaterRightBarrier)
  155.                 {
  156.                     WaterHero.x = WaterHero.x + 5;
  157.                 }
  158.                 if (wKeyDown || WaterJumping)
  159.                 {
  160.                     WaterJump();
  161.                 }
  162.                 for ( var i:int = 0;i<levelDesign.platformHolder.numChildren; i++)
  163.                 {
  164.                     //current platform
  165.                     var hitplatform:DisplayObject = levelDesign.platformHolder.getChildAt(i);
  166.                     //checking hit test
  167.                     if (WaterHero.hitTestObject(hitplatform) && WaterHero.y < hitplatform.y)
  168.                     {
  169.                         WaterOnGround = true;
  170.                         break;
  171.                     }
  172.                    
  173.                     WaterOnGround = false;
  174.                 }
  175.                 if (!WaterOnGround)
  176.                 {
  177.                     WaterJumping = true;
  178.                 }
  179.  
  180.             }
  181.         }
  182.             public function checkKeysDown (event:KeyboardEvent):void {
  183.                 //fireboy
  184.                 //left
  185.                 if (event.keyCode == 37)
  186.                 {
  187.                     leftKeyDown = true;
  188.                 }
  189.                 //right
  190.                 if (event.keyCode == 39)
  191.                 {
  192.                     rightKeyDown = true;
  193.                 }
  194.                 //jumping
  195.                 if (event.keyCode == 38)
  196.                 {
  197.                     upKeyDown = true;
  198.                 }
  199.                
  200.                 //watergirl
  201.                 //left
  202.                 if (event.keyCode == 65)
  203.                 {
  204.                     aKeyDown = true;
  205.                 }
  206.                 //right
  207.                 if (event.keyCode == 68)
  208.                 {
  209.                     dKeyDown = true;
  210.                 }
  211.                 //jumping
  212.                 if (event.keyCode == 87)
  213.                 {
  214.                     wKeyDown = true;
  215.                 }
  216.             }
  217.                 public function checkKeysUp(event:KeyboardEvent):void {
  218.                
  219.                 //fireboy
  220.                 if (event.keyCode == 37)
  221.                 {
  222.                     leftKeyDown = false;
  223.                 }
  224.                 if (event.keyCode == 39)
  225.                 {
  226.                     rightKeyDown = false;
  227.                 }
  228.                 if (event.keyCode == 38)
  229.                 {
  230.                     upKeyDown = false;
  231.                 }
  232.                 //watergirl
  233.                 if (event.keyCode == 65)
  234.                 {
  235.                     aKeyDown = false;
  236.                 }
  237.                 if (event.keyCode == 68)
  238.                 {
  239.                     dKeyDown = false;
  240.                 }
  241.                 if (event.keyCode == 87)
  242.                 {
  243.                     wKeyDown = false;
  244.                 }
  245.                
  246.             }
  247.  
  248.             public function FireJump():void
  249.             {
  250.                 if (!FireJumping)
  251.                 {
  252.                     FireJumping = true;
  253.                     FireJumpSpeed = FireJumpSpeedLimit * -1;
  254.                     FireHero.y += FireJumpSpeed;
  255.                 }
  256.                 else
  257.                 {
  258.                     if (FireJumpSpeed < 0)
  259.                     {
  260.                         FireJumpSpeed *= 1 - FireJumpSpeedLimit / 125;
  261.                         if (FireJumpSpeed > - FireJumpSpeedLimit / 5)
  262.                         {
  263.                             FireJumpSpeed *= -1;
  264.                         }
  265.                     }
  266.                     if (FireJumpSpeed > 0 && FireJumpSpeed <= FireJumpSpeedLimit)
  267.                     {
  268.                         FireJumpSpeed *= 1 + FireJumpSpeedLimit / 50;
  269.                     }
  270.                     FireHero.y += FireJumpSpeed;
  271.                    
  272.                     //platform hit
  273.                     for (var i:int = 0; i < levelDesign.platformHolder.numChildren; i++)
  274.                     {
  275.                         var hitplatform:Platform = Platform(levelDesign.platformHolder.getChildAt(i));
  276.                         if (FireHero.hitTestObject(hitplatform))
  277.                         {
  278.                             if ( FireJumpSpeed > 0)
  279.                             {
  280.                                 FireOnGround = false;
  281.                                 FireJumping = false;
  282.                                 FireHero.y = hitplatform.y - FireHero.height;
  283.                                 break;
  284.                             }
  285.                             else
  286.                             {
  287.                                 FireJumpSpeed = Math.abs(FireJumpSpeed);
  288.                                 FireHero.y = hitplatform.y + hitplatform.height + 1;
  289.                             }
  290.                            
  291.                     }
  292.                 }
  293.             }
  294.            
  295.            
  296.    
  297.     }
  298.             public function WaterJump():void
  299.             {
  300.                 if (!WaterJumping)
  301.                 {
  302.                     WaterJumping = true;
  303.                     WaterJumpSpeed = WaterJumpSpeedLimit * -1;
  304.                     WaterHero.y += WaterJumpSpeed;
  305.                 }
  306.                 else
  307.                 {
  308.                     if (WaterJumpSpeed < 0)
  309.                     {
  310.                         WaterJumpSpeed *= 1 - WaterJumpSpeedLimit / 125;
  311.                         if (WaterJumpSpeed > - WaterJumpSpeedLimit / 5)
  312.                         {
  313.                             WaterJumpSpeed *= -1;
  314.                         }
  315.                     }
  316.                     if (WaterJumpSpeed > 0 && WaterJumpSpeed <= WaterJumpSpeedLimit)
  317.                     {
  318.                         WaterJumpSpeed *= 1 + WaterJumpSpeedLimit / 50;
  319.                     }
  320.                     WaterHero.y += WaterJumpSpeed;
  321.                    
  322.                     //platform hits
  323.                     for (var i:int = 0; i < levelDesign.platformHolder.numChildren; i++)
  324.                     {
  325.                         var hitplatform:Platform = Platform(levelDesign.platformHolder.getChildAt(i));
  326.                         if (WaterHero.hitTestObject(hitplatform))
  327.                         {
  328.                             if ( WaterJumpSpeed > 0)
  329.                             {
  330.                                 WaterOnGround = false;
  331.                                 WaterJumping = false;
  332.                                 WaterHero.y = hitplatform.y - WaterHero.height;
  333.                                 break;
  334.                             }
  335.                             else
  336.                             {
  337.                                 WaterJumpSpeed = Math.abs(WaterJumpSpeed);
  338.                                 WaterHero.y = hitplatform.y + hitplatform.height + 1;
  339.                             }
  340.                     }
  341.                 }
  342.             }
  343.            
  344.            
  345.    
  346.     }
  347.    
  348. }
  349. }
Advertisement
Add Comment
Please, Sign In to add comment