home *** CD-ROM | disk | FTP | other *** search
/ 404 Jogos / CLJG.iso / Aventura / MindScape.swf / scripts / __Packages / Player.as < prev    next >
Encoding:
Text File  |  2007-12-04  |  21.2 KB  |  641 lines

  1. class Player extends MovieClip
  2. {
  3.    var jumpHeight = 13;
  4.    var walkSpeed = 7.5;
  5.    var airAcc = 2;
  6.    var airMax = 7.5;
  7.    var pHeight = 48;
  8.    var pWidth = 26;
  9.    var xStep = 0;
  10.    var yStep = 0;
  11.    var gravType = 1;
  12.    var onGround = false;
  13.    var hit = false;
  14.    var blinking = 0;
  15.    var jumping = false;
  16.    var gravDelay = 0;
  17.    var oldGrav = 1;
  18.    var gravDiff = 0;
  19.    var dontmove = false;
  20.    function Player()
  21.    {
  22.       super();
  23.    }
  24.    function onLoad()
  25.    {
  26.       var _loc1_ = this;
  27.       var _loc2_ = _root;
  28.       var _loc3_ = _loc1_._parent.spawnPoints[0][0].split(":");
  29.       _loc1_._x = _loc3_[0] * _loc1_._parent.cellsize;
  30.       _loc1_._y = _loc3_[1] * _loc1_._parent.cellsize;
  31.       _loc1_.futureX = _loc1_._x;
  32.       _loc1_.futureY = _loc1_._y;
  33.       _loc1_._parent.camFollow = true;
  34.       _loc1_.health = _loc2_.health;
  35.       _loc1_.xCell = Math.floor(_loc1_.futureX / _loc1_._parent.cellsize + 0.5);
  36.       _loc1_.yCell = Math.floor(_loc1_.futureY / _loc1_._parent.cellsize + 0.5);
  37.       if(_loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell].gravType > 0)
  38.       {
  39.          _loc1_.gravType = _loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell].gravType;
  40.          _loc1_._rotation = 90 * (_loc1_.gravType - 1);
  41.       }
  42.       else
  43.       {
  44.          _loc1_.gravType = 1;
  45.       }
  46.       _loc1_.createEmptyMovieClip("sprite",1);
  47.       _loc1_.sprite._y = _loc1_._parent.cellsize / 2;
  48.       _loc1_.playerStatus = "player_idle_1";
  49.       _loc1_.sprite.attachMovie(_loc1_.playerStatus,"sprite",1);
  50.       _loc1_.sprite._xscale = -100;
  51.       if(_loc2_.currLvl == 103)
  52.       {
  53.          _loc1_.walkSpeed = 12;
  54.          _loc1_.airMax = 12;
  55.          _loc1_.airAcc = 4;
  56.          _loc1_.dontmove = true;
  57.          _loc2_.attachMovie("CountDown","countdown",15);
  58.       }
  59.       _loc2_.jukebox.targetVol = _loc2_.musicVol;
  60.    }
  61.    function onEnterFrame()
  62.    {
  63.       var _loc1_ = this;
  64.       var _loc2_ = _global;
  65.       var _loc3_ = _root;
  66.       _loc3_.health = _loc1_.health;
  67.       if(_loc3_.currLvl == 103 && _loc3_.jukebox.music.position > 7520)
  68.       {
  69.          _loc1_.dontmove = false;
  70.       }
  71.       if(_loc3_.currLvl == 103 && (_loc1_._parent.worldTimer > 1750 || _loc1_._x > 14500))
  72.       {
  73.          _loc1_.dontmove = true;
  74.          _loc3_.endSuccess = false;
  75.          _loc3_.gotoAndPlay("cinematics");
  76.          ┬º┬ºpush(_loc1_.removeMovieClip());
  77.       }
  78.       if(_loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell].triggerPoint)
  79.       {
  80.          if(_loc1_.yCell == 35 && (_loc1_.xCell >= 28 && _loc1_.xCell <= 30))
  81.          {
  82.             _loc3_.jukebox.playTrack("asylum_1");
  83.          }
  84.          else if(_loc1_.yCell == 33 && (_loc1_.xCell >= 28 && _loc1_.xCell <= 30))
  85.          {
  86.             _loc3_.jukebox.playTrack("asylum_3");
  87.          }
  88.          else if((_loc1_.yCell == 2 || _loc1_.yCell == 3) && _loc1_.xCell == 30)
  89.          {
  90.             _loc3_.jukebox.playTrack("asylum_3");
  91.          }
  92.          else if((_loc1_.yCell == 2 || _loc1_.yCell == 3) && _loc1_.xCell == 32)
  93.          {
  94.             _loc3_.jukebox.playTrack("asylum_1");
  95.          }
  96.       }
  97.       if(_loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell].clip == undefined && _loc1_.blinking < 20)
  98.       {
  99.          if(_loc1_.gravType == 1)
  100.          {
  101.             if(_loc1_.xStep > 0)
  102.             {
  103.                _loc1_._x -= _loc1_._parent.cellsize;
  104.             }
  105.             else
  106.             {
  107.                _loc1_._x += _loc1_._parent.cellsize;
  108.             }
  109.          }
  110.          if(_loc1_.gravType == 2)
  111.          {
  112.             if(_loc1_.xStep > 0)
  113.             {
  114.                _loc1_._y -= _loc1_._parent.cellsize;
  115.             }
  116.             else
  117.             {
  118.                _loc1_._y += _loc1_._parent.cellsize;
  119.             }
  120.          }
  121.          if(_loc1_.gravType == 3)
  122.          {
  123.             if(_loc1_.xStep < 0)
  124.             {
  125.                _loc1_._x -= _loc1_._parent.cellsize;
  126.             }
  127.             else
  128.             {
  129.                _loc1_._x += _loc1_._parent.cellsize;
  130.             }
  131.          }
  132.          if(_loc1_.gravType == 4)
  133.          {
  134.             if(_loc1_.xStep < 0)
  135.             {
  136.                _loc1_._y -= _loc1_._parent.cellsize;
  137.             }
  138.             else
  139.             {
  140.                _loc1_._y += _loc1_._parent.cellsize;
  141.             }
  142.          }
  143.       }
  144.       if(_loc1_.yStep != 0)
  145.       {
  146.          _loc1_.onGround = false;
  147.       }
  148.       if(!_loc1_.hit)
  149.       {
  150.          if((_loc2_.ctrlStatus[_loc2_.ctrlUp] || _loc2_.ctrlStatus[_loc2_.ctrlUp2]) && _loc1_.onGround && !_loc1_.jumping)
  151.          {
  152.             _loc1_.yStep = - _loc1_.jumpHeight;
  153.             _loc1_.onGround = false;
  154.             _loc1_.jumping = true;
  155.             if(_loc1_.playerStatus != "player_jump_1")
  156.             {
  157.                _loc1_.playerStatus = "player_jump_1";
  158.                _loc1_.sprite.attachMovie(_loc1_.playerStatus,"sprite",1);
  159.             }
  160.          }
  161.          if(!_loc2_.ctrlStatus[_loc2_.ctrlUp] && !_loc2_.ctrlStatus[_loc2_.ctrlUp2] && _loc1_.jumping)
  162.          {
  163.             _loc1_.jumping = false;
  164.          }
  165.          if(_loc2_.ctrlStatus[_loc2_.ctrlDown] || _loc2_.ctrlStatus[_loc2_.ctrlDown2])
  166.          {
  167.          }
  168.          if(_loc2_.ctrlStatus[_loc2_.ctrlLeft] || _loc2_.ctrlStatus[_loc2_.ctrlLeft2])
  169.          {
  170.             if(_loc1_.onGround)
  171.             {
  172.                if(_loc3_.currLvl == 103)
  173.                {
  174.                   if(_loc1_.playerStatus != "player_running_2")
  175.                   {
  176.                      _loc1_.playerStatus = "player_running_2";
  177.                      _loc1_.sprite.attachMovie(_loc1_.playerStatus,"sprite",1);
  178.                   }
  179.                }
  180.                else if(_loc1_.playerStatus != "player_running_1")
  181.                {
  182.                   _loc1_.playerStatus = "player_running_1";
  183.                   _loc1_.sprite.attachMovie(_loc1_.playerStatus,"sprite",1);
  184.                }
  185.                _loc1_.sprite._xscale = 100;
  186.                _loc1_.xStep = - _loc1_.walkSpeed;
  187.             }
  188.             else
  189.             {
  190.                if(_loc1_.playerStatus != "player_fall_1" && _loc1_.yStep > 1)
  191.                {
  192.                   _loc1_.playerStatus = "player_fall_1";
  193.                   _loc1_.sprite.attachMovie(_loc1_.playerStatus,"sprite",1);
  194.                }
  195.                _loc1_.sprite._xscale = 100;
  196.                if(_loc1_.xStep > - _loc1_.airMax)
  197.                {
  198.                   _loc1_.xStep -= _loc1_.airAcc;
  199.                }
  200.             }
  201.          }
  202.          else if(_loc2_.ctrlStatus[_loc2_.ctrlRight] || _loc2_.ctrlStatus[_loc2_.ctrlRight2])
  203.          {
  204.             if(_loc1_.onGround)
  205.             {
  206.                if(_loc3_.currLvl == 103)
  207.                {
  208.                   if(_loc1_.playerStatus != "player_running_2")
  209.                   {
  210.                      _loc1_.playerStatus = "player_running_2";
  211.                      _loc1_.sprite.attachMovie(_loc1_.playerStatus,"sprite",1);
  212.                   }
  213.                }
  214.                else if(_loc1_.playerStatus != "player_running_1")
  215.                {
  216.                   _loc1_.playerStatus = "player_running_1";
  217.                   _loc1_.sprite.attachMovie(_loc1_.playerStatus,"sprite",1);
  218.                }
  219.                _loc1_.sprite._xscale = -100;
  220.                _loc1_.xStep = _loc1_.walkSpeed;
  221.             }
  222.             else
  223.             {
  224.                if(_loc1_.playerStatus != "player_fall_1" && _loc1_.yStep > 1)
  225.                {
  226.                   _loc1_.playerStatus = "player_fall_1";
  227.                   _loc1_.sprite.attachMovie(_loc1_.playerStatus,"sprite",1);
  228.                }
  229.                _loc1_.sprite._xscale = -100;
  230.                if(_loc1_.xStep < _loc1_.airMax)
  231.                {
  232.                   _loc1_.xStep += _loc1_.airAcc;
  233.                }
  234.             }
  235.          }
  236.          else
  237.          {
  238.             if(_loc1_.onGround)
  239.             {
  240.                _loc1_.xStep = 0;
  241.             }
  242.             else
  243.             {
  244.                _loc1_.xStep *= 0.95;
  245.             }
  246.             if(_loc1_.playerStatus != "player_idle_1" && _loc1_.onGround)
  247.             {
  248.                _loc1_.playerStatus = "player_idle_1";
  249.                _loc1_.sprite.attachMovie(_loc1_.playerStatus,"sprite",1);
  250.             }
  251.             else if(_loc1_.playerStatus != "player_fall_1" && _loc1_.yStep > 0)
  252.             {
  253.                _loc1_.playerStatus = "player_fall_1";
  254.                _loc1_.sprite.attachMovie(_loc1_.playerStatus,"sprite",1);
  255.             }
  256.          }
  257.       }
  258.       else
  259.       {
  260.          if(_loc1_.playerStatus != "player_hit_1")
  261.          {
  262.             _loc1_.playerStatus = "player_hit_1";
  263.             _loc1_.sprite.attachMovie(_loc1_.playerStatus,"sprite",1);
  264.          }
  265.          if(_loc1_.blinking <= 0)
  266.          {
  267.             _loc1_.blinking = 60;
  268.          }
  269.       }
  270.       if(_loc1_.blinking > 0)
  271.       {
  272.          if(_loc1_.blinking % 2 == 0)
  273.          {
  274.             _loc1_.sprite._alpha = 50;
  275.          }
  276.          else
  277.          {
  278.             _loc1_.sprite._alpha = 100;
  279.          }
  280.          _loc1_.blinking = _loc1_.blinking - 1;
  281.       }
  282.       if(_loc1_.dontmove)
  283.       {
  284.          _loc1_.xStep = 0;
  285.          _loc1_.yStep = 0;
  286.       }
  287.       if(_loc1_.yStep < _loc1_._parent.maxspeed)
  288.       {
  289.          _loc1_.yStep += _loc1_._parent.gravity;
  290.       }
  291.       if(_loc1_.shiftGrav != 0)
  292.       {
  293.          _loc1_.oldGrav = _loc1_.gravType;
  294.       }
  295.       if(_loc1_.oldGrav != _loc1_.gravType)
  296.       {
  297.          _loc1_.gravDelay = 15;
  298.          _loc1_.gravDiff = _loc1_.gravType - _loc1_.oldGrav;
  299.          if(_loc1_.gravDiff > 1)
  300.          {
  301.             _loc1_.gravDiff = -1;
  302.          }
  303.          else if(_loc1_.gravDiff < -1)
  304.          {
  305.             _loc1_.gravDiff = 1;
  306.          }
  307.       }
  308.       if(_loc1_.gravDelay > 2)
  309.       {
  310.          _loc1_.gravDelay *= 0.85;
  311.       }
  312.       else
  313.       {
  314.          _loc1_.gravDelay = 0;
  315.          _loc1_.gravDiff = 0;
  316.       }
  317.       if(_loc1_.gravDiff > 0)
  318.       {
  319.          if(_loc1_.gravDelay > 0)
  320.          {
  321.             var iDistort = _loc1_.gravDelay / 15;
  322.             var jDistort = (15 - _loc1_.gravDelay) / 15;
  323.             var currXstep = _loc1_.yStep * iDistort + _loc1_.xStep * jDistort;
  324.             var currYStep = _loc1_.xStep * iDistort + _loc1_.yStep * jDistort;
  325.          }
  326.       }
  327.       else if(_loc1_.gravDiff < 0)
  328.       {
  329.          if(_loc1_.gravDelay > 0)
  330.          {
  331.             var iDistort = _loc1_.gravDelay / 15;
  332.             var jDistort = (15 - _loc1_.gravDelay) / 15;
  333.             var currXstep = (- _loc1_.yStep) * iDistort + _loc1_.xStep * jDistort;
  334.             var currYStep = _loc1_.xStep * iDistort + _loc1_.yStep * jDistort;
  335.          }
  336.       }
  337.       else
  338.       {
  339.          var currXstep = _loc1_.xStep;
  340.          var currYstep = _loc1_.yStep;
  341.       }
  342.       _loc1_.oldGrav = _loc1_.gravType;
  343.       if(_loc1_.gravType == 1)
  344.       {
  345.          _loc1_.futureY = _loc1_._y + currYstep;
  346.          _loc1_.futureX = _loc1_._x + currXstep;
  347.          _loc1_.targetRot = 0;
  348.          _loc1_.pHeight = 48;
  349.          _loc1_.pWidth = 26;
  350.       }
  351.       else if(_loc1_.gravType == 2)
  352.       {
  353.          _loc1_.futureY = _loc1_._y + currXstep;
  354.          _loc1_.futureX = _loc1_._x - currYstep;
  355.          _loc1_.targetRot = 90;
  356.          _loc1_.pHeight = 26;
  357.          _loc1_.pWidth = 48;
  358.       }
  359.       else if(_loc1_.gravType == 3)
  360.       {
  361.          _loc1_.futureY = _loc1_._y - currYstep;
  362.          _loc1_.futureX = _loc1_._x - currXstep;
  363.          if(_loc1_._rotation <= -90)
  364.          {
  365.             _loc1_.targetRot = -180;
  366.          }
  367.          else
  368.          {
  369.             _loc1_.targetRot = 180;
  370.          }
  371.          _loc1_.pHeight = 48;
  372.          _loc1_.pWidth = 26;
  373.       }
  374.       else if(_loc1_.gravType == 4)
  375.       {
  376.          _loc1_.futureY = _loc1_._y - currXstep;
  377.          _loc1_.futureX = _loc1_._x + currYstep;
  378.          if(_loc1_._rotation >= 180)
  379.          {
  380.             _loc1_.targetRot = 270;
  381.          }
  382.          else
  383.          {
  384.             _loc1_.targetRot = -90;
  385.          }
  386.          _loc1_.pHeight = 26;
  387.          _loc1_.pWidth = 48;
  388.       }
  389.       if((_loc1_.targetRot - _loc1_._rotation) * (_loc1_.targetRot - _loc1_._rotation) > 5)
  390.       {
  391.          _loc1_._rotation += (_loc1_.targetRot - _loc1_._rotation) / 2;
  392.       }
  393.       else
  394.       {
  395.          _loc1_._rotation = _loc1_.targetRot;
  396.          if(_loc1_._rotation == -180)
  397.          {
  398.             _loc1_._rotation = 180;
  399.          }
  400.          if(_loc1_._rotation == 270)
  401.          {
  402.             _loc1_._rotation = -90;
  403.          }
  404.       }
  405.       _loc1_.xCell = Math.floor(_loc1_.futureX / _loc1_._parent.cellsize + 0.5);
  406.       _loc1_.yCell = Math.floor(_loc1_.futureY / _loc1_._parent.cellsize + 0.5);
  407.       if(_loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell].gravType != 0 && _loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell].gravType != undefined)
  408.       {
  409.          if(_loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell].gravType <= 4)
  410.          {
  411.             _loc1_.gravType = _loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell].gravType;
  412.             _loc1_.shiftGrav = 0;
  413.          }
  414.          else if(_loc1_.shiftGrav != _loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell].gravType - 4)
  415.          {
  416.             _loc1_.shiftGrav = _loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell].gravType - 4;
  417.             if(_loc1_.shiftGrav == _loc1_.gravType)
  418.             {
  419.                if(_loc1_.gravType < 4)
  420.                {
  421.                   _loc1_.gravType = _loc1_.gravType + 1;
  422.                }
  423.                else
  424.                {
  425.                   _loc1_.gravType = 1;
  426.                }
  427.             }
  428.             else if(_loc1_.gravType > 1)
  429.             {
  430.                _loc1_.gravType = _loc1_.gravType - 1;
  431.             }
  432.             else
  433.             {
  434.                _loc1_.gravType = 4;
  435.             }
  436.          }
  437.       }
  438.       _loc1_.rawHitTest();
  439.       _loc1_._y = _loc1_.futureY;
  440.       _loc1_._x = _loc1_.futureX;
  441.       _loc1_.xCell = Math.floor(_loc1_._x / _loc1_._parent.cellsize + 0.5);
  442.       _loc1_.yCell = Math.floor(_loc1_._y / _loc1_._parent.cellsize + 0.5);
  443.       if(_loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell].kill)
  444.       {
  445.          _loc1_.health -= 500;
  446.          if(_loc1_.health < 0)
  447.          {
  448.             _loc1_.health = 0;
  449.          }
  450.       }
  451.       if(_loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell].checkpoint)
  452.       {
  453.          _loc1_._parent.spawnPoints[0][0] = _loc1_.xCell + ":" + _loc1_.yCell;
  454.       }
  455.       if(_loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell].exit)
  456.       {
  457.          _loc3_.health = _loc1_.health;
  458.          _loc3_.gotoAndPlay("cinematics");
  459.          ┬º┬ºpush(_loc1_.removeMovieClip());
  460.       }
  461.       if(_loc1_.health <= 0 && _loc1_._parent.reSpawnCounter == 0)
  462.       {
  463.          _loc1_._parent.camFollow = false;
  464.          _loc3_.jukebox.targetVol = 0;
  465.          if(!_loc1_.hit)
  466.          {
  467.             _loc1_._parent.reSpawnCounter = 30;
  468.          }
  469.          else
  470.          {
  471.             _loc1_._parent.reSpawnCounter = 60;
  472.          }
  473.       }
  474.       if(_loc1_._parent.reSpawnCounter == 15)
  475.       {
  476.          _loc3_.lifes = _loc3_.lifes - 1;
  477.          if(_loc3_.lifes < 0)
  478.          {
  479.             _loc3_.gotoAndPlay("cinematics");
  480.          }
  481.          ┬º┬ºpush(_loc1_.removeMovieClip());
  482.       }
  483.    }
  484.    function rawHitTest()
  485.    {
  486.       var _loc1_ = this;
  487.       var _loc3_ = -1;
  488.       while(_loc3_ <= 1)
  489.       {
  490.          var _loc2_ = -1;
  491.          while(_loc2_ <= 1)
  492.          {
  493.             if(_loc1_.xCell != 0 && _loc1_.yCell != 0)
  494.             {
  495.                _loc1_.detailHitTest(_loc1_.xCell + _loc3_,_loc1_.yCell + _loc2_);
  496.             }
  497.             else if(_loc1_.xCell == 0 && _loc1_.yCell != 0 && _loc3_ >= 0)
  498.             {
  499.                _loc1_.detailHitTest(_loc1_.xCell + _loc3_,_loc1_.yCell + _loc2_);
  500.             }
  501.             else if(_loc1_.xCell != 0 && _loc1_.yCell == 0 && _loc2_ >= 0)
  502.             {
  503.                _loc1_.detailHitTest(_loc1_.xCell + _loc3_,_loc1_.yCell + _loc2_);
  504.             }
  505.             else if(_loc3_ >= 0 && _loc2_ >= 0)
  506.             {
  507.                _loc1_.detailHitTest(_loc1_.xCell + _loc3_,_loc1_.yCell + _loc2_);
  508.             }
  509.             _loc2_ = _loc2_ + 1;
  510.          }
  511.          _loc3_ = _loc3_ + 1;
  512.       }
  513.    }
  514.    function detailHitTest(tmpX, tmpY)
  515.    {
  516.       var _loc1_ = this;
  517.       var _loc2_ = tmpX;
  518.       var _loc3_ = tmpY;
  519.       _loc2_;
  520.       _loc3_;
  521.       var tile = _loc1_._parent.cells[_loc2_][_loc3_].tile;
  522.       if(tile >= 1 && tile <= 5)
  523.       {
  524.          var left = _loc1_.futureX - _loc1_.pWidth / 2;
  525.          var right = _loc1_.futureX + _loc1_.pWidth / 2;
  526.          var top = _loc1_.futureY - _loc1_.pHeight / 2;
  527.          var bottom = _loc1_.futureY + _loc1_.pHeight / 2;
  528.          if(tile == 1)
  529.          {
  530.             var cLeft = _loc1_._parent.cells[_loc2_][_loc3_].clip._x - _loc1_._parent.cellsize / 2;
  531.             var cRight = _loc1_._parent.cells[_loc2_][_loc3_].clip._x + _loc1_._parent.cellsize / 2;
  532.             var cTop = _loc1_._parent.cells[_loc2_][_loc3_].clip._y - _loc1_._parent.cellsize / 2;
  533.             var cBottom = _loc1_._parent.cells[_loc2_][_loc3_].clip._y + _loc1_._parent.cellsize / 2;
  534.          }
  535.          else if(tile == 2)
  536.          {
  537.             var cLeft = _loc1_._parent.cells[_loc2_][_loc3_].clip._x - _loc1_._parent.cellsize / 2;
  538.             var cRight = _loc1_._parent.cells[_loc2_][_loc3_].clip._x + _loc1_._parent.cellsize / 2;
  539.             var cTop = _loc1_._parent.cells[_loc2_][_loc3_].clip._y - _loc1_._parent.cellsize / 2;
  540.             var cBottom = _loc1_._parent.cells[_loc2_][_loc3_].clip._y;
  541.          }
  542.          else if(tile == 3)
  543.          {
  544.             var cLeft = _loc1_._parent.cells[_loc2_][_loc3_].clip._x;
  545.             var cRight = _loc1_._parent.cells[_loc2_][_loc3_].clip._x + _loc1_._parent.cellsize / 2;
  546.             var cTop = _loc1_._parent.cells[_loc2_][_loc3_].clip._y - _loc1_._parent.cellsize / 2;
  547.             var cBottom = _loc1_._parent.cells[_loc2_][_loc3_].clip._y + _loc1_._parent.cellsize / 2;
  548.          }
  549.          else if(tile == 4)
  550.          {
  551.             var cLeft = _loc1_._parent.cells[_loc2_][_loc3_].clip._x - _loc1_._parent.cellsize / 2;
  552.             var cRight = _loc1_._parent.cells[_loc2_][_loc3_].clip._x + _loc1_._parent.cellsize / 2;
  553.             var cTop = _loc1_._parent.cells[_loc2_][_loc3_].clip._y;
  554.             var cBottom = _loc1_._parent.cells[_loc2_][_loc3_].clip._y + _loc1_._parent.cellsize / 2;
  555.          }
  556.          else if(tile == 5)
  557.          {
  558.             var cLeft = _loc1_._parent.cells[_loc2_][_loc3_].clip._x - _loc1_._parent.cellsize / 2;
  559.             var cRight = _loc1_._parent.cells[_loc2_][_loc3_].clip._x;
  560.             var cTop = _loc1_._parent.cells[_loc2_][_loc3_].clip._y - _loc1_._parent.cellsize / 2;
  561.             var cBottom = _loc1_._parent.cells[_loc2_][_loc3_].clip._y + _loc1_._parent.cellsize / 2;
  562.          }
  563.          if(bottom > cTop && top < cBottom && left < cRight && right > cLeft)
  564.          {
  565.             var projUp = cTop - _loc1_.pHeight / 2 - _loc1_.futureY;
  566.             var projDown = cBottom + _loc1_.pHeight / 2 - _loc1_.futureY;
  567.             var projLeft = cLeft - _loc1_.pWidth / 2 - _loc1_.futureX;
  568.             var projRight = cRight + _loc1_.pWidth / 2 - _loc1_.futureX;
  569.             if(Math.sqrt(projUp * projUp) < Math.sqrt(projDown * projDown))
  570.             {
  571.                var projY = projUp;
  572.             }
  573.             else
  574.             {
  575.                var projY = projDown;
  576.             }
  577.             if(Math.sqrt(projLeft * projLeft) < Math.sqrt(projRight * projRight))
  578.             {
  579.                var projX = projLeft;
  580.             }
  581.             else
  582.             {
  583.                var projX = projRight;
  584.             }
  585.             if(Math.sqrt(projX * projX) < Math.sqrt(projY * projY))
  586.             {
  587.                if(_loc1_.gravType == 1 || _loc1_.gravType == 3)
  588.                {
  589.                   _loc1_.xStep = 0;
  590.                }
  591.                else if(_loc1_.gravType == 2 || _loc1_.gravType == 4)
  592.                {
  593.                   _loc1_.yStep = 0;
  594.                }
  595.                _loc1_.futureX += projX;
  596.                if(projX == projRight && _loc1_.gravType == 2)
  597.                {
  598.                   if(!_loc1_.onGround)
  599.                   {
  600.                      _loc1_.onGround = true;
  601.                   }
  602.                }
  603.                else if(projX == projLeft && _loc1_.gravType == 4)
  604.                {
  605.                   if(!_loc1_.onGround)
  606.                   {
  607.                      _loc1_.onGround = true;
  608.                   }
  609.                }
  610.             }
  611.             else
  612.             {
  613.                if(_loc1_.gravType == 1 || _loc1_.gravType == 3)
  614.                {
  615.                   _loc1_.yStep = 0;
  616.                }
  617.                else if(_loc1_.gravType == 2 || _loc1_.gravType == 4)
  618.                {
  619.                   _loc1_.xStep = 0;
  620.                }
  621.                _loc1_.futureY += projY;
  622.                if(projY == projUp && _loc1_.gravType == 1)
  623.                {
  624.                   if(!_loc1_.onGround)
  625.                   {
  626.                      _loc1_.onGround = true;
  627.                   }
  628.                }
  629.                else if(projY == projDown && _loc1_.gravType == 3)
  630.                {
  631.                   if(!_loc1_.onGround)
  632.                   {
  633.                      _loc1_.onGround = true;
  634.                   }
  635.                }
  636.             }
  637.          }
  638.       }
  639.    }
  640. }
  641.