Advertisement
Guest User

Error?

a guest
Jan 16th, 2017
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package
  2. {
  3.     import flash.automation.Configuration;
  4.     import flash.display.MovieClip;
  5.     import flash.display.Sprite;
  6.     import flash.events.Event;
  7.     import flash.events.KeyboardEvent;
  8.     import flash.events.MouseEvent;
  9.     import flash.text.TextField;
  10.     import flash.text.TextFormat;
  11.     import flash.utils.getQualifiedClassName;
  12.     public class Main extends Sprite
  13.     {
  14.             private var cam:MovieClip = new MovieClip;
  15.             private var aDown:Boolean = false;
  16.             private var dDown:Boolean = false;
  17.             private var wDown:Boolean = false;
  18.             private var sDown:Boolean = false;
  19.             private var spaceDown:Boolean = false;
  20.             private var char:Player = new Player();
  21.             private var bullets:Array = [];
  22.             private var blocks:Array = [];
  23.             private var coins:Array = [];
  24.             private var enemies:Array = [];
  25.             private var particles:Array = [];
  26.             private var keys:Array = [];
  27.             private var doors:Array = [];
  28.             private var ladders:Array = [];
  29.             private var clouds:Array = [];
  30.             private var climbing:Boolean = false;
  31.             private var score:int = 0;
  32.             private var keyCount:int = 0;
  33.             private var current:int = 0;
  34.             private var mapIndex:int = 0;
  35.             private var defaultFloor:int = 0;
  36.             private var jumpCount:int = 0;
  37.             private var textBox:TextField = new TextField();
  38.             private var textStyle:TextFormat = new TextFormat("Arial", 18, 0x00FF00);
  39.             private var enemyNameBox:TextField = new TextField();
  40.             private var keyTextBox:TextField = new TextField();
  41.             private var hp:HealthBar = new HealthBar(0x0033FF);
  42.             private var enhp:HealthBar = new HealthBar(0xFF6600);
  43.             private var climbX:Array = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 6, 10, 16, 22, 27, 32, 36, 40, 44, 47, 49, 50];
  44.             private var climbY:Array = [1, 2, 4, 6, 9, 12, 16, 20, 25, 31, 38, 46, 53, 59, 64, 68, 71, 73, 74, 74, 73, 71, 68, 64, 59, 50];
  45.             private var climbDir:int = 0;
  46.             private var climbUp:int = 0;
  47.             private var maps:Array = [
  48.             [
  49.             [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 7],
  50.             [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 6],
  51.             [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5],
  52.             [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5],
  53.             [1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 5],
  54.             [1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 5],
  55.             [1, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 1, 5],
  56.             [1, 0, 6, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 5],
  57.             [1, 0, 5, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5],
  58.             [1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5],
  59.             [1, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 2, 1, 5],
  60.             [1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 5],
  61.             [1, 0, 5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 5],
  62.             [1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5],
  63.             [1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5 ],
  64.             [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5 ],
  65.             [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 1, 5 ],
  66.             [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5 ]
  67.             ],
  68.             [
  69.             [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ],
  70.             [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ],
  71.             [0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ],
  72.             [0, 1, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ],
  73.             [0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ],
  74.             [0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ],
  75.             [0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ],
  76.             [0, 0, 0, 5, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, ],
  77.             [0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ],
  78.             [0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ],
  79.             [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ],
  80.             [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ],
  81.             [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ]]
  82.             ];
  83.             private var styles:Array = [
  84.             [[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, [1,5,0,200,0], 0, 0, 0, 0, 1, ],
  85.             [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ],
  86.             [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ],
  87.             [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ],
  88.             [1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, ],
  89.             [1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, ],
  90.             [1, 0, 1, 0, 0, 0, 0, 0, 0, 0, [1, false], 0, 0, 0, 0, 1, ],
  91.             [1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, ],
  92.             [1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, ],
  93.             [1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ],
  94.             [1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, ],
  95.             [1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, ],
  96.             [1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ],
  97.             [1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ],
  98.             [1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ],
  99.             [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ],
  100.             [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ],
  101.             [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ]],
  102.             [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ],
  103.             [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ],
  104.             [0, 0, [0, false], 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ],
  105.             [0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ],
  106.             [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ],
  107.             [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ],
  108.             [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ],
  109.             [0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, ],
  110.             [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ],
  111.             [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ],
  112.             [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ],
  113.             [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ],
  114.             [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ]]
  115.             ];
  116.             private var enemyNames:Array = ["Enemy 1", "Enemy 2", "Enemy 3", "Enemy 4"];
  117.             public function Main():void
  118.         {
  119.             addChild(cam);
  120.             hp.x = 150;
  121.             hp.y = 23;
  122.             addChild(hp);
  123.             textBox.x = 10;
  124.             textBox.y = 10;
  125.             textBox.defaultTextFormat = textStyle;
  126.             addChild(textBox);
  127.             enemyNameBox.x = 300;
  128.             enemyNameBox.y = 35;
  129.             enemyNameBox.defaultTextFormat = textStyle;
  130.             enemyNameBox.width = 300;
  131.             addChild(enemyNameBox);
  132.             keyTextBox.x = 400;
  133.             keyTextBox.y = 10;
  134.             keyTextBox.defaultTextFormat = textStyle;
  135.             keyTextBox.width = 300;
  136.             addChild(keyTextBox);
  137.             char.x = 400;
  138.             char.y = 300;
  139.             cam.addChild(char);
  140.             enhp.x = 300;
  141.             enhp.y = 23;
  142.             addChild(enhp);
  143.             loadMap(0, -1);
  144.             mapIndex = 0;
  145.             stage.addEventListener(Event.ENTER_FRAME, checkStuff);
  146.             stage.addEventListener(KeyboardEvent.KEY_DOWN, keysDown);
  147.             stage.addEventListener(KeyboardEvent.KEY_UP, keysUp);
  148.             stage.addEventListener(MouseEvent.MOUSE_DOWN, mDown);
  149.             cam.setChildIndex(char, cam.numChildren - 1);
  150.         }
  151.         public function loadMap(index:int, current:int):void
  152.         {
  153.             if (cam.numChildren > 1)
  154.             {
  155.                 while (cam.numChildren > 0)
  156.                     cam.removeChildAt(0);
  157.             }
  158.             if (current != -1)
  159.             {
  160.                 var newArr:Array = [];
  161.                 for (var i:int = 0; i < maps[current].length; i++)
  162.                     newArr.push([]);
  163.                 for (var s:int = 0; s < maps[current].length; s++)
  164.                 {
  165.                     for (var h:int = 0; h < maps[current][0].length; h++)
  166.                         newArr[s].push(0);
  167.                 }
  168.                 for (var b:int = 0; b < blocks.length; b++)
  169.                 {
  170.                     if (!blocks[b].mover)
  171.                         newArr[(blocks[b].y - 25) / 50][(blocks[b].x - 25) / 50] = 1;
  172.                     else
  173.                         newArr[(blocks[b].yHome - 25) / 50][(blocks[b].xHome - 25) / 50] = 1;
  174.                 }
  175.                 for (var c:int = 0; c < coins.length; c++)
  176.                     newArr[(coins[c].y - 25) / 50][(coins[c].x - 25) / 50] = 2;
  177.                 for (var cl:int = 0; cl < clouds.length; cl++)
  178.                     newArr[(clouds[cl].y - 25) / 50][(clouds[cl].x - 25) / 50] = 7;
  179.                 for (var l:int = 0; l < ladders.length; l++)
  180.                 {
  181.                     if (ladders[l].top)
  182.                         newArr[(ladders[l].y - 25) / 50][(ladders[l].x - 25) / 50] = 5;
  183.                     else
  184.                         newArr[(ladders[l].y - 25) / 50][(ladders[l].x - 25) / 50] = 6;
  185.                 }
  186.                 for (var d:int = 0; d < doors.length; d++)
  187.                     newArr[(doors[d].y - 25) / 50][(doors[d].x - 25) / 50] = 8
  188.                 maps[current] = newArr;
  189.                 newArr = [];
  190.                 for (var i:int = 0; i < maps[current].length; i++)
  191.                     newArr.push([]);
  192.                 for (var s:int = 0; s < maps[current].length; s++)
  193.                 {
  194.                     for (var s:int = 0; s < maps[current][0].length; s++)
  195.                         newArr[s].push(0);
  196.                 }
  197.                 for (var b:int = 0; b < blocks.length; b++)
  198.                 {
  199.                     if (!blocks[b].mover)
  200.                         newArr[(blocks[b].y - 25) / 50][(blocks[b].x - 25) / 50] = 1;
  201.                     else
  202.                         newArr[(blocks[b].yHome - 25) / 50][(blocks[b].xHome - 25) / 50] = [1, blocks[b].xSpeed, blocks[b].ySpeed, blocks[b].xDist, blocks[b].yDist];
  203.                 }
  204.                 for (var c:int = 0; c < coins.length; c++)
  205.                     newArr[(coins[c].y - 25) / 50][(coins[c].x - 25) / 50] = 2;
  206.                 for (var cl:int = 0; cl < clouds.length; cl++)
  207.                     newArr[(clouds[cl].y - 25) / 50][(clouds[cl].x - 25) / 50] = 7;
  208.                 for (var l:int = 0; l < ladders.length; l++)
  209.                 {
  210.                     if (ladders[l].top)
  211.                         newArr[(ladders[l].y - 25) / 50][(ladders[l].x - 25) / 50] = 5;
  212.                     else
  213.                         newArr[(ladders[l].y - 25) / 50][(ladders[l].x - 25) / 50] = 6;
  214.                 }
  215.                 for (var d:int = 0; d < doors.length; d++)
  216.                     newArr[(doors[d].y - 25) / 50][(doors[d].x - 25) / 50] = [doors[d].dest, doors[d].unlocked];
  217.                 styles[current] = newArr;
  218.             }
  219.             bullets = [];
  220.             blocks = [];
  221.             coins = [];
  222.             enemies = [];
  223.             particles = [];
  224.             keys = [];
  225.             doors = [];
  226.             ladders = [];
  227.             clouds = [];
  228.             char.floor = 10000;
  229.             for (var i:int = 0; i < maps[index].length; i++)
  230.             {
  231.                 for (var j:int = 0; j < maps[index][0].length; j++)
  232.                 {
  233.                     if (maps[index][i][j] == 1)
  234.                     {
  235.                         var block:Block = new Block();
  236.                         if ((i == 0 || maps[index][i - 1][j] != 1) && (j == 0 || maps[index][i - 1][j - 1] != 1) && (j == maps[index][0].length - 1 || maps[index][i - 1][j + 1] != 1))
  237.                             block = new Block(true);
  238.                         block.x = j * 50 + 25;
  239.                         block.y = i * 50 + 25;
  240.                         if (getQualifiedClassName(styles[index][i][j]) == "Array")
  241.                         {
  242.                             block.xSpeed = styles[index][i][j][1];
  243.                             block.ySpeed = styles[index][i][j][2];
  244.                             block.xDist = styles[index][i][j][3];
  245.                             block.yDist = styles[index][i][j][4];
  246.                             block.xHome = block.x;
  247.                             block.yHome = block.y;
  248.                             block.mover = true;
  249.                         }
  250.                         blocks.push(block);
  251.                         cam.addChild(block);
  252.                     }
  253.                    
  254.                     if (maps[index][i][j] == 2)
  255.                     {
  256.                         var coin:Coin = new Coin();
  257.                         coin.x = j * 50 + 25;
  258.                         coin.y = i * 50 + 25;
  259.                         coins.push(coin);
  260.                         cam.addChild(coin);
  261.                     }
  262.                     if (maps[index][i][j] == 3)
  263.                     {
  264.                         var enem:Enemy = new Enemy(enemyNames[enemies.length]);
  265.                         enem.x = j * 50 + 25;
  266.                         enem.y = i * 50 + 25;
  267.                         enemies.push(enem);
  268.                         cam.addChild(enem);
  269.                     }
  270.                     if (maps[index][i][j] == 4)
  271.                     {
  272.                         var key:Key = new Key();
  273.                         key.x = j * 50 + 25;
  274.                         key.y = i * 50 + 25;
  275.                         keys.push(key);
  276.                     }
  277.                     if (maps[index][i][j] == 5)
  278.                     {
  279.                         var ladder:Ladder = new Ladder(false);
  280.                         ladder.x = j * 50 + 25;
  281.                         ladder.y = i * 50 + 25;
  282.                         cam.addChild(ladder);
  283.                         ladders.push(ladder);
  284.                     }
  285.                     if (maps[index][i][j] == 6)
  286.                     {
  287.                         var ladder:Ladder = new Ladder(true);
  288.                         ladder.x = j * 50 + 25;
  289.                         ladder.y = i * 50 + 25;
  290.                         cam.addChild(ladder);
  291.                         ladders.push(ladder);
  292.                     }
  293.                     if (maps[index][i][j] == 7)
  294.                     {
  295.                         var cloud:Cloud = new Cloud;
  296.                         cloud.x = j * 50 + 25;
  297.                         cloud.y = i * 50 + 25;
  298.                         cam.addChild(cloud);
  299.                         clouds.push(cloud);
  300.                     }
  301.                     if (maps[index][i][j] == 8)
  302.                     {
  303.                         var door:Door = new Door(styles[index][i][j]);
  304.                         door.x = j * 50 + 25;
  305.                         door.y = i * 50 + 25;
  306.                         door.unlocked = styles[index][i][j];
  307.                         if (door.dest == current)
  308.                         {
  309.                             char.x = door.x;
  310.                             char.y = door.y;
  311.                             char.floor = 10000;
  312.                         }
  313.                         doors.push(door);
  314.                         cam.addChild(door);
  315.                     }
  316.                 }
  317.             }
  318.             cam.addChild(char);
  319.             mapIndex = index;
  320.             defaultFloor = maps[index].length * 50;
  321.         }
  322.         public function mDown(e:MouseEvent):void
  323.         {
  324.             var ang:Number = 0;
  325.             if (mouseX > 400)
  326.                 ang = (Math.atan(((mouseY - cam.y) - char.y) / ((mouseX - cam.x) - char.x)));
  327.             else
  328.                 ang = -1 * (Math.atan(((mouseY - cam.y) - char.y) / ((mouseX - cam.x) - char.x)));
  329.             var xSpeed:Number = Math.cos(ang) * 45;
  330.             var ySpeed:Number = Math.sin(ang) * 45;
  331.             if (mouseX < 400)
  332.                 xSpeed *= -1;
  333.             makeParticles(20, char.x, char.y, xSpeed / 7, ySpeed / 7, 4, 0, 0xFF0000, 10);
  334.             makeParticles(20, char.x, char.y, xSpeed / 7, ySpeed / 7, 4, 0, 0xFF9900, 5);
  335.             makeParticles(20, char.x, char.y, xSpeed / 7, ySpeed / 7, 4, 0, 0xFFFF00, 2);
  336.             var bullet:Bullet = new Bullet(char.x, char.y, xSpeed, ySpeed);
  337.             cam.addChild(bullet);
  338.             bullets.push(bullet);
  339.         }
  340.         public function makeParticles(num:int, xPos:int, yPos:int, xSpeed:int, ySpeed:int, variance:int, grav:int, color:int, size:int, time:int = 10):void
  341.         {
  342.             for (var i:int = 0; i < num; i++)
  343.             {
  344.                 var part:Particle = new Particle(Math.round(Math.random()) * size + 5,grav,color,time);
  345.                 part.x = xPos;
  346.                 part.y = yPos;
  347.                 part.xSpeed = xSpeed + Math.random() * variance - variance / 2;
  348.                 part.ySpeed = ySpeed + Math.random() * variance - variance / 2;
  349.                 part.rSpeed = Math.random() * 10 + 20;
  350.                 cam.addChild(part);
  351.                 particles.push(part);
  352.             }
  353.         }
  354.         public function checkStuff(e:Event):void
  355.         {
  356.             textBox.text = "Score:  " + score;
  357.             keyTextBox.text = "Keys: " + keyCount;
  358.             hp.scaleX = char.health / 100;
  359.             if (enemies.length > 0)
  360.             {
  361.                 enhp.scaleX = enemies[current].health / 100;
  362.                 enemyNameBox.text = enemies[current].name2;
  363.             }
  364.             else
  365.             {
  366.                 enhp.scaleX = 0;
  367.                 enemyNameBox.text = "All enemies cleared";
  368.             }
  369.             var prevX:int = char.x;
  370.             var prevY:int = char.y;
  371.            
  372.             if (char.floor == char.y + char.height / 2)
  373.             {
  374.                 jumpCount = 0;
  375.                 char.climbTimer = 0;
  376.             }
  377.             char.clinging = 0;
  378.             for (var i:int = 0; i < blocks.length; i++)
  379.             {
  380.                 blocks[i].checkObj(char, i, defaultFloor);
  381.                 if (blocks[i].mover)
  382.                     blocks[i].adjust(char, i);
  383.                 for (var s:int = 0; s < enemies.length; s++)
  384.                     blocks[i].checkObj(enemies[s], i, defaultFloor);
  385.             }
  386.             if (char.climbTimer < 5 && char.climbTimer > -1)
  387.             {
  388.                 var current:int = 0;
  389.                 if (aDown && char.clinging != 1)
  390.                     char.x -= 5;
  391.                 if (dDown && char.clinging != -1)
  392.                     char.x += 5;
  393.                 if (!climbing)
  394.                     char.adjust();
  395.                 else
  396.                 {
  397.                     if (wDown)
  398.                         char.y -= 5;
  399.                     if (sDown)
  400.                         char.y += 5;
  401.                     if (char.y + char.height / 2 > char.floor)
  402.                         char.y = char.floor - char.height / 2;
  403.                 }
  404.                 if (char.onLadder == -1)
  405.                 {
  406.                     if (climbing)
  407.                         char.grav = 0;
  408.                     climbing = false;
  409.                 }
  410.             }
  411.             else
  412.             {
  413.                 if (char.climbTimer == 5)
  414.                 {
  415.                     char.climbTimer = -1;
  416.                     climbDir = char.clinging * -1;
  417.                     char.y = blocks[char.climbingBlock].y;
  418.                     char.grav = 0;
  419.                     jumpCount = 2;
  420.                     climbUp = 26;
  421.                 }
  422.                 char.x = blocks[char.climbingBlock].x - 50 * climbDir + climbX[26 - climbUp] * climbDir;
  423.                 char.y = blocks[char.climbingBlock].y - climbY[26 - climbUp];
  424.                 climbUp--;
  425.                 if (climbUp == 0)
  426.                     char.climbTimer = 0;
  427.             }
  428.             for (var j:int = enemies.length - 1; j >= 0 ; j--)
  429.             {
  430.                 var result:int = (enemies[j].checkObj(char, bullets));
  431.                 if (result == -1)
  432.                 {
  433.                     makeParticles(40, enemies[j].x, enemies[j].y, 0, -25, 20, 1.5, 0xFF1100, 5, 60);
  434.                     cam.removeChild(enemies[j]);
  435.                     enemies.splice(j, 1);
  436.                     current = 0;
  437.                     score += 10;
  438.                 }
  439.                 else
  440.                 if (result !== -2)
  441.                 {
  442.                     cam.removeChild(bullets[result]);
  443.                     bullets.splice(result, 1);
  444.                     current = j;
  445.                     current = j;
  446.                     makeParticles( 20, enemies[j].x, enemies[j].y, 0, -15, 20, 1.5, 0xFF1100, 5, 30);
  447.                 }
  448.             }
  449.             for (var k:int = 0; k - bullets.length; k++)
  450.             {
  451.                 bullets[k].check();
  452.             }
  453.             for (var u:int = 0; u - clouds.length; u++)
  454.             {
  455.                 clouds[u].checkObj(char, u + blocks.length, defaultFloor);
  456.             }
  457.             for (var p:int = particles.length-1; p >= 0; p--)
  458.             {
  459.                 particles[p].update();
  460.                 if (particles[p].timer == particles[p].timeMax)
  461.                 {
  462.                     cam.removeChild(particles[p]);
  463.                     particles.splice(p, 1);
  464.                 }
  465.             }
  466.             for (var s:int = coins.length - 1; s >= 0; s--)
  467.             {
  468.                 if (coins[s].checkObj(char))
  469.                 {
  470.                     cam.removeChild(coins[s]);
  471.                     coins.splice(s, 1);
  472.                     score ++;
  473.                 }
  474.             }
  475.             for (var d:int = 0; d < doors.length; d++)
  476.             {
  477.                 if (doors[d].checkObj(char) && spaceDown && keyCount > 0 || doors[d].unlocked)
  478.                 {
  479.                     if (!doors[d].unlocked)
  480.                         keyCount--;
  481.                     doors[d].unlocked = true;
  482.                     loadMap(doors[d].dest, mapIndex);
  483.                 }
  484.             }
  485.             for (var w:int = 0; w < keys.length; w++)
  486.             {
  487.                 if (keys[w].checkObj(char, enemies) == 1)
  488.                 {
  489.                     cam.addChild(keys[w]);
  490.                     keys[w].vis = true;
  491.                 }  
  492.                 if (keys[w].checkObj(char, enemies) == 2)
  493.                 {
  494.                     cam.removeChild(keys[w]);
  495.                     keys.splice(w, 1);
  496.                     keyCount++;
  497.                 }
  498.             }
  499.             for (var l:int = 0; l < ladders.length; l++)
  500.             {
  501.                 ladders[l].checkObj(char, l, climbing);
  502.                
  503.             }
  504.             cam.x -= char.x - prevX;
  505.             cam.y -= char.y - prevY;
  506.             spaceDown = false;
  507.         }
  508.         public function keysDown(e:KeyboardEvent):void
  509.         {
  510.             if (e.keyCode == 65)
  511.                 aDown = true;
  512.             if (e.keyCode == 68)
  513.                 dDown = true;
  514.             if (e.keyCode == 87 && ((char.y + char.width / 2 == char.floor || jumpCount < 2) || char.onLadder != -1 || char.clinging != 0))
  515.             {
  516.                 if (char.onLadder == -1 && (char.clinging == 0 || char.floor - char.height / 2 == char.y))
  517.                 {
  518.                     char.grav = -15;
  519.                     jumpCount ++;
  520.                 }
  521.                 else if (char.onLadder == -1 && char.clinging != 0 && char.y + char.height / 2 < char.floor)
  522.                 {
  523.                     char.grav = -15;
  524.                     jumpCount = 2;
  525.                     char.acc2 = char.clinging * 20;
  526.                 }
  527.                 else
  528.                 {
  529.                     climbing = true;
  530.                     wDown = true;
  531.                 }
  532.             }
  533.             if (e.keyCode == 83)
  534.             {
  535.                 if (char.onLadder != -1)
  536.                     climbing = true;
  537.                 sDown = true;
  538.             }
  539.             if (e.keyCode == 32)
  540.             {
  541.                 if (climbing)
  542.                 {
  543.                     climbing = false;
  544.                     char.grav = -15;
  545.                     char.onLadder = -1;
  546.                     jumpCount = 2;
  547.                 }
  548.             }
  549.         }
  550.         public function keysUp(e:KeyboardEvent):void
  551.         {
  552.             if (e.keyCode == 65)
  553.                 aDown = false;
  554.             if (e.keyCode == 68)
  555.                 dDown = false;
  556.             if (e.keyCode == 32)
  557.                 spaceDown = true;
  558.         }
  559.     }
  560. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement