⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 aqualook.as

📁 flashget43的源代码 一个比较常用的下载程序
💻 AS
📖 第 1 页 / 共 3 页
字号:
//#initclip 10_global.AquaLook = function() {	super();};_global.AquaLook.prototype = new Object();// data {className - component name, type - type of component, mode - press, over,..., pLink - link to an object, clr - color}_global.AquaLook.prototype.draw = function(movie:MovieClip, nW:Number, nH:Number, data:Object):Void{	if(movie == undefined) return;		var clr = 0;	switch(data.mode)	{		case data.pLink.STATE_OUT      : clr = globalStyleFormat[data.pLink._face]; break;		case data.pLink.STATE_OVER     : clr = this.ex_brighter(globalStyleFormat[data.pLink._face], 0.77); break;		case data.pLink.STATE_PRESS    : clr = globalStyleFormat[data.pLink._face]; break;		case data.pLink.STATE_DISABLED : clr = this.brighter(this.brighter(globalStyleFormat[data.pLink._face])); break;	}	data.clr = clr;		//trace('W ' + nW + ' H ' + nH + ' this ' + movie);		switch(data.type)	{		case data.pLink.BG_TYPE_COMBO:			data.clr = globalStyleFormat[data.pLink._background];			this.drawComboBox(movie, nW, nH, data);			break;		case data.pLink.BG_TYPE_SCROLL:			data.clr = globalStyleFormat[data.pLink._scroll_track];			this.drawScrollBack(movie, nW, nH, data);			break;		case data.pLink.BTN_TYPE_COMBO:			//data.clr = globalStyleFormat[data.pLink._face];			data.clr = globalStyleFormat[data.pLink._scroll_track];			this.drawComboBoxBtn(movie, nW, nH, data);			break;		case data.pLink.BTN_TYPE_SCROLL:			movie.clear();			//data.clr = globalStyleFormat[data.pLink._scroll_face];			this.drawRoundDrop(movie, 0, 0, nW, nH, data.clr, data);			break;		case data.pLink.BTN_TYPE_SCROLL_LOW:		case data.pLink.BTN_TYPE_SCROLL_HI:			data.clr = globalStyleFormat[data.pLink._scroll_arrow];			this.drawScrollLayer(movie, nW, nH, data);			break;		case data.pLink.BTN_TYPE_HIDE:		case data.pLink.BTN_TYPE_MINIMIZE:		case data.pLink.BTN_TYPE_CLOSE:			this.drawTitleButton(movie, nW, nH, data);			break;		case "resizeHandle":			drawResizeHandleBtn(movie, nW, nH, data.clr); //!			break;		case data.pLink.BTN_TYPE_RECT:			drawLayer(movie, nW, nH, 0xffffff, data.clr, data.border);//!			break;		default:			movie.clear();			this.drawRoundDrop(movie, 0, 0, nW, nH, data.clr, data);			break;	}}_global.AquaLook.prototype.drawScrollLayer = function(movie:MovieClip, nW:Number, nH:Number, data:Object):Void{	movie.clear();	var colors:Array = new Array(0xffffff, 0xffffff, 0xffffff);	var alphas:Array = new Array(50, 100, 50);	var ratios:Array = new Array(0, 180, 255);	var bLow:Boolean = data.type == data.pLink.BTN_TYPE_SCROLL_LOW;		if(data.dir == "vert")	{		var w:Number = nW * 4 / 11;		var h:Number = nH / 3;		var off:Number = bLow ? 1 : 0;		var matrix:Object = {matrixType:"box", x:1, y:off, w:w, h:nH - (1 - off), r:0};		movie.beginGradientFill("linear", colors, alphas, ratios, matrix);		movie.moveTo(1, off);		var obj:Object = this.drawArc(movie, 1, off, w, -90, 90, h);		var curX:Number = w + 1;		var curY:Number = nH - h - (1 - off);		movie.lineTo(curX, curY);		obj = this.drawArc(movie, curX, curY, w, -90, 0, h);		movie.lineTo(1, off);		movie.endGradientFill();		//1) color of arrow 2) alpha		movie.beginFill(0, 80);		w = nH / 3;		h = nH / 5;		movie.moveTo(nW / 2, bLow ? nH / 2 - h : nH / 2 + h);		movie.lineTo(nW / 2 - w / 2, bLow ? nH / 2 + h : nH / 2 - h);		movie.lineTo(nW / 2 + w / 2, bLow ? nH / 2 + h : nH / 2 - h);		movie.lineTo(nW / 2, bLow ? nH / 2 - h : nH / 2 + h);		movie.endFill();	}	else	{		var w:Number = nW / 3;		var h:Number = nH * 4 / 11;		var off:Number = data.type == data.pLink.BTN_TYPE_SCROLL_LOW ? 1 : 0;		var matrix:Object = {matrixType:"box", x:off, y:1, w:w - (1 - off), h:nH, r:Math.PI / 2};		movie.beginGradientFill("linear", colors, alphas, ratios, matrix);		movie.moveTo(off, 1);		var obj:Object = this.drawArc(movie, off, 1, w, 90, 180, h);		var curX:Number = nW - w - (1 - off);		var curY:Number = h + 1;		movie.lineTo(curX, curY);		obj = this.drawArc(movie, curX, curY, w, 90, 270, h);		movie.lineTo(off, 1);		movie.endFill();		movie.beginFill(0, 80);		w = nW / 5;		h = nW / 3;		movie.moveTo(bLow ? nW / 2 - w : nW / 2 + w, nH / 2);		movie.lineTo(bLow ? nW / 2 + w : nW / 2 - w, nH / 2 - h / 2);		movie.lineTo(bLow ? nW / 2 + w : nW / 2 - w, nH / 2 + h / 2);		movie.lineTo(bLow ? nW / 2 - w : nW / 2 + w, nH / 2);		movie.endFill();	}		delete colors;	delete alphas;	delete ratios;	delete matrix;	movie.drawRect(0, 0, nW, nH, 0, 0);}_global.AquaLook.prototype.drawArc = function(movie:MovieClip, x:Number, y:Number, radius:Number,	arc:Number, startAngle:Number, yRadius:Number, color:Number):Object{	if(color != null && color != undefined) movie.lineStyle(1, color, 100);	// if yRadius is undefined, yRadius = radius	if (yRadius == undefined) yRadius = radius;	// Init vars	var segAngle, theta, angle, angleMid, segs, ax, ay, bx, by, cx, cy:Number;	// no sense in drawing more than is needed :)	if (Math.abs(arc) > 360) arc = 360;	segs = Math.ceil(Math.abs(arc) / 45);	// Now calculate the sweep of each segment	segAngle = arc / segs;	// The math requires radians rather than degrees. To convert from degrees	// use the formula (degrees/180)*Math.PI to get radians. 	theta = -(segAngle / 180) * Math.PI;	// convert angle startAngle to radians	angle = -(startAngle / 180) * Math.PI;	// find our starting points (ax,ay) relative to the specified x,y	ax = x - Math.cos(angle) * radius;	ay = y - Math.sin(angle) * yRadius;	// if our arc is larger than 45 degrees, draw as 45 degree segments	// so that we match Flash's native circle routines.	if (segs > 0)	{		// Loop for drawing arc segments		for (var i = 0; i < segs; i++)		{			// increment our angle			angle += theta;			// find the angle halfway between the last angle and the new			angleMid = angle-(theta / 2);			// calculate our end point			bx = ax + Math.cos(angle) * radius;			by = ay + Math.sin(angle) * yRadius;			// calculate our control point			cx = ax + Math.cos(angleMid) * (radius / Math.cos(theta / 2));			cy = ay + Math.sin(angleMid) * (yRadius / Math.cos(theta / 2));			// draw the arc segment			movie.curveTo(cx, cy, bx, by);		}	}	return {x:bx, y:by};}_global.AquaLook.prototype.drawScrollBack = function(movie:MovieClip, nW:Number, nH:Number, data:Object):Void{	movie.clear();	var bVert:Boolean = data.dir == "vert";	var colors:Array = new Array(data.clr, 0xffffff);	var alphas:Array = new Array(100, 100);	var ratios:Array = new Array(0, 188);	var matrix:Object = {matrixType:"box", x:0, y:0, w:nW, h:nH, r:bVert ? 0 : Math.PI / 2};	movie.beginGradientFill("linear", colors, alphas, ratios, matrix);	this.drawFillRect(movie, 0, 0, nW, nH);	movie.endFill();	delete colors;	delete alphas;	delete ratios;	delete matrix;	var colors:Array = new Array(globalStyleFormat[data.pLink._scroll_track], 0xffffff);	var alphas:Array = new Array(30, 0);	var ratios:Array = new Array(0, 180);	var size:Number = Math.min(nW, nH);	var x:Number = bVert ? 0 : size;	var y:Number = bVert ? size : 0;	var matrix:Object = {matrixType:"box", x:x, y:y, w:size, h:size, r:bVert ? Math.PI / 2 : 0};	movie.beginGradientFill("linear", colors, alphas, ratios, matrix);	this.drawOvalRect(movie, x, y, size, size);	movie.endFill();	delete matrix;	x = bVert ? 0 : nW - size * 2;	y = bVert ? nH - size * 2: 0;	var matrix:Object = {matrixType:"box", x:x, y:y, w:size, h:size, r:bVert ? Math.PI * 3 / 2 : Math.PI};	movie.beginGradientFill("linear", colors, alphas, ratios, matrix);	this.drawOvalRect(movie, x, y, size, size);	movie.endFill();	delete colors;	delete alphas;	delete ratios;	delete matrix;}_global.AquaLook.prototype.drawFillRect = function(movie:MovieClip, x:Number, y:Number, w:Number, h:Number):Void{	movie.moveTo(x, y);	movie.lineTo(x + w, y);	movie.lineTo(x + w, y + h);	movie.lineTo(x, y + h);	movie.lineTo(x, y);}_global.AquaLook.prototype.drawTitleButton = function(movie:MovieClip, nW:Number, nH:Number, data:Object):Void{	movie.clear();	movie._alpha = 100; // xxx this line fixes alpha value, changed in other themes	if(!data.faded || data.mode != "out")	{		var clr:Number = data.mode == "press" ? 0xffffff : 0;		var alpha:Number = data.mode == "press" ? 100 : 60;		switch(data.type)		{			case data.pLink.BTN_TYPE_HIDE:				this.drawDrop(movie, 0, 0, nW, nH, data.clr, data);				if(data.mode == "press" || data.mode == "over")					this.drawMinus(movie, 0, 0, nW, nH, clr, alpha);				break;			case data.pLink.BTN_TYPE_MINIMIZE:				this.drawDrop(movie, 0, 0, nW, nH, data.clr, data);				if(data.mode == "press" || data.mode == "over")					this.drawPlus(movie, 0, 0, nW, nH, clr, alpha);				break;			case data.pLink.BTN_TYPE_CLOSE:				if(nW > nH)					this.drawRoundDrop(movie, 0, 0, nW, nH, data.clr, data);				else					this.drawDrop(movie, 0, 0, nW, nH, data.clr, data);				if(data.mode == "press" || data.mode == "over")					this.drawCross(movie, 0, 0, nW, nH, clr, alpha);				break;		}	}	else drawDrop(movie, 0, 0, nW, nH, 0xf0f0f0);}_global.AquaLook.prototype.drawMinus = function(movie:MovieClip, nX:Number, nY:Number, nW:Number, nH:Number, clr:Number, alpha:Number):Void{	var w:Number = 0.5*16;	var h:Number = 0.15*16;	var bx:Number = nX + Math.round((nW - 0.5*nW) / 2);	var by:Number = nY + Math.round((nH - 0.15*nH) / 2);		var mc:MovieClip = movie.createEmptyMovieClip('mc', 100);	mc._x = bx;	mc._y = by;		var x:Number = 0;	var y:Number = 0;		this.drawRect(mc, x, y, w, h, clr, alpha);		mc._width  = 0.5*nW; 	mc._height = 0.15*nH;}_global.AquaLook.prototype.drawPlus = function(movie:MovieClip, nX:Number, nY:Number, nW:Number, nH:Number, clr:Number, alpha:Number):Void{	var size:Number = 0.5*nW;	var thick:Number = 0.1*nH;	var x:Number = nX + Math.round((nW - size) / 2);	var y:Number = nY + Math.round((nH - size) / 2);	var cx:Number = nX + Math.round((nW - thick) / 2);	var cy:Number = nY + Math.round((nH - thick) / 2);	var dh:Number = Math.round(size - thick) / 2;	this.drawRect(movie, x, cy, size, thick, clr, alpha);	this.drawRect(movie, cx, y, thick, dh, clr, alpha);	this.drawRect(movie, cx, cy + thick, thick, dh, clr, alpha);}_global.AquaLook.prototype.drawCross = function(movie:MovieClip, nX:Number, nY:Number, nW:Number, nH:Number, clr:Number, alpha:Number):Void{	var prop:Number = 0.5; 	var size:Number = prop*16;	var size2:Number = Math.round(size / 2);	var bx:Number = nX + Math.round((nW - prop*nW) / 2);	var by:Number = nY + Math.round((nH - prop*nH) / 2);	var dX:Number = 1;	var dY:Number = 1;		var mc:MovieClip = movie.createEmptyMovieClip('mc', 100);	mc._x = bx;	mc._y = by;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -