andydean565

Untitled

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