用FlashAS实现画图的周详讲解(2)
2008-04-02 11:06:20来源:互联网 阅读 ()
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);
}
从一点到另一点画虚线
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
代码: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 (x<toX) {
x = 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 = y 4/(Math.sqrt((toY-fromY)*
(toY-fromY) (toX-fromX)*(toX-fromX)))*(toY-fromY);
eval(targetMC).moveTo(x, y);
}
}
createEmptyMovieClip("obj",1);//建一空影片
DrawDottedLine("_root.obj", 1, 10, 10, 200, 300);
//调用函数
从场景的左上角到鼠标画虚线
代码:x = 0;
y = 0;//场景左上角的坐标
l = 0;
mx = _root._xmouse;
my = _root._ymouse;//鼠标的坐标
ml = Math.sqrt(mx*mx my*my);//三角形的斜边长
_root.moveto(0, 0);//画线的起点为场景左上角的坐标
_root.linestyle(0.1, 0x000000, 100);
// 下面用三角函数求出每一段虚线的端点坐标,
然后用循环重复画一条短线和空格。直到线的终点位置。
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇: 新浪/闪客帝国图片效果解析
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash
