home *** CD-ROM | disk | FTP | other *** search
- class Editor extends MovieClip
- {
- var cellsize = 50;
- var xsize = 60;
- var ysize = 60;
- function Editor()
- {
- super();
- }
- function onLoad()
- {
- }
- function buildEditor()
- {
- var _loc1_ = this;
- _loc1_.cells = new Array();
- var depth = 100;
- var _loc3_ = 0;
- while(_loc3_ < _loc1_.xsize)
- {
- _loc1_.cells[_loc3_] = new Array();
- var _loc2_ = 0;
- while(_loc2_ < _loc1_.ysize)
- {
- _loc1_.cells[_loc3_][_loc2_] = new Object();
- _loc1_.cells[_loc3_][_loc2_].depth = depth;
- _loc1_.cells[_loc3_][_loc2_].clip = undefined;
- _loc1_.cells[_loc3_][_loc2_].tile = 0;
- _loc1_.cells[_loc3_][_loc2_].gravType = 0;
- _loc1_.cells[_loc3_][_loc2_].edges = new Array();
- depth++;
- _loc2_ = _loc2_ + 1;
- }
- _loc3_ = _loc3_ + 1;
- }
- _loc1_.currX = Math.floor((- _loc1_._x + 275) / _loc1_.cellsize + 0.5);
- _loc1_.currY = Math.floor((- _loc1_._y + 200) / _loc1_.cellsize + 0.5);
- var windowSize = 8;
- _loc3_ = _loc1_.currX - windowSize;
- while(_loc3_ < _loc1_.currX + windowSize)
- {
- _loc2_ = _loc1_.currY - windowSize;
- while(_loc2_ < _loc1_.currY + windowSize)
- {
- if(_loc3_ > _loc1_.currX - windowSize && _loc3_ < _loc1_.currX + windowSize && _loc2_ > _loc1_.currY - windowSize && _loc2_ < _loc1_.currY + windowSize)
- {
- if(_loc1_.cells[_loc3_][_loc2_].clip == undefined)
- {
- _loc1_.cells[_loc3_][_loc2_].clip = new MovieClip();
- _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});
- }
- }
- else
- {
- _loc1_.cells[_loc3_][_loc2_].clip.removeMovieClip();
- _loc1_.cells[_loc3_][_loc2_].clip = undefined;
- }
- _loc2_ = _loc2_ + 1;
- }
- _loc3_ = _loc3_ + 1;
- }
- }
- function onEnterFrame()
- {
- var _loc1_ = this;
- if(Key.isDown(32))
- {
- _loc1_._x += _root._xmouse - _loc1_.oldMouseX;
- _loc1_._y += _root._ymouse - _loc1_.oldMouseY;
- }
- if(Key.isDown(37))
- {
- _loc1_._x += 25;
- }
- else if(Key.isDown(39))
- {
- _loc1_._x -= 25;
- }
- if(Key.isDown(38))
- {
- _loc1_._y += 20;
- }
- else if(Key.isDown(40))
- {
- _loc1_._y -= 20;
- }
- _loc1_.oldMouseX = _root._xmouse;
- _loc1_.oldMouseY = _root._ymouse;
- _loc1_.currX = Math.floor((- _loc1_._x + 275) / _loc1_.cellsize + 0.5);
- _loc1_.currY = Math.floor((- _loc1_._y + 200) / _loc1_.cellsize + 0.5);
- var xDist = Math.sqrt((_loc1_.currX - _loc1_.oldX) * (_loc1_.currX - _loc1_.oldX));
- var yDist = Math.sqrt((_loc1_.currY - _loc1_.oldY) * (_loc1_.currY - _loc1_.oldY));
- var windowSize = 8;
- if(xDist >= 1 || yDist >= 1)
- {
- var _loc3_ = _loc1_.currX - (windowSize + xDist);
- while(_loc3_ < _loc1_.currX + windowSize + xDist)
- {
- var _loc2_ = _loc1_.currY - (windowSize + yDist);
- while(_loc2_ < _loc1_.currY + windowSize + yDist)
- {
- if(_loc3_ > _loc1_.currX - windowSize && _loc3_ < _loc1_.currX + windowSize && _loc2_ > _loc1_.currY - windowSize && _loc2_ < _loc1_.currY + windowSize)
- {
- if(_loc1_.cells[_loc3_][_loc2_].clip == undefined)
- {
- _loc1_.cells[_loc3_][_loc2_].clip = new MovieClip();
- _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});
- }
- }
- else
- {
- _loc1_.cells[_loc3_][_loc2_].clip.removeMovieClip();
- _loc1_.cells[_loc3_][_loc2_].clip = undefined;
- }
- _loc2_ = _loc2_ + 1;
- }
- _loc3_ = _loc3_ + 1;
- }
- }
- _loc1_.oldX = _loc1_.currX;
- _loc1_.oldY = _loc1_.currY;
- }
- function outputMap()
- {
- var _loc3_ = this;
- var mapString = _loc3_.xsize + "|" + _loc3_.ysize + ":";
- var tmp = "";
- var _loc2_ = 0;
- while(_loc2_ < _loc3_.ysize)
- {
- var _loc1_ = 0;
- while(_loc1_ < _loc3_.xsize)
- {
- if(_loc3_.cells[_loc1_][_loc2_].tile > 9)
- {
- tmp = String(_loc3_.cells[_loc1_][_loc2_].gravType) + String(_loc3_.cells[_loc1_][_loc2_].tile);
- }
- else
- {
- tmp = String(_loc3_.cells[_loc1_][_loc2_].gravType) + "0" + String(_loc3_.cells[_loc1_][_loc2_].tile);
- }
- mapString += tmp;
- _loc1_ = _loc1_ + 1;
- }
- _loc2_ = _loc2_ + 1;
- }
- return Map.encode(mapString);
- }
- function loadMap(mapString)
- {
- var _loc1_ = this;
- var mapString = Map.decode(mapString);
- var mapArray = mapString.split(":");
- _loc1_.spawnPoints = new Array();
- var depth = 100;
- var currPos = 0;
- var gravType = 0;
- var tileType = 0;
- var _loc2_ = 0;
- while(_loc2_ < _loc1_.ysize)
- {
- var _loc3_ = 0;
- while(_loc3_ < _loc1_.xsize)
- {
- currPos = (_loc3_ + _loc2_ * _loc1_.xsize) * 3;
- gravType = Number(mapArray[1].substr(currPos,1));
- tileType = Number(mapArray[1].substr(currPos + 1,2));
- _loc1_.cells[_loc3_][_loc2_].tile = tileType;
- _loc1_.cells[_loc3_][_loc2_].clip = undefined;
- _loc1_.cells[_loc3_][_loc2_].gravType = gravType;
- depth++;
- _loc3_ = _loc3_ + 1;
- }
- _loc2_ = _loc2_ + 1;
- }
- _loc1_.currX = Math.floor((- _loc1_._x + 275) / _loc1_.cellsize + 0.5);
- _loc1_.currY = Math.floor((- _loc1_._y + 200) / _loc1_.cellsize + 0.5);
- var windowSize = 8;
- _loc3_ = _loc1_.currX - windowSize;
- while(_loc3_ < _loc1_.currX + windowSize)
- {
- _loc2_ = _loc1_.currY - windowSize;
- while(_loc2_ < _loc1_.currY + windowSize)
- {
- if(_loc3_ > _loc1_.currX - windowSize && _loc3_ < _loc1_.currX + windowSize && _loc2_ > _loc1_.currY - windowSize && _loc2_ < _loc1_.currY + windowSize)
- {
- if(_loc1_.cells[_loc3_][_loc2_].clip == undefined)
- {
- _loc1_.cells[_loc3_][_loc2_].clip = new MovieClip();
- _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});
- }
- }
- else
- {
- _loc1_.cells[_loc3_][_loc2_].clip.removeMovieClip();
- _loc1_.cells[_loc3_][_loc2_].clip = undefined;
- }
- _loc2_ = _loc2_ + 1;
- }
- _loc3_ = _loc3_ + 1;
- }
- }
- }
-