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

📄 dashto.as

📁 AS3的画图功能一些源码
💻 AS
字号:
/*-------------------------------------------------------------	mc.dashTo is a metod for drawing dashed (and dotted) 	lines. I made this to extend the lineTo function because it	doesn誸 have the cutom line types that the in program	line tool has. To make a dotted line, specify a dash length	between .5 and 1.-------------------------------------------------------------*/MovieClip.prototype.dashTo = function(startx, starty, endx, endy, len, gap) {	// ==============	// mc.dashTo() - by Ric Ewing (ric@formequalsfunction.com) - version 1.2 - 5.3.2002	// 	// startx, starty = beginning of dashed line	// endx, endy = end of dashed line	// len = length of dash	// gap = length of gap between dashes	// ==============	//	// if too few arguments, bail	if (arguments.length < 6) {		return false;	}	// init vars	var seglength, deltax, deltay, segs, cx, cy;	// calculate the legnth of a segment	seglength = len + gap;	// calculate the length of the dashed line	deltax = endx - startx;	deltay = endy - starty;	delta = Math.sqrt((deltax * deltax) + (deltay * deltay));	// calculate the number of segments needed	segs = Math.floor(Math.abs(delta / seglength));	// get the angle of the line in radians	radians = Math.atan2(deltay,deltax);	// start the line here	cx = startx;	cy = starty;	// add these to cx, cy to get next seg start	deltax = Math.cos(radians)*seglength;	deltay = Math.sin(radians)*seglength;	// loop through each seg	for (var n = 0; n < segs; n++) {		this.moveTo(cx,cy);		this.lineTo(cx+Math.cos(radians)*len,cy+Math.sin(radians)*len);		cx += deltax;		cy += deltay;	}	// handle last segment as it is likely to be partial	this.moveTo(cx,cy);	delta = Math.sqrt((endx-cx)*(endx-cx)+(endy-cy)*(endy-cy));	if(delta>len){		// segment ends in the gap, so draw a full dash		this.lineTo(cx+Math.cos(radians)*len,cy+Math.sin(radians)*len);	} else if(delta>0) {		// segment is shorter than dash so only draw what is needed		this.lineTo(cx+Math.cos(radians)*delta,cy+Math.sin(radians)*delta);	}	// move the pen to the end position	this.moveTo(endx,endy);};

⌨️ 快捷键说明

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