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

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