欢迎来到论文网! 识人者智,自知者明,通过生日认识自己! 生日公历:
网站地图 | Tags标签 | RSS
论文网 论文网8200余万篇毕业论文、各种论文格式和论文范文以及9千多种期刊杂志的论文征稿及论文投稿信息,是论文写作、论文投稿和论文发表的论文参考网站,也是科研人员论文检测和发表论文的理想平台。lunwenf@yeah.net。
您当前的位置:首页 > 毕业论文 > 计算机毕业论文

3中实现动态图形的选中与编辑_动态绘图-论文网

时间:2014-08-21  作者:程海生
vary2:Number=-(y0-200);

this.graphics.clear();//清除原有图像

//以下几句通过color参数的不同,定义不同的线条样式

if(color=='blue'){

this.graphics.lineStyle(3,0x1000FF,0.8);

}elseif(color=='red'){

this.graphics.lineStyle(3,0xff0000,0.8);

}elseif(color=='yellow'){

this.graphics.lineStyle(3,0xffcc00,0.8);

}

this.graphics.moveTo(x2,y2);//设置画线起点

//以下使用循环语句绘图,由多条小线段组成函数图像,由于线段都很短,看起来函数图像还是很平滑的

for(x0=-274;x0

x1=x0/20;

y1=a1*Math.pow(x1,2)+b1*x1+c1;

y0=y1*20;

x2=x0+275;

y2=-(y0-200);

this.graphics.lineTo(x2,y2);//画线

this.graphics.moveTo(x2,y2);

}

}

}

}

(2)打开“动态绘形的选中与编辑.fla”在其第一帧上输入语句如下:

fscommand('allowscale','true');//允许缩放

varhuitu:MovieClip=newMovieClip();//创建一个MovieClip类对象huitu,绘图在这个对象中

addChild(huitu);//显示对象huitu

varjm1:jm=newjm();//创建jm类的对象jm1,这样可以使我们静态绘制的“界面”在动态图形的上层

addChild(jm1);

varediting:uint=0;//保存正在编辑的动态图形的标号

varmaxn:uint=1000;//以下几句定义一维数组并赋初始值,数组用于正在显示的所有动态图象的标号

varmysz=newArray();

for(vari=0;i

mysz[i]=0;

}

jm1.pwxfc.visible=false;//不显示抛物线方程

//如果有其它方程也在此设置,如:jm1.yuanfc.visible=false;

jm1.add_pwx.addEventListener(MouseEvent.CLICK,addpwx1);//为“添加抛物线”按钮添加鼠标侦听事件

functionaddpwx1(e:MouseEvent){

jm1.pwxfc.visible=true;//显示抛物线方程

//如果有其它方程设为不显示如:jm1.yuanfc.visible=false;

if(editing!=0){//如果有正在编辑的图象重设为不编辑状态,变为“蓝色”

if(huitu['f'+editing].tuxing=='pwx'){//如果正在编辑的图像是抛物线,重绘抛物线为蓝色

huitu['f'+editing].draw_pwx('blue');

}//如果正在编辑的是其它方程的图像写后面如:elseif(huitu['f'+editing].tuxing=='yuan'){huitu['f'+editing].draw_yuan('blue');}

editing=0;//为零表示没有正在编辑的图像

}

jm1.pwxfc.a1.value=0;//将抛物线方程中的三个组件清零

jm1.pwxfc.b1.value=0;

jm1.pwxfc.c1.value=0;

editing=1;//以下几句找到一个没有用过的标号

while(mysz[editing]!=0){

editing++;

}

huitu['f'+editing]=newpwx_mc();//在huitu对象中,以“'f'+editing”为对象命创建一个基于pwx_mc的对象

huitu['f'+editing].n=editing;//将新标号保存到数组中

huitu.addChild(huitu['f'+editing]);//在huitu对象内显示对象'f'+editing

huitu['f'+editing].addEventListener(MouseEvent.MOUSE_DOWN,f_pwx);//为对象'f'+editing添加鼠标按下事件,用于选中这个图象。

functionf_pwx(e:MouseEvent){

if(editing!=0){//如果有正在编辑的图像改为不编辑状态

if(huitu['f'+editing].tuxing=='pwx'){//正在编辑的图像是抛物线,重绘抛物线图像为蓝色

huitu['f'+editing].draw_pwx('blue');

}//如果是其它图像可以写在后面

}

e.target.draw_pwx('red');//将鼠标按下的抛物线图像变为红色,即编辑状态

jm1.pwxfc.visible=true;//显示抛物线方程

//如果有其它方程都不显示如:jm1.yuanfc.visible=false;

jm1.pwxfc.a1.value=e.target.a1;//以下三句将一元二次方程的三个参数返还给相应组件用于编辑

jm1.pwxfc.b1.value=e.target.b1;

jm1.pwxfc.c1.value=e.target.c1;

editing=e.target.n;//将正在编辑图像的标号设为这个图像的

}

huitu['f'+editing].addEventListener(MouseEvent.MOUSE_OVER,f_pwx2);//为对象'f'+editing添加MOUSE_OVER事件当鼠标指向这个函数图象时变为黄色

functionf_pwx2(e:MouseEvent){

e.target.draw_pwx('yellow');

}

huitu['f'+editing].addEventListener(MouseEvent.MOUSE_OUT,f_pwx3);//为对象'f'+editing添加MOUSE_OUT事件当鼠标离开这个函数图象时变为原有颜色

functionf_pwx3(e:MouseEvent){

if(e.target.n==editing){

e.target.draw_pwx('red');

}else{

e.target.draw_pwx('blue');

}

}

}

//下面几句分别为方程中三个NumericStepper组件添加监听事件

jm1.pwxfc.a1.addEventListener(Event.CHANGE,pwx);

jm1.pwxfc.b1.addEventListener(Event.CHANGE,pwx);

jm1.pwxfc.c1.addEventListener(Event.CHANGE,pwx);

functionpwx(e:Event){

huitu['f'+editing].a1=jm1.pwxfc.a1.value;//以下三句将方程中的三个NumericStepper组件的值保存到对象的相应变量中

huitu['f'+editing].b1=jm1.pwxfc.b1.value;

huitu['f'+editing].c1=jm1.pwxfc.c1.value;

huitu['f'+editing].draw_pwx('red');//在对象中绘制红色一元二次方程图像

mysz[editing]=editing;//保存函数标号

}

jm1.shanchu.addEventListener(MouseEvent.CLICK,shanchu1);//为“删除”按钮添加鼠标单击事件

functionshanchu1(e:MouseEvent){

jm1.pwxfc.visible=false;//不显示抛物线方程

//如有其它方程也设为不显示如:jm1.yuanfc.visible=false;

if(editing!=0){//有正有编辑的图像,移除这个图像所在的对象

huitu.removeChild(huitu['f'+editing]);

mysz[editing]=0;//将数组中相应元素清零

editing=0;//editing=0表示没有正在编辑的图象

}

}

jm1.ok.addEventListener(MouseEvent.CLICK,ok1);//为“确定”按钮添加鼠标单击事件

functionok1(e:MouseEvent){

jm1.pwxfc.visible=false;//不显示抛物线方程

//如果有其它方程也在此设为不显示

if(editing!=0){如果有正有编辑的图像,将其变为不编辑状态,其蓝色

if(huitu['f'+editing].tuxing=='pwx'){//如果正在编辑的图像是抛物线变为不编辑状态“蓝色”

huitu['f'+editing].draw_pwx('blue');

}//如果正在编辑的图像是其它函数图像也在后面

editing=0;//editing=0;表示没有正在编辑的图像

}

}

stop();

至此我们的Flash动态绘图程序已经有了选中和编辑的功能了,可以测试一下看看效果了。

图4

查看相关论文专题
加入收藏  打印本文
上一篇论文:混沌同步及其在保密通信中的应用_混沌系统-论文网
下一篇论文:浅谈多媒体辅助教学的优势与课件制作应注意的问题_注意问题-论文网
毕业论文分类
行政管理毕业论文 工商管理毕业论文
护理毕业论文 会计毕业论文
会计专业毕业论文 英语专业毕业论文
大学毕业论文 硕士毕业论文
计算机毕业论文 市场营销毕业论文
物流管理毕业论文 法学毕业论文
相关计算机毕业论文
最新计算机毕业论文
读者推荐的计算机毕业论文