快速业务通道

利用FlashMX的AS画线集萃

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-11


效果:类似flash中的工具
代码: createEmptyMovieClip("line", n);
with (line) {
for (n=1; n<400; n++) {
a = 50*Math.cos(n*Math.PI/180);
b = 50*Math.sin(n*Math.PI/180);
c = 50*Math.cos((n+1)*Math.PI/180);
d = 50*Math.sin((n+1)*Math.PI/180);
lineStyle(0.01, 0x000000, 50);
moveTo(a+50, b+50);
lineTo(c+50, d+50);
}
line._visible = 0;
}
_root.onMouseDown = function() {
qidian_x = _root._xmouse;
qidian_y = _root._ymouse;
with (line) {
_x = qidian_x;
_y = qidian_y;
_xscale = 0;
_yscale = 0;
_visible = 1;
}
};
_root.onMouseMove = function() {
endX = _root._xmouse;
endY = _root._ymouse;
if (_root.line != "_root.line" && key.isdown(16)) {
if (Math.abs(endX-qidian_x)>Math.abs(endY-qidian_y)) {
setProperty(_root.line, _xscale, endX-qidian_x);
setProperty(_root.line, _yscale, endX-qidian_x);
} else {
setProperty(_root.line, _xscale, endY-qidian_y);
setProperty(_root.line, _yscale, endY-qidian_y);
}
} else {
setProperty(_root.line, _xscale, endX-qidian_x);
setProperty(_root.line, _yscale, endY-qidian_y);
}
};
_root.onMouseUp = function() {
if (_root._xmouse-qidian_x != 0) {
i++;
Objectx = "Copy" add i;
duplicateMovieClip(_root.line, Objectx, i);
setProperty(Objectx, _x, qidian_x);
setProperty(Objectx, _y, qidian_y);
_root.i = i;
}
setProperty(_root.line, _visible, 0);
};

两定点画虚线
代码:MovieClip.prototype.dashTo = function(startPoint, destPoint, dashLength, spaceLength) {
var x = destPoint.x-startPoint.x;
var y = destPoint.y-startPoint.y;
var hyp = Math.sqrt((x)*(x)+(y)*(y));
var units = hyp/(dashLength+spaceLength);
var dashSpaceRatio = dashLength/(dashLength+spaceLength);
var dashX = (x/units)*dashSpaceRatio;
var spaceX = (x/units)-dashX;
var dashY = (y/units)*dashSpaceRatio;
var spaceY = (y/units)-dashY;
this.moveTo(startPoint.x, startPoint.y);
while (hyp>0) {
startPoint.x += dashX;
startPoint.y += dashY;
hyp -= dashLength;
if (hyp<0) {
startPoint.x = destPoint.x;
startPoint.y = destPoint.y;
}
this.lineTo(startPoint.x, startPoint.y);
startPoint.x += spaceX;
startPoint.y += spaceY;
this.moveTo(startPoint.x, startPoint.y);
hyp -= spaceLength;
}
this.moveTo(destPoint.x, destPoint.y);
};
createEmptyMovieClip("DrawingSpace", 1);
with (DrawingSpace) {
lineStyle(0, 0x000000, 100);
dashTo({x:300, y:0}, {x:0, y:400}, 3, 10);
}



从一点到另一点画虚线

代码:
function DrawDottedLine(targetMC, linewidth, fromX, fromY, toX, toY) {
// targetMC: 目标MovieClip德InstanceName;
// linewidth: 线宽;
// fromX, fromY: 从(fromX, fromY)处开始画;
// toX, toY: 画到(toX, toY)处;
var x, y;
eval(targetMC).lineStyle(lineWidth, 0x000000, 100);
// 线的颜色是黑色(0x000000)
eval(targetMC).moveTo(fromX, fromY);
x = fromX;
y = fromY;
while (xx = x+4/(Math.sqrt((toY-fromY)*(toY-fromY)+(toX-fromX)*(toX-fromX)))*(toX-fromX);
y = y+4/(Math.sqrt((toY-fromY)*(toY-fromY)+(toX-fromX)*(toX-fromX)))*(toY-fromY);
eval(targetMC).lineTo(x, y);
x = x+4/(Math.sqrt((toY-fromY)*(toY-fromY)+(toX-fromX)*(toX-fromX)))*(toX-fromX);
y =

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号