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

  1. class Editor extends MovieClip
  2. {
  3.    var cellsize = 50;
  4.    var xsize = 60;
  5.    var ysize = 60;
  6.    function Editor()
  7.    {
  8.       super();
  9.    }
  10.    function onLoad()
  11.    {
  12.    }
  13.    function buildEditor()
  14.    {
  15.       var _loc1_ = this;
  16.       _loc1_.cells = new Array();
  17.       var depth = 100;
  18.       var _loc3_ = 0;
  19.       while(_loc3_ < _loc1_.xsize)
  20.       {
  21.          _loc1_.cells[_loc3_] = new Array();
  22.          var _loc2_ = 0;
  23.          while(_loc2_ < _loc1_.ysize)
  24.          {
  25.             _loc1_.cells[_loc3_][_loc2_] = new Object();
  26.             _loc1_.cells[_loc3_][_loc2_].depth = depth;
  27.             _loc1_.cells[_loc3_][_loc2_].clip = undefined;
  28.             _loc1_.cells[_loc3_][_loc2_].tile = 0;
  29.             _loc1_.cells[_loc3_][_loc2_].gravType = 0;
  30.             _loc1_.cells[_loc3_][_loc2_].edges = new Array();
  31.             depth++;
  32.             _loc2_ = _loc2_ + 1;
  33.          }
  34.          _loc3_ = _loc3_ + 1;
  35.       }
  36.       _loc1_.currX = Math.floor((- _loc1_._x + 275) / _loc1_.cellsize + 0.5);
  37.       _loc1_.currY = Math.floor((- _loc1_._y + 200) / _loc1_.cellsize + 0.5);
  38.       var windowSize = 8;
  39.       _loc3_ = _loc1_.currX - windowSize;
  40.       while(_loc3_ < _loc1_.currX + windowSize)
  41.       {
  42.          _loc2_ = _loc1_.currY - windowSize;
  43.          while(_loc2_ < _loc1_.currY + windowSize)
  44.          {
  45.             if(_loc3_ > _loc1_.currX - windowSize && _loc3_ < _loc1_.currX + windowSize && _loc2_ > _loc1_.currY - windowSize && _loc2_ < _loc1_.currY + windowSize)
  46.             {
  47.                if(_loc1_.cells[_loc3_][_loc2_].clip == undefined)
  48.                {
  49.                   _loc1_.cells[_loc3_][_loc2_].clip = new MovieClip();
  50.                   _loc1_.attachMovie("RawCell","rawCell_" + _loc3_ + "_" + _loc2_,_loc1_.cells[_loc3_][_loc2_].depth,{xId:_loc3_,yId:_loc2_,tileType:_loc1_.cells[_loc3_][_loc2_].tile,gravType:_loc1_.cells[_loc3_][_loc2_].gravType});
  51.                }
  52.             }
  53.             else
  54.             {
  55.                _loc1_.cells[_loc3_][_loc2_].clip.removeMovieClip();
  56.                _loc1_.cells[_loc3_][_loc2_].clip = undefined;
  57.             }
  58.             _loc2_ = _loc2_ + 1;
  59.          }
  60.          _loc3_ = _loc3_ + 1;
  61.       }
  62.    }
  63.    function onEnterFrame()
  64.    {
  65.       var _loc1_ = this;
  66.       if(Key.isDown(32))
  67.       {
  68.          _loc1_._x += _root._xmouse - _loc1_.oldMouseX;
  69.          _loc1_._y += _root._ymouse - _loc1_.oldMouseY;
  70.       }
  71.       if(Key.isDown(37))
  72.       {
  73.          _loc1_._x += 25;
  74.       }
  75.       else if(Key.isDown(39))
  76.       {
  77.          _loc1_._x -= 25;
  78.       }
  79.       if(Key.isDown(38))
  80.       {
  81.          _loc1_._y += 20;
  82.       }
  83.       else if(Key.isDown(40))
  84.       {
  85.          _loc1_._y -= 20;
  86.       }
  87.       _loc1_.oldMouseX = _root._xmouse;
  88.       _loc1_.oldMouseY = _root._ymouse;
  89.       _loc1_.currX = Math.floor((- _loc1_._x + 275) / _loc1_.cellsize + 0.5);
  90.       _loc1_.currY = Math.floor((- _loc1_._y + 200) / _loc1_.cellsize + 0.5);
  91.       var xDist = Math.sqrt((_loc1_.currX - _loc1_.oldX) * (_loc1_.currX - _loc1_.oldX));
  92.       var yDist = Math.sqrt((_loc1_.currY - _loc1_.oldY) * (_loc1_.currY - _loc1_.oldY));
  93.       var windowSize = 8;
  94.       if(xDist >= 1 || yDist >= 1)
  95.       {
  96.          var _loc3_ = _loc1_.currX - (windowSize + xDist);
  97.          while(_loc3_ < _loc1_.currX + windowSize + xDist)
  98.          {
  99.             var _loc2_ = _loc1_.currY - (windowSize + yDist);
  100.             while(_loc2_ < _loc1_.currY + windowSize + yDist)
  101.             {
  102.                if(_loc3_ > _loc1_.currX - windowSize && _loc3_ < _loc1_.currX + windowSize && _loc2_ > _loc1_.currY - windowSize && _loc2_ < _loc1_.currY + windowSize)
  103.                {
  104.                   if(_loc1_.cells[_loc3_][_loc2_].clip == undefined)
  105.                   {
  106.                      _loc1_.cells[_loc3_][_loc2_].clip = new MovieClip();
  107.                      _loc1_.attachMovie("RawCell","rawCell_" + _loc3_ + "_" + _loc2_,_loc1_.cells[_loc3_][_loc2_].depth,{xId:_loc3_,yId:_loc2_,tileType:_loc1_.cells[_loc3_][_loc2_].tile,gravType:_loc1_.cells[_loc3_][_loc2_].gravType});
  108.                   }
  109.                }
  110.                else
  111.                {
  112.                   _loc1_.cells[_loc3_][_loc2_].clip.removeMovieClip();
  113.                   _loc1_.cells[_loc3_][_loc2_].clip = undefined;
  114.                }
  115.                _loc2_ = _loc2_ + 1;
  116.             }
  117.             _loc3_ = _loc3_ + 1;
  118.          }
  119.       }
  120.       _loc1_.oldX = _loc1_.currX;
  121.       _loc1_.oldY = _loc1_.currY;
  122.    }
  123.    function outputMap()
  124.    {
  125.       var _loc3_ = this;
  126.       var mapString = _loc3_.xsize + "|" + _loc3_.ysize + ":";
  127.       var tmp = "";
  128.       var _loc2_ = 0;
  129.       while(_loc2_ < _loc3_.ysize)
  130.       {
  131.          var _loc1_ = 0;
  132.          while(_loc1_ < _loc3_.xsize)
  133.          {
  134.             if(_loc3_.cells[_loc1_][_loc2_].tile > 9)
  135.             {
  136.                tmp = String(_loc3_.cells[_loc1_][_loc2_].gravType) + String(_loc3_.cells[_loc1_][_loc2_].tile);
  137.             }
  138.             else
  139.             {
  140.                tmp = String(_loc3_.cells[_loc1_][_loc2_].gravType) + "0" + String(_loc3_.cells[_loc1_][_loc2_].tile);
  141.             }
  142.             mapString += tmp;
  143.             _loc1_ = _loc1_ + 1;
  144.          }
  145.          _loc2_ = _loc2_ + 1;
  146.       }
  147.       return Map.encode(mapString);
  148.    }
  149.    function loadMap(mapString)
  150.    {
  151.       var _loc1_ = this;
  152.       var mapString = Map.decode(mapString);
  153.       var mapArray = mapString.split(":");
  154.       _loc1_.spawnPoints = new Array();
  155.       var depth = 100;
  156.       var currPos = 0;
  157.       var gravType = 0;
  158.       var tileType = 0;
  159.       var _loc2_ = 0;
  160.       while(_loc2_ < _loc1_.ysize)
  161.       {
  162.          var _loc3_ = 0;
  163.          while(_loc3_ < _loc1_.xsize)
  164.          {
  165.             currPos = (_loc3_ + _loc2_ * _loc1_.xsize) * 3;
  166.             gravType = Number(mapArray[1].substr(currPos,1));
  167.             tileType = Number(mapArray[1].substr(currPos + 1,2));
  168.             _loc1_.cells[_loc3_][_loc2_].tile = tileType;
  169.             _loc1_.cells[_loc3_][_loc2_].clip = undefined;
  170.             _loc1_.cells[_loc3_][_loc2_].gravType = gravType;
  171.             depth++;
  172.             _loc3_ = _loc3_ + 1;
  173.          }
  174.          _loc2_ = _loc2_ + 1;
  175.       }
  176.       _loc1_.currX = Math.floor((- _loc1_._x + 275) / _loc1_.cellsize + 0.5);
  177.       _loc1_.currY = Math.floor((- _loc1_._y + 200) / _loc1_.cellsize + 0.5);
  178.       var windowSize = 8;
  179.       _loc3_ = _loc1_.currX - windowSize;
  180.       while(_loc3_ < _loc1_.currX + windowSize)
  181.       {
  182.          _loc2_ = _loc1_.currY - windowSize;
  183.          while(_loc2_ < _loc1_.currY + windowSize)
  184.          {
  185.             if(_loc3_ > _loc1_.currX - windowSize && _loc3_ < _loc1_.currX + windowSize && _loc2_ > _loc1_.currY - windowSize && _loc2_ < _loc1_.currY + windowSize)
  186.             {
  187.                if(_loc1_.cells[_loc3_][_loc2_].clip == undefined)
  188.                {
  189.                   _loc1_.cells[_loc3_][_loc2_].clip = new MovieClip();
  190.                   _loc1_.attachMovie("RawCell","rawCell_" + _loc3_ + "_" + _loc2_,_loc1_.cells[_loc3_][_loc2_].depth,{xId:_loc3_,yId:_loc2_,tileType:_loc1_.cells[_loc3_][_loc2_].tile,gravType:_loc1_.cells[_loc3_][_loc2_].gravType});
  191.                }
  192.             }
  193.             else
  194.             {
  195.                _loc1_.cells[_loc3_][_loc2_].clip.removeMovieClip();
  196.                _loc1_.cells[_loc3_][_loc2_].clip = undefined;
  197.             }
  198.             _loc2_ = _loc2_ + 1;
  199.          }
  200.          _loc3_ = _loc3_ + 1;
  201.       }
  202.    }
  203. }
  204.