andydean565

Untitled

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