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

  1. class Enemy1 extends MovieClip
  2. {
  3.    var walkSpeed = 5;
  4.    var xStep = 0;
  5.    var yStep = 0;
  6.    var gravType = 1;
  7.    var onGround = false;
  8.    var targetRot = 0;
  9.    var walking = true;
  10.    function Enemy1()
  11.    {
  12.       super();
  13.    }
  14.    function onLoad()
  15.    {
  16.       var _loc1_ = this;
  17.       var _loc3_ = _loc1_._name.split("_");
  18.       _loc1_.id = Number(_loc3_[1]);
  19.       var _loc2_ = _loc1_._parent.spawnPoints[1][_loc1_.id].split(":");
  20.       _loc1_._x = _loc2_[0] * _loc1_._parent.cellsize;
  21.       _loc1_._y = _loc2_[1] * _loc1_._parent.cellsize;
  22.       _loc1_._parent.cells[_loc2_[0]][_loc2_[1]].spawn = undefined;
  23.       _loc1_.onGround = false;
  24.       if(_loc1_._parent.cells[_loc2_[0]][_loc2_[1]].gravType > 0)
  25.       {
  26.          _loc1_.gravType = _loc1_._parent.cells[_loc2_[0]][_loc2_[1]].gravType;
  27.          _loc1_._rotation = 90 * (_loc1_.gravType - 1);
  28.       }
  29.       else
  30.       {
  31.          _loc1_.gravType = 1;
  32.       }
  33.       _loc1_.createEmptyMovieClip("sprite",1);
  34.       _loc1_.sprite._y = _loc1_._parent.cellsize / 2;
  35.       _loc1_.enemyStatus = "enemy1_running_1";
  36.       _loc1_.sprite.attachMovie(_loc1_.enemyStatus,"sprite",1);
  37.       _loc1_.sprite._xscale = -100;
  38.    }
  39.    function onEnterFrame()
  40.    {
  41.       var _loc1_ = this;
  42.       if(_loc1_.yStep != 0)
  43.       {
  44.          _loc1_.onGround = false;
  45.       }
  46.       _loc1_.xCell = Math.floor(_loc1_._x / _loc1_._parent.cellsize + 0.5);
  47.       _loc1_.yCell = Math.floor(_loc1_._y / _loc1_._parent.cellsize + 0.5);
  48.       if(_loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell].clip == undefined)
  49.       {
  50.          if(_loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell].tile == 2)
  51.          {
  52.             _loc1_.yCell = _loc1_.yCell + 1;
  53.          }
  54.          else if(_loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell].tile == 3)
  55.          {
  56.             _loc1_.xCell = _loc1_.xCell - 1;
  57.          }
  58.          else if(_loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell].tile == 4)
  59.          {
  60.             _loc1_.yCell = _loc1_.yCell - 1;
  61.          }
  62.          else if(_loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell].tile == 5)
  63.          {
  64.             _loc1_.xCell = _loc1_.xCell + 1;
  65.          }
  66.          _loc1_._parent.spawnPoints[1][_loc1_.id] = _loc1_.xCell + ":" + _loc1_.yCell;
  67.          _loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell].spawn = 1;
  68.          _loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell].spawnId = _loc1_.id;
  69.          ┬º┬ºpush(_loc1_.removeMovieClip());
  70.       }
  71.       if(_loc1_.walking)
  72.       {
  73.          if(_loc1_.gravType == 1)
  74.          {
  75.             if(_loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell].tile != 4)
  76.             {
  77.                if(_loc1_.xStep >= 0 && _loc1_._parent.cells[_loc1_.xCell + 1][_loc1_.yCell + 1].edges[0] == 1 && _loc1_._parent.cells[_loc1_.xCell + 1][_loc1_.yCell].edges[3] == 0 && _loc1_._parent.cells[_loc1_.xCell + 1][_loc1_.yCell + 1].edges[3] == 0)
  78.                {
  79.                   _loc1_.xStep = _loc1_.walkSpeed;
  80.                   _loc1_.sprite._xscale = -100;
  81.                }
  82.                else if(_loc1_.xStep <= 0 && _loc1_._parent.cells[_loc1_.xCell - 1][_loc1_.yCell + 1].edges[0] == 1 && _loc1_._parent.cells[_loc1_.xCell - 1][_loc1_.yCell].edges[1] == 0 && _loc1_._parent.cells[_loc1_.xCell - 1][_loc1_.yCell + 1].edges[1] == 0)
  83.                {
  84.                   _loc1_.xStep = - _loc1_.walkSpeed;
  85.                   _loc1_.sprite._xscale = 100;
  86.                }
  87.                else if(_loc1_.onGround)
  88.                {
  89.                   _loc1_.xStep = - _loc1_.xStep;
  90.                   _loc1_.sprite._xscale = - _loc1_.sprite._xscale;
  91.                }
  92.                else
  93.                {
  94.                   _loc1_.xStep = 0;
  95.                }
  96.             }
  97.             else if(_loc1_.xStep >= 0 && _loc1_._parent.cells[_loc1_.xCell + 1][_loc1_.yCell].edges[0] == 1 && _loc1_._parent.cells[_loc1_.xCell + 1][_loc1_.yCell - 1].edges[3] == 0 && _loc1_._parent.cells[_loc1_.xCell + 1][_loc1_.yCell].edges[3] == 0)
  98.             {
  99.                _loc1_.xStep = _loc1_.walkSpeed;
  100.                _loc1_.sprite._xscale = -100;
  101.             }
  102.             else if(_loc1_.xStep <= 0 && _loc1_._parent.cells[_loc1_.xCell - 1][_loc1_.yCell].edges[0] == 1 && _loc1_._parent.cells[_loc1_.xCell - 1][_loc1_.yCell - 1].edges[1] == 0 && _loc1_._parent.cells[_loc1_.xCell - 1][_loc1_.yCell].edges[1] == 0)
  103.             {
  104.                _loc1_.xStep = - _loc1_.walkSpeed;
  105.                _loc1_.sprite._xscale = 100;
  106.             }
  107.             else if(_loc1_.onGround)
  108.             {
  109.                _loc1_.xStep = - _loc1_.xStep;
  110.                _loc1_.sprite._xscale = - _loc1_.sprite._xscale;
  111.             }
  112.             else
  113.             {
  114.                _loc1_.xStep = 0;
  115.             }
  116.             if(_loc1_._parent.cells[_loc1_.xCell + 1][_loc1_.yCell].clip == undefined || _loc1_._parent.cells[_loc1_.xCell - 1][_loc1_.yCell].clip == undefined)
  117.             {
  118.                _loc1_.xStep = 0;
  119.             }
  120.          }
  121.          else if(_loc1_.gravType == 2)
  122.          {
  123.             if(_loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell].tile != 5)
  124.             {
  125.                if(_loc1_.xStep >= 0 && _loc1_._parent.cells[_loc1_.xCell - 1][_loc1_.yCell + 1].edges[1] == 1 && _loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell + 1].edges[0] == 0 && _loc1_._parent.cells[_loc1_.xCell - 1][_loc1_.yCell + 1].edges[0] == 0)
  126.                {
  127.                   _loc1_.xStep = _loc1_.walkSpeed;
  128.                   _loc1_.sprite._xscale = -100;
  129.                }
  130.                else if(_loc1_.xStep <= 0 && _loc1_._parent.cells[_loc1_.xCell - 1][_loc1_.yCell - 1].edges[1] == 1 && _loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell - 1].edges[2] == 0 && _loc1_._parent.cells[_loc1_.xCell - 1][_loc1_.yCell - 1].edges[2] == 0)
  131.                {
  132.                   _loc1_.xStep = - _loc1_.walkSpeed;
  133.                   _loc1_.sprite._xscale = 100;
  134.                }
  135.                else if(_loc1_.onGround)
  136.                {
  137.                   _loc1_.xStep = - _loc1_.xStep;
  138.                   _loc1_.sprite._xscale = - _loc1_.sprite._xscale;
  139.                }
  140.                else
  141.                {
  142.                   _loc1_.xStep = 0;
  143.                }
  144.             }
  145.             else if(_loc1_.xStep >= 0 && _loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell + 1].edges[1] == 1 && _loc1_._parent.cells[_loc1_.xCell - 1][_loc1_.yCell + 1].edges[0] == 0 && _loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell + 1].edges[0] == 0)
  146.             {
  147.                _loc1_.xStep = _loc1_.walkSpeed;
  148.                _loc1_.sprite._xscale = -100;
  149.             }
  150.             else if(_loc1_.xStep <= 0 && _loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell - 1].edges[1] == 1 && _loc1_._parent.cells[_loc1_.xCell - 1][_loc1_.yCell - 1].edges[2] == 0 && _loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell - 1].edges[2] == 0)
  151.             {
  152.                _loc1_.xStep = - _loc1_.walkSpeed;
  153.                _loc1_.sprite._xscale = 100;
  154.             }
  155.             else if(_loc1_.onGround)
  156.             {
  157.                _loc1_.xStep = - _loc1_.xStep;
  158.                _loc1_.sprite._xscale = - _loc1_.sprite._xscale;
  159.             }
  160.             else
  161.             {
  162.                _loc1_.xStep = 0;
  163.             }
  164.             if(_loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell + 1].clip == undefined || _loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell - 1].clip == undefined)
  165.             {
  166.                _loc1_.xStep = 0;
  167.             }
  168.          }
  169.          else if(_loc1_.gravType == 3)
  170.          {
  171.             if(_loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell].tile != 2)
  172.             {
  173.                if(_loc1_.xStep >= 0 && _loc1_._parent.cells[_loc1_.xCell - 1][_loc1_.yCell - 1].edges[2] == 1 && _loc1_._parent.cells[_loc1_.xCell - 1][_loc1_.yCell].edges[1] == 0 && _loc1_._parent.cells[_loc1_.xCell - 1][_loc1_.yCell - 1].edges[1] == 0)
  174.                {
  175.                   _loc1_.xStep = _loc1_.walkSpeed;
  176.                   _loc1_.sprite._xscale = -100;
  177.                }
  178.                else if(_loc1_.xStep <= 0 && _loc1_._parent.cells[_loc1_.xCell + 1][_loc1_.yCell - 1].edges[2] == 1 && _loc1_._parent.cells[_loc1_.xCell + 1][_loc1_.yCell].edges[3] == 0 && _loc1_._parent.cells[_loc1_.xCell + 1][_loc1_.yCell - 1].edges[3] == 0)
  179.                {
  180.                   _loc1_.xStep = - _loc1_.walkSpeed;
  181.                   _loc1_.sprite._xscale = 100;
  182.                }
  183.                else if(_loc1_.onGround)
  184.                {
  185.                   _loc1_.xStep = - _loc1_.xStep;
  186.                   _loc1_.sprite._xscale = - _loc1_.sprite._xscale;
  187.                }
  188.                else
  189.                {
  190.                   _loc1_.xStep = 0;
  191.                }
  192.             }
  193.             else if(_loc1_.xStep >= 0 && _loc1_._parent.cells[_loc1_.xCell - 1][_loc1_.yCell].edges[2] == 1 && _loc1_._parent.cells[_loc1_.xCell - 1][_loc1_.yCell + 1].edges[1] == 0 && _loc1_._parent.cells[_loc1_.xCell - 1][_loc1_.yCell].edges[1] == 0)
  194.             {
  195.                _loc1_.xStep = _loc1_.walkSpeed;
  196.                _loc1_.sprite._xscale = -100;
  197.             }
  198.             else if(_loc1_.xStep <= 0 && _loc1_._parent.cells[_loc1_.xCell + 1][_loc1_.yCell].edges[2] == 1 && _loc1_._parent.cells[_loc1_.xCell + 1][_loc1_.yCell + 1].edges[3] == 0 && _loc1_._parent.cells[_loc1_.xCell + 1][_loc1_.yCell].edges[3] == 0)
  199.             {
  200.                _loc1_.xStep = - _loc1_.walkSpeed;
  201.                _loc1_.sprite._xscale = 100;
  202.             }
  203.             else if(_loc1_.onGround)
  204.             {
  205.                _loc1_.xStep = - _loc1_.xStep;
  206.                _loc1_.sprite._xscale = - _loc1_.sprite._xscale;
  207.             }
  208.             else
  209.             {
  210.                _loc1_.xStep = 0;
  211.             }
  212.             if(_loc1_._parent.cells[_loc1_.xCell + 1][_loc1_.yCell].clip == undefined || _loc1_._parent.cells[_loc1_.xCell - 1][_loc1_.yCell].clip == undefined)
  213.             {
  214.                _loc1_.xStep = 0;
  215.             }
  216.          }
  217.          else if(_loc1_.gravType == 4)
  218.          {
  219.             if(_loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell].tile != 3)
  220.             {
  221.                if(_loc1_.xStep >= 0 && _loc1_._parent.cells[_loc1_.xCell + 1][_loc1_.yCell - 1].edges[3] == 1 && _loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell - 1].edges[2] == 0 && _loc1_._parent.cells[_loc1_.xCell + 1][_loc1_.yCell - 1].edges[2] == 0)
  222.                {
  223.                   _loc1_.xStep = _loc1_.walkSpeed;
  224.                   _loc1_.sprite._xscale = -100;
  225.                }
  226.                else if(_loc1_.xStep <= 0 && _loc1_._parent.cells[_loc1_.xCell + 1][_loc1_.yCell + 1].edges[3] == 1 && _loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell + 1].edges[0] == 0 && _loc1_._parent.cells[_loc1_.xCell + 1][_loc1_.yCell + 1].edges[0] == 0)
  227.                {
  228.                   _loc1_.xStep = - _loc1_.walkSpeed;
  229.                   _loc1_.sprite._xscale = 100;
  230.                }
  231.                else if(_loc1_.onGround)
  232.                {
  233.                   _loc1_.xStep = - _loc1_.xStep;
  234.                   _loc1_.sprite._xscale = - _loc1_.sprite._xscale;
  235.                }
  236.                else
  237.                {
  238.                   _loc1_.xStep = 0;
  239.                }
  240.             }
  241.             else if(_loc1_.xStep >= 0 && _loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell - 1].edges[3] == 1 && _loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell - 1].edges[2] == 0 && _loc1_._parent.cells[_loc1_.xCell + 1][_loc1_.yCell - 1].edges[2] == 0)
  242.             {
  243.                _loc1_.xStep = _loc1_.walkSpeed;
  244.                _loc1_.sprite._xscale = -100;
  245.             }
  246.             else if(_loc1_.xStep <= 0 && _loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell + 1].edges[3] == 1 && _loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell + 1].edges[0] == 0 && _loc1_._parent.cells[_loc1_.xCell + 1][_loc1_.yCell + 1].edges[0] == 0)
  247.             {
  248.                _loc1_.xStep = - _loc1_.walkSpeed;
  249.                _loc1_.sprite._xscale = 100;
  250.             }
  251.             else if(_loc1_.onGround)
  252.             {
  253.                _loc1_.xStep = - _loc1_.xStep;
  254.                _loc1_.sprite._xscale = - _loc1_.sprite._xscale;
  255.             }
  256.             else
  257.             {
  258.                _loc1_.xStep = 0;
  259.             }
  260.             if(_loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell + 1].clip == undefined || _loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell - 1].clip == undefined)
  261.             {
  262.                _loc1_.xStep = 0;
  263.             }
  264.          }
  265.       }
  266.       if(_loc1_._parent.gravity < _loc1_._parent.maxspeed)
  267.       {
  268.          _loc1_.yStep += _loc1_._parent.gravity;
  269.       }
  270.       if(_loc1_.gravType == 1)
  271.       {
  272.          _loc1_.futureY = _loc1_._y + _loc1_.yStep;
  273.          _loc1_.futureX = _loc1_._x + _loc1_.xStep;
  274.          _loc1_.targetRot = 0;
  275.       }
  276.       else if(_loc1_.gravType == 2)
  277.       {
  278.          _loc1_.futureY = _loc1_._y + _loc1_.xStep;
  279.          _loc1_.futureX = _loc1_._x - _loc1_.yStep;
  280.          _loc1_.targetRot = 90;
  281.       }
  282.       else if(_loc1_.gravType == 3)
  283.       {
  284.          _loc1_.futureY = _loc1_._y - _loc1_.yStep;
  285.          _loc1_.futureX = _loc1_._x - _loc1_.xStep;
  286.          if(_loc1_._rotation <= -90)
  287.          {
  288.             _loc1_.targetRot = -180;
  289.          }
  290.          else
  291.          {
  292.             _loc1_.targetRot = 180;
  293.          }
  294.       }
  295.       else if(_loc1_.gravType == 4)
  296.       {
  297.          _loc1_.futureY = _loc1_._y - _loc1_.xStep;
  298.          _loc1_.futureX = _loc1_._x + _loc1_.yStep;
  299.          if(_loc1_._rotation >= 180)
  300.          {
  301.             _loc1_.targetRot = 270;
  302.          }
  303.          else
  304.          {
  305.             _loc1_.targetRot = -90;
  306.          }
  307.       }
  308.       if((_loc1_.targetRot - _loc1_._rotation) * (_loc1_.targetRot - _loc1_._rotation) > 5)
  309.       {
  310.          _loc1_._rotation += (_loc1_.targetRot - _loc1_._rotation) / 2;
  311.       }
  312.       else
  313.       {
  314.          _loc1_._rotation = _loc1_.targetRot;
  315.          if(_loc1_._rotation == -180)
  316.          {
  317.             _loc1_._rotation = 180;
  318.          }
  319.          if(_loc1_._rotation == 270)
  320.          {
  321.             _loc1_._rotation = -90;
  322.          }
  323.       }
  324.       _loc1_.xCell = Math.floor(_loc1_.futureX / _loc1_._parent.cellsize + 0.5);
  325.       _loc1_.yCell = Math.floor(_loc1_.futureY / _loc1_._parent.cellsize + 0.5);
  326.       if(_loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell].gravType != 0 && _loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell].gravType != undefined)
  327.       {
  328.          if(_loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell].gravType <= 4)
  329.          {
  330.             _loc1_.gravType = _loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell].gravType;
  331.             _loc1_.shiftGrav = 0;
  332.          }
  333.          else if(_loc1_.shiftGrav != _loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell].gravType - 4)
  334.          {
  335.             _loc1_.shiftGrav = _loc1_._parent.cells[_loc1_.xCell][_loc1_.yCell].gravType - 4;
  336.             if(_loc1_.shiftGrav == _loc1_.gravType)
  337.             {
  338.                if(_loc1_.gravType < 4)
  339.                {
  340.                   _loc1_.gravType = _loc1_.gravType + 1;
  341.                }
  342.                else
  343.                {
  344.                   _loc1_.gravType = 1;
  345.                }
  346.             }
  347.             else if(_loc1_.gravType > 1)
  348.             {
  349.                _loc1_.gravType = _loc1_.gravType - 1;
  350.             }
  351.             else
  352.             {
  353.                _loc1_.gravType = 4;
  354.             }
  355.          }
  356.       }
  357.       _loc1_.rawHitTest();
  358.       _loc1_._y = _loc1_.futureY;
  359.       _loc1_._x = _loc1_.futureX;
  360.    }
  361.    function rawHitTest()
  362.    {
  363.       var _loc1_ = this;
  364.       var _loc3_ = -1;
  365.       while(_loc3_ <= 1)
  366.       {
  367.          var _loc2_ = -1;
  368.          while(_loc2_ <= 1)
  369.          {
  370.             if(_loc1_.xCell != 0 && _loc1_.yCell != 0)
  371.             {
  372.                _loc1_.detailHitTest(_loc1_.xCell + _loc3_,_loc1_.yCell + _loc2_);
  373.             }
  374.             else if(_loc1_.xCell == 0 && _loc1_.yCell != 0 && _loc3_ >= 0)
  375.             {
  376.                _loc1_.detailHitTest(_loc1_.xCell + _loc3_,_loc1_.yCell + _loc2_);
  377.             }
  378.             else if(_loc1_.xCell != 0 && _loc1_.yCell == 0 && _loc2_ >= 0)
  379.             {
  380.                _loc1_.detailHitTest(_loc1_.xCell + _loc3_,_loc1_.yCell + _loc2_);
  381.             }
  382.             else if(_loc3_ >= 0 && _loc2_ >= 0)
  383.             {
  384.                _loc1_.detailHitTest(_loc1_.xCell + _loc3_,_loc1_.yCell + _loc2_);
  385.             }
  386.             _loc2_ = _loc2_ + 1;
  387.          }
  388.          _loc3_ = _loc3_ + 1;
  389.       }
  390.    }
  391.    function detailHitTest(tmpX, tmpY)
  392.    {
  393.       var _loc1_ = this;
  394.       var _loc2_ = tmpX;
  395.       var _loc3_ = tmpY;
  396.       _loc2_;
  397.       _loc3_;
  398.       var tile = _loc1_._parent.cells[_loc2_][_loc3_].tile;
  399.       if(tile >= 1 && tile <= 5)
  400.       {
  401.          var left = _loc1_.futureX - _loc1_._width / 2;
  402.          var right = _loc1_.futureX + _loc1_._width / 2;
  403.          var top = _loc1_.futureY - _loc1_._height / 2;
  404.          var bottom = _loc1_.futureY + _loc1_._height / 2;
  405.          if(tile == 1)
  406.          {
  407.             var cLeft = _loc1_._parent.cells[_loc2_][_loc3_].clip._x - _loc1_._parent.cellsize / 2;
  408.             var cRight = _loc1_._parent.cells[_loc2_][_loc3_].clip._x + _loc1_._parent.cellsize / 2;
  409.             var cTop = _loc1_._parent.cells[_loc2_][_loc3_].clip._y - _loc1_._parent.cellsize / 2;
  410.             var cBottom = _loc1_._parent.cells[_loc2_][_loc3_].clip._y + _loc1_._parent.cellsize / 2;
  411.          }
  412.          else if(tile == 2)
  413.          {
  414.             var cLeft = _loc1_._parent.cells[_loc2_][_loc3_].clip._x - _loc1_._parent.cellsize / 2;
  415.             var cRight = _loc1_._parent.cells[_loc2_][_loc3_].clip._x + _loc1_._parent.cellsize / 2;
  416.             var cTop = _loc1_._parent.cells[_loc2_][_loc3_].clip._y - _loc1_._parent.cellsize / 2;
  417.             var cBottom = _loc1_._parent.cells[_loc2_][_loc3_].clip._y;
  418.          }
  419.          else if(tile == 3)
  420.          {
  421.             var cLeft = _loc1_._parent.cells[_loc2_][_loc3_].clip._x;
  422.             var cRight = _loc1_._parent.cells[_loc2_][_loc3_].clip._x + _loc1_._parent.cellsize / 2;
  423.             var cTop = _loc1_._parent.cells[_loc2_][_loc3_].clip._y - _loc1_._parent.cellsize / 2;
  424.             var cBottom = _loc1_._parent.cells[_loc2_][_loc3_].clip._y + _loc1_._parent.cellsize / 2;
  425.          }
  426.          else if(tile == 4)
  427.          {
  428.             var cLeft = _loc1_._parent.cells[_loc2_][_loc3_].clip._x - _loc1_._parent.cellsize / 2;
  429.             var cRight = _loc1_._parent.cells[_loc2_][_loc3_].clip._x + _loc1_._parent.cellsize / 2;
  430.             var cTop = _loc1_._parent.cells[_loc2_][_loc3_].clip._y;
  431.             var cBottom = _loc1_._parent.cells[_loc2_][_loc3_].clip._y + _loc1_._parent.cellsize / 2;
  432.          }
  433.          else if(tile == 5)
  434.          {
  435.             var cLeft = _loc1_._parent.cells[_loc2_][_loc3_].clip._x - _loc1_._parent.cellsize / 2;
  436.             var cRight = _loc1_._parent.cells[_loc2_][_loc3_].clip._x;
  437.             var cTop = _loc1_._parent.cells[_loc2_][_loc3_].clip._y - _loc1_._parent.cellsize / 2;
  438.             var cBottom = _loc1_._parent.cells[_loc2_][_loc3_].clip._y + _loc1_._parent.cellsize / 2;
  439.          }
  440.          if(bottom > cTop && top < cBottom && left < cRight && right > cLeft)
  441.          {
  442.             var projUp = cTop - _loc1_._height / 2 - _loc1_.futureY;
  443.             var projDown = cBottom + _loc1_._height / 2 - _loc1_.futureY;
  444.             var projLeft = cLeft - _loc1_._width / 2 - _loc1_.futureX;
  445.             var projRight = cRight + _loc1_._width / 2 - _loc1_.futureX;
  446.             if(Math.sqrt(projUp * projUp) < Math.sqrt(projDown * projDown))
  447.             {
  448.                var projY = projUp;
  449.             }
  450.             else
  451.             {
  452.                var projY = projDown;
  453.             }
  454.             if(Math.sqrt(projLeft * projLeft) < Math.sqrt(projRight * projRight))
  455.             {
  456.                var projX = projLeft;
  457.             }
  458.             else
  459.             {
  460.                var projX = projRight;
  461.             }
  462.             if(Math.sqrt(projX * projX) < Math.sqrt(projY * projY))
  463.             {
  464.                if(_loc1_.gravType == 1 || _loc1_.gravType == 3)
  465.                {
  466.                   _loc1_.xStep = 0;
  467.                }
  468.                else if(_loc1_.gravType == 2 || _loc1_.gravType == 4)
  469.                {
  470.                   _loc1_.yStep = 0;
  471.                }
  472.                _loc1_.futureX += projX;
  473.                if(projX == projRight && _loc1_.gravType == 2)
  474.                {
  475.                   if(!_loc1_.onGround)
  476.                   {
  477.                      _loc1_.onGround = true;
  478.                   }
  479.                }
  480.                else if(projX == projLeft && _loc1_.gravType == 4)
  481.                {
  482.                   if(!_loc1_.onGround)
  483.                   {
  484.                      _loc1_.onGround = true;
  485.                   }
  486.                }
  487.             }
  488.             else
  489.             {
  490.                if(_loc1_.gravType == 1 || _loc1_.gravType == 3)
  491.                {
  492.                   _loc1_.yStep = 0;
  493.                }
  494.                else if(_loc1_.gravType == 2 || _loc1_.gravType == 4)
  495.                {
  496.                   _loc1_.xStep = 0;
  497.                }
  498.                _loc1_.futureY += projY;
  499.                if(projY == projUp && _loc1_.gravType == 1)
  500.                {
  501.                   if(!_loc1_.onGround)
  502.                   {
  503.                      _loc1_.onGround = true;
  504.                   }
  505.                }
  506.                else if(projY == projDown && _loc1_.gravType == 3)
  507.                {
  508.                   if(!_loc1_.onGround)
  509.                   {
  510.                      _loc1_.onGround = true;
  511.                   }
  512.                }
  513.             }
  514.          }
  515.       }
  516.    }
  517. }
  518.