All pastes #631665 Raw Edit

Someone

public text v1 · immutable
#631665 ·published 2007-07-24 05:28 UTC
rendered paste body
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);