stop(); import flash.filters.GlowFilter; var nextDepth:Number; var numLibraries:Number; var libSelected:Number; var libNumParts:Number; var startPartsX:Number; var startPartsY:Number; var partsSectionMaxX:Number; var partsSectionMaxY:Number; var partsSpacer:Number; var partsIndent:Number; var partID:Number; var topLibrary:Number; var bottomLibrary:Number; function initializeGame():Void { nextDepth = 2; numLibraries = 6; libSelected = -1; parts = new Array(); startPartsX = 50; startPartsY = 50; partsSectionMaxX = 40; partsSectionMaxY = 40; partsSpacer = 1; partsIndent = 0; partID = 0; topLibrary = 60; bottomLibrary = 430; //generatePartsArray (); createLibraryHandlers(); } //library_hair.onRelease = function ():Void { // librarySelected("hair"); //}; function generatePartsArray():Void { /* for (var i:Number = 0; i < numLibraries; i++) { var j:Number = 0; while (_root[i + "_" + j].enabled != undefined) { trace("in"); parts[i] = new Array (); parts[i].push ({partID:partID, mcName:i + "_" + j}); partID++; j++; } } */ } function createLibraryHandlers():Void { for (var i:Number = 0; i < numLibraries; i++) { _root["library_" + i].lib = i; _root["library_" + i].onRelease = function():Void { librarySelected(this.lib); }; } } function librarySelected(l:Number):Void { //myColor = new Color(_root["library_" + l]); //myColor.setTransform({rb:-100, gb:0, bb:0}); unselectAllLibs(); libSelected = l; createEmptyMovieClip("partHolder", nextDepth); nextDepth++; populatePartHolder(); var color:Number = 0xFF0000; var alpha:Number = 0.8; var blurX:Number = 5; var blurY:Number = 5; var strength:Number = 5; var quality:Number = 3; var inner:Boolean = false; var knockout:Boolean = false; var filter:GlowFilter = new GlowFilter(color, alpha, blurX, blurY, strength, quality, inner, knockout); var filterArray:Array = new Array(); filterArray.push(filter); _root["library_" + l].filters = filterArray; } function populatePartHolder():Void { var done:Boolean = false; var i:Number = 0; while (!done) { partHolder.attachMovie(libSelected + "_" + i, "icon_" + i, nextDepth); //trace(_root["icon_" + i]._name); if (_root["partHolder"]["icon_" + i]._name == undefined) { libNumParts = i + 1; return; } scalePartMC(_root["partHolder"]["icon_" + i], partsSectionMaxX, partsSectionMaxY); var nextY:Number = getNextY(i); _root["partHolder"]["icon_" + i]._x = startPartsX; _root["partHolder"]["icon_" + i]._y = nextY; nextDepth++; i++; } } function unselectAllLibs():Void { _root["library_" + libSelected].filters = new Array(); } function centerPartMC(partMC:MovieClip, startX:Number, endX:Number):Void { var point:Number = (endX + startX) / 2; point -= partMC._width / 2; partMC._x = point; } function scalePartMC(partMC:MovieClip, maxX:Number, maxY:Number):Void { var mcWidth = partMC._width; var mcHeight = partMC._height; if (mcWidth >= mcHeight) { partMC._width = maxX; var step1:Number = (maxX * mcHeight); step1 /= mcWidth; partMC._height = step1; } else { partMC._height = maxY; var step1:Number = (maxY * mcWidth); step1 /= mcHeight; partMC._width = step1; } } function getNextY(i:Number):Number { //var numParts:Number = parts.length; if (i == 0) { //trace("got first"); return startPartsY; } i--; return (_root["partHolder"]["icon_" + i]._y + _root["partHolder"]["icon_" + i]._height); } _root.onEnterFrame = function() { var mX:Number = _xmouse; var mY:Number = _ymouse; var midY = Stage.height / 2; if (libSelected != -1) { if (mX >= 55 && mX <= 115) { if (mY >= topLibrary && mY <= bottomLibrary) { if (mY > (midY - 20) && mY < (midY + 20)) { return; } if (mY <= midY) { scrollLibrary("up"); } else { scrollLibrary("down"); } } } } }; function scrollLibrary(dir:String):Void { var mX:Number = _xmouse; var mY:Number = _ymouse; var midY = Stage.height / 2; var scrollAmount:Number = 0; switch (dir) { case "up" : if ((_root["partHolder"]._y + _root["partHolder"]._height) <= bottomLibrary) { return; } scrollAmount = -((midY - mY) * .1); // code that is only used for scrolling up break; case "down" : if ((_root["partHolder"]._y) >= topLibrary) { return; } scrollAmount = ((mY - midY) * .1); // code that is only used for scrolling down break; } _root["partHolder"]._y += scrollAmount; } initializeGame(); //trace(parts[0][2].mcName);