Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- _root.CreateLevelDesigner = function()
- {
- _root.StopBGsong();
- _root.SongIntro = "";
- _root.SongRepeat = "";
- _root.PlayingLevelDesigner = true;
- _root.LevelDesignerMenu = true;
- _root.PauseGame = false;
- _root.playpause = false;
- gotoAndStop("LevelDesigner");
- _root.MouseDown = false;
- _root.MenuAccess = false;
- _root.Zoom = 1;
- _root.PlaceMode = "TileSelect";
- _root.PlacingTile = undefined;
- _root.BlankTile = "100";
- if(_root.ScrollSpeed == undefined)
- {
- _root.ScrollSpeed = 17;
- }
- tilesX = Math.ceil(15 * _root.Zoom) + 1;
- tilesY = Math.ceil(10 * _root.Zoom) + 2;
- _root.createEmptyMovieClip("Scene2",_root.getNextHighestDepth());
- _root.createEmptyMovieClip("Scene",_root.getNextHighestDepth());
- _root.attachMovie("LDMenu","M",_root.getNextHighestDepth());
- X = 0;
- while(X < tilesX)
- {
- Y = 0;
- while(Y < tilesY)
- {
- _root.Scene.attachMovie("LDTile","Tile" + X + "_" + Y,_root.Scene.getNextHighestDepth(),{_x:X * 32 - 16,_y:Y * 32 - 16});
- Y++;
- }
- X++;
- }
- MaxX = _root.GridXSize;
- MaxY = _root.GridYSize;
- _root.LDItemNum = _root.LDItemArray.length;
- i = 0;
- while(i < _root.LDItemNum)
- {
- _root.Scene2.attachMovie("LDItem","Item" + i,_root.Scene2.getNextHighestDepth());
- _root.Scene2["Item" + i].gotoAndStop(_root.LDItemArray[i][0]);
- _root.Scene2["Item" + i].num = i;
- _root.Scene2["Item" + i]._x = _root.LDItemArray[i][1];
- _root.Scene2["Item" + i]._y = _root.LDItemArray[i][2];
- if(_root.ItemNumRotatable(i) || _root.ItemNumFlippable(i))
- {
- if(Boolean(Number(_root.LDItemArray[i][3])) == true)
- {
- _root.Scene2["Item" + i]._xscale = 100;
- }
- else
- {
- _root.Scene2["Item" + i]._xscale = -100;
- }
- if(_root.ItemNumRotatable(i))
- {
- _root.Scene2["Item" + i]._rotation = _root.LDItemArray[i][4];
- }
- }
- i++;
- }
- _root.LDcentercam();
- xspeed = 0;
- yspeed = 0;
- changeTilesX = 0;
- changeTilesX = 0;
- onEnterFrame = function()
- {
- if(_root.LDOpenNextWindow !== "")
- {
- trace(_root.LDOpenNextWindow);
- M.Window1.swapDepths(frontwindow);
- M.Window1.gotoAndStop("blank");
- M.Window1.frame = _root.LDOpenNextWindow;
- M.Window1.gotoAndStop(M.Window1.frame);
- M.Window1._x = 50 + random(10);
- M.Window1._y = 20 + random(10);
- _root.LDOpenNextWindow = "";
- }
- MaxX = _root.GridXSize;
- MaxY = _root.GridYSize;
- if(Key.isDown(33) && !Key.isDown(34))
- {
- _root.Zoom = _root.Zoom - 0.01;
- changezoom = true;
- }
- if(Key.isDown(34) && !Key.isDown(33))
- {
- _root.Zoom = _root.Zoom + 0.01;
- changezoom = true;
- }
- _root.Zoom = Math.min(_root.Zoom,1.5);
- _root.Zoom = Math.max(_root.Zoom,0.75);
- if(changezoom == true)
- {
- _root.Scene._xscale = 100 / Zoom;
- _root.Scene._yscale = 100 / Zoom;
- _root.Scene2._xscale = 100 / Zoom;
- _root.Scene2._yscale = 100 / Zoom;
- if(Math.ceil(15 * _root.Zoom) + 1 !== tilesX || tilesY !== Math.ceil(10 * _root.Zoom) + 2)
- {
- X = 0;
- while(X < tilesX)
- {
- Y = 0;
- while(Y < tilesY)
- {
- _root.Scene["Tile" + X + "_" + Y].removeMovieClip();
- Y++;
- }
- X++;
- }
- tilesX = Math.ceil(15 * _root.Zoom) + 1;
- tilesY = Math.ceil(10 * _root.Zoom) + 2;
- X = 0;
- while(X < tilesX)
- {
- Y = 0;
- while(Y < tilesY)
- {
- _root.Scene.attachMovie("LDTile","Tile" + X + "_" + Y,_root.Scene.getNextHighestDepth(),{_x:X * 32 - 16,_y:Y * 32 - 16});
- Y++;
- }
- X++;
- }
- }
- }
- if(Key.isDown(39) && !Key.isDown(37))
- {
- xspeed = xspeed + ((- _root.ScrollSpeed) * 3 - xspeed) / 10;
- }
- if(Key.isDown(37) && !Key.isDown(39))
- {
- xspeed = xspeed + (_root.ScrollSpeed * 3 - xspeed) / 10;
- }
- if(Key.isDown(38) && !Key.isDown(40))
- {
- yspeed = yspeed + (_root.ScrollSpeed * 3 - yspeed) / 10;
- }
- if(Key.isDown(40) && !Key.isDown(38))
- {
- yspeed = yspeed + ((- _root.ScrollSpeed) * 3 - yspeed) / 10;
- }
- xspeed = xspeed * 0.85;
- yspeed = yspeed * 0.85;
- MouseXspeed = _root.Scene._xmouse + _root.Scene._x - oldmouseX;
- MouseYspeed = _root.Scene._ymouse + _root.Scene._y - oldmouseY;
- mouseX = oldmouseX;
- mouseY = oldmouseY;
- repeats = Math.floor((Math.abs(xspeed) + Math.abs(yspeed) + Math.abs(MouseXspeed) + Math.abs(MouseYspeed)) / 30) + 1;
- if(!(_root.MouseDown == true && _root.MenuAccess !== true))
- {
- repeats = 1;
- }
- i = 0;
- while(i < repeats)
- {
- viewX = Math.min(viewX,320);
- viewY = Math.min(viewY,272);
- viewX = Math.max(viewX,(- MaxX) * 32 + 320);
- viewY = Math.max(viewY,(- MaxY) * 32 + 32);
- offX = Math.round(viewX) % 32;
- offY = Math.round(viewY) % 32;
- X2 = Math.floor((- Math.round(viewX - offX)) / 32);
- Y2 = Math.floor((- Math.round(viewY - offY)) / 32);
- if(_root.MouseDown == true && _root.MenuAccess !== true && _root.PlaceMode == "Tile")
- {
- Xmouse = Math.round((mouseX - offX + 16) / 32);
- Ymouse = Math.round((mouseY - offY + 16) / 32);
- _root.Scene["Tile" + Xmouse + "_" + Ymouse]._alpha = 100;
- if(!(X2 + Xmouse < 0 || Y2 + Ymouse < 0 || X2 + Xmouse > MaxX - 1 || Y2 + Ymouse > MaxY - 1))
- {
- if(!Key.isDown(16))
- {
- if(_root.PlacingTile !== undefined)
- {
- _root.TileArray[X2 + Xmouse][Y2 + Ymouse] = _root.PlacingTile;
- }
- }
- else
- {
- _root.TileArray[X2 + Xmouse][Y2 + Ymouse] = _root.BlankTile;
- }
- }
- _root.Scene["Tile" + Xmouse + "_" + Ymouse].gotoAndStop(_root.TileArray[X2 + Xmouse][Y2 + Ymouse]);
- if(X2 + Xmouse < 0 || Y2 + Ymouse < 0 || X2 + Xmouse > MaxX - 1 || Y2 + Ymouse > MaxY - 1)
- {
- _root.Scene["Tile" + Xmouse + "_" + Ymouse].gotoAndStop("Bounds");
- }
- }
- mouseX = mouseX + MouseXspeed / repeats;
- mouseY = mouseY + MouseYspeed / repeats;
- viewX = viewX + xspeed / repeats;
- viewY = viewY + yspeed / repeats;
- i++;
- }
- oldmouseX = _root.Scene._xmouse + _root.Scene._x;
- oldmouseY = _root.Scene._ymouse + _root.Scene._y;
- viewX = Math.min(viewX,320);
- viewY = Math.min(viewY,272);
- viewX = Math.max(viewX,(- MaxX) * 32 + 320);
- viewY = Math.max(viewY,(- MaxY) * 32 + 32);
- offX = Math.round(viewX) % 32;
- offY = Math.round(viewY) % 32;
- X2 = Math.floor((- Math.round(viewX - offX)) / 32);
- Y2 = Math.floor((- Math.round(viewY - offY)) / 32);
- _root.Scene._x = offX / (100 / _root.Scene._xscale);
- _root.Scene._y = offY / (100 / _root.Scene._xscale);
- changeTilesX = changeTilesX + Math.abs(xspeed);
- changeTilesY = changeTilesY + Math.abs(yspeed);
- while(changeTilesX > 32)
- {
- changeTilesX = changeTilesX - 16;
- changed = true;
- }
- while(changeTilesY > 32)
- {
- changeTilesY = changeTilesY - 16;
- changed = true;
- }
- while(changeTilesX < -32)
- {
- changeTilesX = changeTilesX + 16;
- changed = true;
- }
- while(changeTilesY < -32)
- {
- changeTilesY = changeTilesY + 16;
- changed = true;
- }
- changed = true;
- if(changed !== false)
- {
- X = 0;
- while(X < tilesX)
- {
- Y = 0;
- while(Y < tilesY)
- {
- _root.Scene["Tile" + X + "_" + Y].gotoAndStop(_root.TileArray[X2 + X][Y2 + Y]);
- if(X2 + X < 0 || Y2 + Y < 0 || X2 + X > MaxX - 1 || Y2 + Y > MaxY - 1)
- {
- _root.Scene["Tile" + X + "_" + Y].gotoAndStop("Bounds");
- }
- Y++;
- }
- X++;
- }
- }
- changed = false;
- Xmouse = Math.round((_root.Scene._xmouse + _root.Scene._x - offX + 16) / 32);
- Ymouse = Math.round((_root.Scene._ymouse + _root.Scene._y - offY + 16) / 32);
- oldtile._alpha = 100;
- if(_root.MenuAccess !== true && _root.PlaceMode == "Tile")
- {
- _root.Scene["Tile" + Xmouse + "_" + Ymouse]._alpha = 50;
- oldtile = _root.Scene["Tile" + Xmouse + "_" + Ymouse];
- }
- if(_root.MenuAccess !== true && _root.PlaceMode == "Item")
- {
- M.item._visible = true;
- M.item._alpha = 75;
- M.item.gotoAndStop(_root.PlacingItem);
- M.item._x = _root._xmouse;
- M.item._y = _root._ymouse;
- if(Key.isDown(17))
- {
- M.item._x = (Math.round((_root._xmouse * Zoom - viewX) / 8) * 8 + viewX) / Zoom;
- M.item._y = (Math.round((_root._ymouse * Zoom - viewY) / 8) * 8 + viewY) / Zoom;
- }
- M.item._xscale = 100 / Zoom;
- M.item._yscale = 100 / Zoom;
- }
- else
- {
- M.item._x = -200;
- M.item._visible = false;
- }
- if(_root.MenuAccess !== true && _root.PlaceMode == "Item" && _root.MousePressed == true)
- {
- if(String(_root.PlacingItem) == "1" && _root.LDItemNum >= 1)
- {
- h = 0;
- while(h < LDItemNum)
- {
- if(LDItemArray[h][0] == "1")
- {
- i = h;
- _root.LDItemArray[i] = [String(_root.PlacingItem),Math.round(_root._xmouse * Zoom - viewX),Math.round(_root._ymouse * Zoom - viewY)];
- break;
- }
- h++;
- }
- }
- else
- {
- i = _root.LDItemNum;
- _root.LDItemNum = _root.LDItemNum + 1;
- _root.LDItemArray.push([String(_root.PlacingItem),Math.round(_root._xmouse * Zoom - viewX),Math.round(_root._ymouse * Zoom - viewY)]);
- _root.Scene2.attachMovie("LDItem","Item" + i,_root.Scene2.getNextHighestDepth());
- }
- _root.Scene2["Item" + i].gotoAndStop(_root.LDItemArray[i][0]);
- _root.Scene2["Item" + i].num = i;
- if(Key.isDown(17))
- {
- _root.LDItemArray[i][1] = Math.round(_root.LDItemArray[i][1] / 8) * 8;
- _root.LDItemArray[i][2] = Math.round(_root.LDItemArray[i][2] / 8) * 8;
- }
- _root.Scene2["Item" + i]._x = _root.LDItemArray[i][1];
- _root.Scene2["Item" + i]._y = _root.LDItemArray[i][2];
- trace(LDItemArray[i][0]);
- if(_root.ItemNumRotatable(i))
- {
- _root.LDItemArray[i][3] = 1;
- _root.LDItemArray[i][4] = 0;
- }
- if(_root.ItemNumFlippable(i))
- {
- _root.LDItemArray[i][3] = 1;
- }
- if(LDItemArray[i][0] == "1")
- {
- _root.LDItemArray[i][3] = 0;
- _root.LDItemArray[i][4] = 0;
- _root.LDItemArray[i][5] = "Right";
- }
- if(LDItemArray[i][0] == "7")
- {
- _root.LDItemArray[i][3] = 3;
- _root.LDItemArray[i][4] = 0;
- _root.LDItemArray[i][5] = 30;
- _root.LDItemArray[i][6] = 0;
- _root.LDItemArray[i][7] = 0;
- _root.LDItemArray[i][8] = 0;
- _root.LDItemArray[i][9] = "Right";
- _root.LDItemArray[i][10] = "none";
- _root.LDItemArray[i][11] = 0.5;
- _root.LDItemArray[i][12] = 1;
- _root.LDItemArray[i][13] = Number(false);
- _root.LDItemArray[i][14] = 25;
- }
- if(LDItemArray[i][0] == "8")
- {
- _root.LDItemArray[i][3] = 2;
- _root.LDItemArray[i][4] = 2;
- _root.LDItemArray[i][5] = 50;
- _root.LDItemArray[i][6] = 0;
- _root.LDItemArray[i][7] = 1;
- }
- if(LDItemArray[i][0] == "9")
- {
- _root.LDItemArray[i][3] = 0;
- _root.LDItemArray[i][4] = 0;
- _root.LDItemArray[i][5] = 0;
- _root.LDItemArray[i][6] = 0;
- _root.LDItemArray[i][7] = 0;
- _root.LDItemArray[i][8] = 0;
- _root.LDItemArray[i][9] = "Right";
- _root.LDItemArray[i][10] = "none";
- _root.LDItemArray[i][11] = 0.5;
- _root.LDItemArray[i][12] = 80;
- _root.LDItemArray[i][13] = 1;
- _root.LDItemArray[i][14] = "Left";
- _root.LDItemArray[i][15] = 3;
- _root.LDItemArray[i][16] = 72;
- _root.LDItemArray[i][17] = Number(true);
- }
- if(LDItemArray[i][0] == "18")
- {
- _root.LDItemArray[i][3] = 2;
- _root.LDItemArray[i][4] = 0;
- }
- if(LDItemArray[i][0] == "19")
- {
- _root.LDItemArray[i][3] = 2;
- _root.LDItemArray[i][4] = 0;
- }
- if(LDItemArray[i][0] == "37")
- {
- _root.LDItemArray[i][3] = 15;
- _root.LDItemArray[i][4] = 0;
- }
- if(LDItemArray[i][0] == "38")
- {
- _root.LDItemArray[i][3] = 0;
- _root.LDItemArray[i][4] = 500;
- _root.LDItemArray[i][5] = 400;
- }
- if(LDItemArray[i][0] == "39")
- {
- _root.LDItemArray[i][3] = _root.LDItemArray[i][1];
- _root.LDItemArray[i][4] = _root.LDItemArray[i][2];
- _root.LDItemArray[i][5] = 1;
- }
- if(LDItemArray[i][0] == "40")
- {
- _root.LDItemArray[i][3] = _root.LDItemArray[i][1];
- _root.LDItemArray[i][4] = _root.LDItemArray[i][2];
- }
- if(LDItemArray[i][0] == "71")
- {
- _root.LDItemArray[i][3] = "Both";
- _root.LDItemArray[i][4] = 0;
- _root.LDItemArray[i][5] = 3;
- _root.LDItemArray[i][6] = 100;
- _root.LDItemArray[i][7] = 0;
- _root.LDItemArray[i][8] = 1;
- _root.LDItemArray[i][9] = 0;
- }
- if(LDItemArray[i][0] == "73")
- {
- _root.LDItemArray[i][3] = "This is a sign...";
- }
- if(_root.ItemNumRotatable(i) || _root.ItemNumFlippable(i))
- {
- if(Boolean(Number(_root.LDItemArray[i][3])) == true)
- {
- _root.Scene2["Item" + i]._xscale = 100;
- }
- else
- {
- _root.Scene2["Item" + i]._xscale = -100;
- }
- if(_root.ItemNumRotatable(i))
- {
- _root.Scene2["Item" + i]._rotation = _root.LDItemArray[i][4];
- }
- }
- if(!Key.isDown(16))
- {
- _root.PlaceMode = "ItemSelect";
- }
- if(Number(LDItemArray[i][0]) >= 7 && Number(LDItemArray[i][0]) < 28 || Number(LDItemArray[i][0]) == 37)
- {
- _root.RestartItems();
- }
- }
- _root.Scene2["Item" + olditemselected]._alpha = 100;
- if((_root.PlaceMode == "ItemSelect" || _root.PlaceMode == "ItemErase") && MouseDown == false)
- {
- mousex = _root._xmouse * Zoom - viewX;
- mousey = _root._ymouse * Zoom - viewY;
- mouseoverArray = [];
- i = LDItemNum - 1;
- while(i >= 0)
- {
- if(Math.abs(mousex - LDItemArray[i][1]) < _root.Scene2["Item" + i]._width && Math.abs(mousey - LDItemArray[i][2]) < _root.Scene2["Item" + i]._height)
- {
- if(_root.Scene2["Item" + i].hitTest(_root._xmouse,_root._ymouse,true) && !_root.Scene2["Item" + i].nomouse.hitTest(_root._xmouse,_root._ymouse,true))
- {
- mouseoverArray.push(i);
- }
- }
- i--;
- }
- if(mouseoverArray.length > 0)
- {
- closest = 300;
- i = 0;
- while(i < mouseoverArray.length)
- {
- d = Math.sqrt((mousex - LDItemArray[mouseoverArray[i]][1]) * (mousex - LDItemArray[mouseoverArray[i]][1]) + (mousey - LDItemArray[mouseoverArray[i]][2]) * (mousey - LDItemArray[mouseoverArray[i]][2]));
- if(d < closest)
- {
- closest = d;
- closestnum = mouseoverArray[i];
- }
- i++;
- }
- olditemselected = closestnum;
- _root.Scene2["Item" + olditemselected]._alpha = 50;
- }
- else
- {
- olditemselected = "";
- }
- }
- if(Key.isDown(46))
- {
- if(_root.LastItemClicked !== "" && String(_root.LDItemArray[_root.LastItemClicked][0]) !== "1")
- {
- _root.DeleteItem(_root.LastItemClicked);
- _root.LastItemClicked = "";
- M.Window1.frame = "";
- M.Window1.gotoAndStop("blank");
- M.Window1._y = 1000;
- }
- else if(_root.PlaceMode == "ItemErase" && olditemselected !== "" && String(_root.LDItemArray[olditemselected][0]) !== "1")
- {
- _root.DeleteItem(olditemselected);
- _root.LastItemClicked = "";
- }
- }
- if(MousePressed == false && MouseDown == true)
- {
- _root.LastItemClicked = "";
- }
- if(_root.PlaceMode == "ItemSelect" && MouseDown == true && olditemselected !== "")
- {
- if(MousePressed == false)
- {
- _root.LastItemClicked = olditemselected;
- _root.Scene2["Item" + olditemselected]._alpha = 75;
- _root.LDItemArray[olditemselected][1] = Math.round(_root._xmouse * Zoom - viewX - selectx);
- _root.LDItemArray[olditemselected][2] = Math.round(_root._ymouse * Zoom - viewY - selecty);
- if(Key.isDown(17))
- {
- _root.LDItemArray[olditemselected][1] = Math.round(_root.LDItemArray[olditemselected][1] / 8) * 8;
- _root.LDItemArray[olditemselected][2] = Math.round(_root.LDItemArray[olditemselected][2] / 8) * 8;
- }
- _root.Scene2["Item" + olditemselected]._x = _root.LDItemArray[olditemselected][1];
- _root.Scene2["Item" + olditemselected]._y = _root.LDItemArray[olditemselected][2];
- if(_root.ItemNumRotatable(olditemselected) || _root.ItemNumFlippable(olditemselected))
- {
- if(Boolean(Number(_root.LDItemArray[olditemselected][3])) == true)
- {
- _root.Scene2["Item" + olditemselected]._xscale = 100;
- }
- else
- {
- _root.Scene2["Item" + olditemselected]._xscale = -100;
- }
- if(_root.ItemNumRotatable(olditemselected))
- {
- _root.Scene2["Item" + olditemselected]._rotation = _root.LDItemArray[olditemselected][4];
- }
- }
- }
- else
- {
- selectx = _root._xmouse * Zoom - viewX - _root.Scene2["Item" + olditemselected]._x;
- selecty = _root._ymouse * Zoom - viewY - _root.Scene2["Item" + olditemselected]._y;
- trace("Open item Window");
- M.Window1.swapDepths(frontwindow);
- M.Window1.gotoAndStop("blank");
- trace(_root.ItemNumRotatable(olditemselected));
- if(_root.ItemNumRotatable(olditemselected) == true)
- {
- M.Window1.frame = "ItemView2";
- }
- else if(_root.ItemNumFlippable(olditemselected))
- {
- M.Window1.frame = "ItemView3";
- }
- else
- {
- M.Window1.frame = "ItemView";
- }
- if(_root.LDItemArray[olditemselected][0] == 1)
- {
- M.Window1.frame = "ItemView0";
- }
- if(_root.LDItemArray[olditemselected][0] == 7)
- {
- M.Window1.frame = "GreenPLView";
- }
- if(_root.LDItemArray[olditemselected][0] == 8)
- {
- M.Window1.frame = "GreenPLView2";
- }
- if(_root.LDItemArray[olditemselected][0] == 9)
- {
- M.Window1.frame = "BlockView";
- }
- if(_root.LDItemArray[olditemselected][0] == 18 || _root.LDItemArray[olditemselected][0] == 19 || _root.LDItemArray[olditemselected][0] == 37)
- {
- M.Window1.frame = "ItemFlippingPL";
- }
- if(_root.LDItemArray[olditemselected][0] == 38)
- {
- M.Window1.frame = "ItemWater";
- }
- if(_root.LDItemArray[olditemselected][0] == 39)
- {
- M.Window1.frame = "ItemDoor";
- }
- if(_root.LDItemArray[olditemselected][0] == 40)
- {
- M.Window1.frame = "ItemPipe";
- }
- if(_root.LDItemArray[olditemselected][0] == 71)
- {
- M.Window1.frame = "ItemBill";
- }
- if(_root.LDItemArray[olditemselected][0] == 73)
- {
- M.Window1.frame = "ItemSign";
- }
- M.Window1.itemnum = olditemselected;
- M.Window1._x = _root._xmouse - 15;
- if(_root._ymouse > 200)
- {
- M.Window1._y = _root._ymouse - 170;
- }
- else
- {
- M.Window1._y = _root._ymouse + 20;
- }
- }
- }
- if(_root.PlaceMode == "ItemErase" && MouseDown == true && olditemselected !== "" && String(_root.LDItemArray[olditemselected][0]) !== "1")
- {
- if(MousePressed == true)
- {
- _root.DeleteItem(olditemselected);
- _root.LastItemClicked = "";
- }
- }
- _root.Scene2._x = viewX / Zoom;
- _root.Scene2._y = viewY / Zoom;
- changezoom = false;
- _root.MousePressed = false;
- };
- _root.M.onMouseDown = function()
- {
- if(_root.MenuAccess !== true)
- {
- _root.MousePressed = true;
- _root.MouseDown = true;
- }
- };
- _root.M.onMouseUp = function()
- {
- _root.MouseDown = false;
- };
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement