主题:  自己开发的画圆函数

5D荣誉斑竹

职务:普通成员
等级:2
金币:10.0
发贴:585
#12002/8/8 23:52:27
//******************画圆函数***************
//参数
//r 半径
//x,y 圆心坐标
//thickness 线条宽度
//rgb 线条颜色
//alpha 线条透明度
//******************************************
MovieClip.prototype.drawCircle = function(r,x,y,thickness,rgb,alpha) {
if (x==undefined) {
x = 0;
}
if (y==undefined) {
y = 0;
}
if (thickness==undefined) {
thickness = 1;
}
if (rgb==undefined) {
rgb = 0;
}
if (alpha==undefined) {
alpha = 100;
}
var cy = r*Math.SQRT2-r;
var a = r/Math.SQRT2;
this.lineStyle(thickness,rgb,alpha);
this.moveTo((r+x),y);
this.curveTo((r+x),(cy+y),(a+x),(a+y));
this.curveTo((cy+x),(r+y),x,(r+y));
this.curveTo((x-cy),(r+y),(x-a),(a+y));
this.curveTo(x-r,(cy+y),(x-r),y);
this.curveTo((x-r),(y-cy),(x-a),(y-a));
this.curveTo((x-cy),(y-r),x,(y-r));
this.curveTo((cy+x),(y-r),(a+x),(y-a));
this.curveTo((r+x),(y-cy),(r+x),y);
};
//****************画填充圆函数*****************
MovieClip.prototype.drawCircleF = function(r,x,y,rgb,alpha) {
if (rgb==undefined) {
rgb = 0;
}
this.beginFill(rgb);
this.drawCircle(r,x,y,1,rgb,alpha);
this.endFill();
};
// ***************画矩形函数*******************
// 参数
// x1,y1 起始点坐标
// x2,y2 终点坐标
// thickness 线条宽度
// rgb 线条颜色
// alpha 线条透明度
// ******************************************
MovieClip.prototype.drawBox = function(x1, y1, x2, y2, thiceness, rgb, alpha) {
if (x1 == undefined) {
x1 = 0;
}
if (y1 == undefined) {
y1 = 0;
}
if (thickness == undefined) {
thickness = 1;
}
if (rgb == undefined) {
rgb = 0;
}
if (alpha == undefined) {
alpha = 100;
}
this.lineStyle(thickness, rgb, alpha);
this.moveTo(x1, y1);
this.lineTo(x2, y1);
this.lineTo(x2, y2);
this.lineTo(x1, y2);
this.lineTo(x1, y1);
};
//************画填充矩形函数*******************
MovieClip.prototype.drawBoxF = function(x1, y1, x2, y2,rgb, alpha) {
if (rgb==undefined) {
rgb = 0;
}
this.beginFill(rgb);
this.drawBox(x1,y1,x2,y2,1,rgb,alpha);
this.endFill();
};



5D荣誉斑竹

职务:普通成员
等级:2
金币:10.0
发贴:585
#22002/8/8 23:57:04
应用的例子,画板(还不完善)



doi

职务:普通成员
等级:1
金币:0.0
发贴:39
#32002/8/9 8:21:33
这个太好了~~~如果把鼠标变一下效果就更好了~~~



SnOwpEar

职务:普通成员
等级:3
金币:10.0
发贴:792
#42002/8/9 9:20:02
基本功能都具备了,


需北京西三环附近长期兼职asp程序员

5D荣誉斑竹

职务:普通成员
等级:2
金币:10.0
发贴:585
#52002/8/9 12:50:59
鼠标的样式正在制作,得一步一步来。还有许多功能要完善。



Demon.S

职务:版主
等级:5
金币:10.0
发贴:2468
#62002/8/9 13:11:08
画到外面了……
两个选项有同时选中的可能,例如直线和园



realbobo

职务:普通成员
等级:1
金币:1.0
发贴:180
#72002/8/9 16:29:10
怎么没写橡皮擦的函数啊?是怎么完成的?



5D荣誉斑竹

职务:普通成员
等级:2
金币:10.0
发贴:585
#82002/8/13 20:48:51
我正想请教如何让它不画到外面去。同时选中的问题,我再回去看看程序哪里出的毛病。



5D荣誉版主

职务:普通成员
等级:4
金币:19.0
发贴:1150
#92002/8/13 22:01:44
太有意思了,我以前就想过,在条件可能的情况下,Flash能不能作出一款绘图软件?或一个Flash(我是程序盲,说的话太傻见谅)



mxswl

职务:普通成员
等级:1
金币:0.0
发贴:3
#102002/8/14 1:52:28
Slove way:
Make the graphics's depth less than the panel.



Demon.S

职务:版主
等级:5
金币:10.0
发贴:2468
#112002/8/14 13:02:56
1 用mask
2 就做一个标示变量表示当前按钮状态。



恐龙特急克塞号

职务:普通成员
等级:3
金币:3.0
发贴:948
#122002/8/15 14:31:21
感觉自己的无知和渺小----------哈哈


克塞,前来拜访!

realbobo

职务:普通成员
等级:1
金币:1.0
发贴:180
#132002/8/15 16:02:24
不知道可不可以用东西把外边挡住



Painache

职务:普通成员
等级:1
金币:0.0
发贴:21
#142002/8/21 0:04:03
能把自由曲线的工具开发出来么?那就更牛了



civ3

职务:普通成员
等级:1
金币:0.0
发贴:45
#152002/8/21 10:08:03
BlueJack曾说
引用:
我正想请教如何让它不画到外面去。

我想,可以设置_root的舞台尺寸为画板尺寸,然后锁定舞台尺寸
fscommand("allowscale", "false");

我的办法没有从根本上解决“画出去”的问题,只是让外面的内容不被显示而已。
这是我做flashMTV总结的经验,Flash Designer来的朋友也不妨借鉴
还有一个Bug,橡皮擦使用会导致调色板残缺。不知道是不是“层”的问题。