Mars714

citymain

Mar 7th, 2017
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package
  2. {
  3.     import flash.display.Sprite;
  4.     import flash.display.DisplayObject;
  5.     import flash.events.KeyboardEvent;
  6.     import flash.ui.Keyboard;
  7.     import flash.events.Event;
  8.     import flash.display.Stage;
  9.     import flash.display.MovieClip;
  10.     import flash.display.FrameLabel;
  11.    
  12.     public class citysape extends MovieClip
  13.     {
  14.        
  15.         public var rightInnerBoundary:uint;
  16.         public var leftInnerBoundary:uint;
  17.         public var topInnerBoundary:uint;
  18.         public var bottomInnerBoundary:uint;
  19.         public var vx: int = 0;
  20.         public var vy: int = 0;
  21.         public var upPressed: Boolean = false;
  22.         public var downPressed: Boolean = false;
  23.         public var leftPressed: Boolean = false;
  24.         public var rightPressed: Boolean = false;
  25.         public var hitting: Boolean;
  26.         public var accelerationx: Number = 0;
  27.         public var accelerationy: Number = 0;
  28.         public var speedLimit: Number = 5;
  29.         public var friction: Number = 0.96;
  30.         public var gravity: Number = 0.3;
  31.         public var isOnGround: Boolean = undefined;
  32.         public var jumpForce: Number = -10;
  33.         public var character: MovieClip;
  34.         public var box: MovieClip;
  35.         public var floor: MovieClip;
  36.        
  37.         public function citysape()
  38.         {
  39.            
  40.             if(!stage){
  41.                 this.addEventListener(Event.ADDED_TO_STAGE, stageReady);
  42.             }else{
  43.                 stageReady();
  44.             }
  45.            
  46.            
  47.              function stageReady(event:Event = null):void {
  48.                 stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler);
  49.                 stage.addEventListener(KeyboardEvent.KEY_UP, keyUpHandler);
  50.                 stage.addEventListener(Event.ENTER_FRAME, enterFrameHandler);
  51.                
  52.                 rightInnerBoundary
  53.                 = (stage.stageWidth /2) + (stage.stageWidth /4);
  54.                 leftInnerBoundary
  55.                 = (stage.stageWidth /2) - (stage.stageWidth /4);      
  56.                 topInnerBoundary
  57.                 = (stage.stageHeight / 2) - (stage.stageHeight / 4);
  58.                 bottomInnerBoundary
  59.                 = (stage.stageHeight / 2) + (stage.stageHeight / 4);
  60.                
  61.                
  62.                  function keyDownHandler(event:KeyboardEvent):void
  63.                 {
  64.                     if (event.keyCode == Keyboard.LEFT)
  65.                     {
  66.                         vx = -5;
  67.                         _character.gotoAndPlay("WALKL");
  68.                         _character.accelerationx = -0.2;
  69.                         _character.gravity = 0.3;
  70.                     }
  71.                     else if (event.keyCode == Keyboard.LEFT && (CollisionDectect.block(_character, box)))
  72.                     {
  73.                         vx = 0;
  74.                         _character.gotoAndStop("IDLEL");
  75.                         _character.accelerationx = 0.0;
  76.                         _character.gravity = 0.3;
  77.                     }
  78.                     else if (event.keyCode == Keyboard.RIGHT)
  79.                     {
  80.                         vx = 5;
  81.                         _character.gotoAndPlay("WALKR");
  82.                         _character.accelerationx = 0.2;
  83.                         _character.gravity = 0.3;
  84.                     }
  85.                     else if (event.keyCode == Keyboard.RIGHT && (CollisionDectect.block(_character, box)))
  86.                     {
  87.                         vx = 0;
  88.                         _character.gotoAndStop("IDLER");
  89.                         _character.accelerationx = 0.0;
  90.                         _character.gravity = 0.3;
  91.                     }
  92.                     else if (event.keyCode == Keyboard.UP
  93.                         || event.keyCode == Keyboard.SPACE)
  94.                     {
  95.                         if(_character.isOnGround)
  96.                         {
  97.                             _character.vy += _character.jumpForce;
  98.                             _character.isOnGround = false;
  99.                             _character.gravity = 0.2;
  100.                         }
  101.                     }
  102.                     else if (event.keyCode == Keyboard.UP && (CollisionDectect.block(_character, box))
  103.                         || event.keyCode == Keyboard.SPACE && (CollisionDectect.block(_character, box)))
  104.                     {
  105.                         vx = 0;
  106.                         _character.gotoAndStop("IDLER");
  107.                         _character.accelerationx = 0.0;
  108.                         _character.gravity = 0.3;
  109.                     }
  110.                    
  111.                    
  112.                 }
  113.                  function keyUpHandler(event:KeyboardEvent):void
  114.                 {
  115.                     if (event.keyCode == Keyboard.LEFT)
  116.                     {
  117.                         vx = 0;
  118.                         _character.gotoAndStop("IDLEL");
  119.                         _character.accelerationx = 0.0;
  120.                         _character.gravity = 0.3;
  121.                     }
  122.                     if (event.keyCode == Keyboard.RIGHT)
  123.                     {
  124.                         vx = 0;
  125.                         _character.gotoAndStop("IDLER");
  126.                         _character.accelerationx = 0.0;
  127.                         _character.gravity = 0.3;
  128.                     }
  129.                     if (event.keyCode == Keyboard.UP)
  130.                     {
  131.                         vx = 0;
  132.                         _character.gotoAndStop("IDLER");
  133.                         _character.accelerationx = 0.0;
  134.                         _character.gravity = 0.3;
  135.                     }
  136.                 }
  137.                  function enterFrameHandler(event:Event):void
  138.                 {    
  139.                    
  140.                    
  141.                     //Move the character
  142.                     _character.x += _character.vx;
  143.                     _character.y += _character.vy;
  144.                    
  145.                    
  146.                     //Apply acceleration
  147.                     _character.vx += _character.accelerationx;
  148.                     _character.vy += _character.accelerationx;
  149.                     //Apply friction
  150.                     _character.vx *= _character.friction;
  151.                     _character.vy *= _character.friction;
  152.                     //Apply gravity
  153.                     _character.vx += _character.gravity;
  154.                     _character.vy += _character.gravity;
  155.                     //check floor
  156.                     if (_character.y == 463) {
  157.                         _character.isOnGround = true;
  158.                     }
  159.                     //Force the velocity to zero
  160.                     //after it falls below 0.1
  161.                     if (Math.abs(_character.vx) < 0.1)
  162.                     {
  163.                      _character.vx = 0;
  164.                         }
  165.                     if (Math.abs(_character.vy) < 0.1)
  166.                     {
  167.                         _character.vy = 0;
  168.                     }
  169.                     //Limit the speed, except when the character
  170.                     //is moving upwards
  171.                     if (_character.vx > _character.speedLimit)
  172.                     {
  173.                         _character.vx = _character.speedLimit;
  174.                     }
  175.                     if (_character.vx < -_character.speedLimit)
  176.                     {
  177.                         _character.vx = -_character.speedLimit;
  178.                     }
  179.                     if (_character.vy > _character.speedLimit * 2)
  180.                     {
  181.                         _character.vy = _character.speedLimit * 2;
  182.                     }
  183.                    
  184.                     //Check the inner boundaries
  185.                    
  186.                     if (_character.x < leftInnerBoundary)
  187.                     {
  188.                         _character.x = leftInnerBoundary;
  189.                         rightInnerBoundary
  190.                         = (stage.stageWidth / 2) + (stage.stageWidth / 4);
  191.                         background.x -= vx / 2;
  192.                         foreground.x -= vx;
  193.                     }
  194.                     else if (_character.x + 90 > rightInnerBoundary)
  195.                     {
  196.                         _character.x = rightInnerBoundary - _character.width
  197.                         leftInnerBoundary
  198.                         = (stage.stageWidth / 2) - (stage.stageWidth / 4);
  199.                         background.x -= vx / 2;
  200.                         foreground.x -= vx;
  201.                     }
  202.                    
  203.                     if (_character.y < topInnerBoundary)
  204.                     {
  205.                         _character.y = topInnerBoundary;
  206.                         bottomInnerBoundary
  207.                         = (stage.stageHeight / 2) + (stage.stageHeight / 4);
  208.                     }
  209.                     else if (_character.y + _character.height > bottomInnerBoundary)
  210.                     {
  211.                         _character.y = bottomInnerBoundary - _character.height;
  212.                         topInnerBoundary
  213.                         = (stage.stageHeight / 2) - (stage.stageHeight / 4);
  214.                     }
  215.                 }
  216.             }
  217.            
  218.         }
  219.     }
  220. }
Advertisement
Add Comment
Please, Sign In to add comment