andydean565

Untitled

Dec 30th, 2014
261
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 = 700
  87.             stage.addChild(FireHero);
  88.            
  89.             //adding watergirl
  90.             WaterHero = new WaterGirl();
  91.             WaterHero.x = 60
  92.             WaterHero.y = 20
  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.                     FireLeftBarrier = false;
  120.                     FireRightBarrier = false;
  121.                    
  122.                 for ( var i:int = 0;i<levelDesign.platformHolder.numChildren; i++)
  123.                 {
  124.                     //current platform
  125.                     var hitplatform:DisplayObject = levelDesign.platformHolder.getChildAt(i);
  126.                     //checking hit test
  127.  
  128.                     if (FireHero.hitTestObject(hitplatform) && FireHero.y < hitplatform.y)
  129.                     {
  130.                         FireOnGround = true;
  131.                         break;
  132.                     }
  133.                     FireOnGround = false;
  134.                 }
  135.                
  136.                 for ( var i:int = 0;i<levelDesign.WallHolder.numChildren; i++)
  137.                 {
  138.                     //current Wall
  139.                     var HitWall:DisplayObject = levelDesign.WallHolder.getChildAt(i);
  140.                     //checking hit test
  141.                    
  142.                     if (FireHero.hitTestObject(HitWall) && FireHero.x - FireHero.width <= HitWall.x + HitWall.width)
  143.                     {
  144.                         FireLeftBarrier = true;
  145.                         FireHero.x = FireHero.x + 1
  146.                         break;
  147.                     }
  148.  
  149.                     if (FireHero.hitTestObject(HitWall) && FireHero.x +FireHero.x >= HitWall.x - HitWall.width)
  150.                     {
  151.                         FireRightBarrier = true;
  152.                         FireHero.x = FireHero.x - 1
  153.                         break;
  154.                     }
  155.                    
  156.                 }
  157.                
  158.                 if (!FireOnGround)
  159.                 {
  160.                     FireJumping = true;
  161.                 }
  162.                    
  163.  
  164.         }
  165.        
  166.    
  167.         public function WaterMove(event:Event):void{
  168.             {
  169.                 //move the character based on which keys are down
  170.                 //watergirl
  171.                 if (aKeyDown && !WaterLeftBarrier)
  172.                 {
  173.                     WaterHero.x = WaterHero.x - 5;
  174.                 }
  175.                 if (dKeyDown && !WaterRightBarrier)
  176.                 {
  177.                     WaterHero.x = WaterHero.x + 5;
  178.                 }
  179.                 if (wKeyDown || WaterJumping)
  180.                 {
  181.                     WaterJump();
  182.                 }
  183.                 for ( var i:int = 0;i<levelDesign.platformHolder.numChildren; i++)
  184.                 {
  185.                     //current platform
  186.                     var hitplatform:DisplayObject = levelDesign.platformHolder.getChildAt(i);
  187.                     //checking hit test
  188.                     if (WaterHero.hitTestObject(hitplatform) && WaterHero.y < hitplatform.y)
  189.                     {
  190.                         WaterOnGround = true;
  191.                         break;
  192.                     }
  193.                    
  194.                     WaterOnGround = false;
  195.                 }
  196.                 if (!WaterOnGround)
  197.                 {
  198.                     WaterJumping = true;
  199.                 }
  200.  
  201.             }
  202.         }
  203.             public function checkKeysDown (event:KeyboardEvent):void {
  204.                 //fireboy
  205.                 //left
  206.                 if (event.keyCode == 37)
  207.                 {
  208.                     leftKeyDown = true;
  209.                 }
  210.                 //right
  211.                 if (event.keyCode == 39)
  212.                 {
  213.                     rightKeyDown = true;
  214.                 }
  215.                 //jumping
  216.                 if (event.keyCode == 38)
  217.                 {
  218.                     upKeyDown = true;
  219.                 }
  220.                
  221.                 //watergirl
  222.                 //left
  223.                 if (event.keyCode == 65)
  224.                 {
  225.                     aKeyDown = true;
  226.                 }
  227.                 //right
  228.                 if (event.keyCode == 68)
  229.                 {
  230.                     dKeyDown = true;
  231.                 }
  232.                 //jumping
  233.                 if (event.keyCode == 87)
  234.                 {
  235.                     wKeyDown = true;
  236.                 }
  237.             }
  238.                 public function checkKeysUp(event:KeyboardEvent):void {
  239.                
  240.                 //fireboy
  241.                 if (event.keyCode == 37)
  242.                 {
  243.                     leftKeyDown = false;
  244.                 }
  245.                 if (event.keyCode == 39)
  246.                 {
  247.                     rightKeyDown = false;
  248.                 }
  249.                 if (event.keyCode == 38)
  250.                 {
  251.                     upKeyDown = false;
  252.                 }
  253.                 //watergirl
  254.                 if (event.keyCode == 65)
  255.                 {
  256.                     aKeyDown = false;
  257.                 }
  258.                 if (event.keyCode == 68)
  259.                 {
  260.                     dKeyDown = false;
  261.                 }
  262.                 if (event.keyCode == 87)
  263.                 {
  264.                     wKeyDown = false;
  265.                 }
  266.                
  267.             }
  268.  
  269.             public function FireJump():void
  270.             {
  271.                 if (!FireJumping)
  272.                 {
  273.                     FireJumping = true;
  274.                     FireJumpSpeed = FireJumpSpeedLimit * -1;
  275.                     FireHero.y += FireJumpSpeed;
  276.                 }
  277.                 else
  278.                 {
  279.                     if (FireJumpSpeed < 0)
  280.                     {
  281.                         FireJumpSpeed *= 1 - FireJumpSpeedLimit / 125;
  282.                         if (FireJumpSpeed > - FireJumpSpeedLimit / 5)
  283.                         {
  284.                             FireJumpSpeed *= -1;
  285.                         }
  286.                     }
  287.                     if (FireJumpSpeed > 0 && FireJumpSpeed <= FireJumpSpeedLimit)
  288.                     {
  289.                         FireJumpSpeed *= 1 + FireJumpSpeedLimit / 50;
  290.                     }
  291.                     FireHero.y += FireJumpSpeed;
  292.                    
  293.                     //platform hit
  294.                     for (var i:int = 0; i < levelDesign.platformHolder.numChildren; i++)
  295.                     {
  296.                         var hitplatform:Platform = Platform(levelDesign.platformHolder.getChildAt(i));
  297.                         if (FireHero.hitTestObject(hitplatform))
  298.                         {
  299.                             if ( FireJumpSpeed > 0)
  300.                             {
  301.                                 FireOnGround = false;
  302.                                 FireJumping = false;
  303.                                 FireHero.y = hitplatform.y - FireHero.height;
  304.                                 break;
  305.                             }
  306.                             else
  307.                             {
  308.                                 FireJumpSpeed = Math.abs(FireJumpSpeed);
  309.                                 FireHero.y = hitplatform.y + hitplatform.height + 1;
  310.                             }
  311.                            
  312.                     }
  313.                 }
  314.             }
  315.            
  316.            
  317.    
  318.     }
  319.             public function WaterJump():void
  320.             {
  321.                 if (!WaterJumping)
  322.                 {
  323.                     WaterJumping = true;
  324.                     WaterJumpSpeed = WaterJumpSpeedLimit * -1;
  325.                     WaterHero.y += WaterJumpSpeed;
  326.                 }
  327.                 else
  328.                 {
  329.                     if (WaterJumpSpeed < 0)
  330.                     {
  331.                         WaterJumpSpeed *= 1 - WaterJumpSpeedLimit / 125;
  332.                         if (WaterJumpSpeed > - WaterJumpSpeedLimit / 5)
  333.                         {
  334.                             WaterJumpSpeed *= -1;
  335.                         }
  336.                     }
  337.                     if (WaterJumpSpeed > 0 && WaterJumpSpeed <= WaterJumpSpeedLimit)
  338.                     {
  339.                         WaterJumpSpeed *= 1 + WaterJumpSpeedLimit / 50;
  340.                     }
  341.                     WaterHero.y += WaterJumpSpeed;
  342.                    
  343.                     //platform hits
  344.                     for (var i:int = 0; i < levelDesign.platformHolder.numChildren; i++)
  345.                     {
  346.                         var hitplatform:Platform = Platform(levelDesign.platformHolder.getChildAt(i));
  347.                         if (WaterHero.hitTestObject(hitplatform))
  348.                         {
  349.                             if ( WaterJumpSpeed > 0)
  350.                             {
  351.                                 WaterOnGround = false;
  352.                                 WaterJumping = false;
  353.                                 WaterHero.y = hitplatform.y - WaterHero.height;
  354.                                 break;
  355.                             }
  356.                             else
  357.                             {
  358.                                 WaterJumpSpeed = Math.abs(WaterJumpSpeed);
  359.                                 WaterHero.y = hitplatform.y + hitplatform.height + 1;
  360.                             }
  361.                     }
  362.                 }
  363.             }
  364.            
  365.            
  366.    
  367.     }
  368.    
  369. }
  370. }
Advertisement
Add Comment
Please, Sign In to add comment