当前位置:软件学习 > Flash >>

Flash的另类应用——解一元二次方程

朋友,有没有想过用Flash来解一元二次方程? 什么,用Flash能解一元二次方程,有没有搞错? 当然没有了,Flash的主要功能虽然不是用来计算的,但是若能进行适当的处理,也是可以进行适当计算的。

  
   (源文件下载)

  好,废话少说,下面我就为大家详细介绍这个实例的制作方法。我使用的是Flash5.0,在这个例子里主要用到了Flash的绘图工具,按钮制作,以及Actions的应用技巧等。

  详细步骤如下:

 1.启动Flash5.0,按Ctrl+M键,打开Movie Properties对话框,设定动画的大小为550pxX400px,背景为黑色,单击OK。

 2.单击Insert-New Symbol,插入一个按钮部件,命名为caculate,单击Up影格,用铅笔工具和油漆桶工具画一个矩形框,然后点击文字工具输入文字“计算”,此即为该按钮在Up时的状态, Over和Hit状态可不变,而只需把Down状态时矩形框的颜色稍改一下(比如我前面用的是黄色,这里我可用暗黄色),这样就做好了一个简单的按钮。如图1所示。然后用同样的方法制作按钮部件cls,如图2所示。

     
     (图1)          (图2)


 3.单击Insert-New Symbol,插入一个图形部件,命名为text1,点击文字工具,输入文字“计算一元二次方程”。如图3所示。用同样方法制作图形部件text2,如图4所示。

   
     (图3)

   
     (图4)

 4.单击Insert-New Symbol,插入一个动画部件,命名为nokey,然后在第2帧影格处插入一个关键帧,点击文字工具,输入文字“无解”。如图5所示。然后在第85帧处插入一个关键帧并右击之,选择Actions,打开Frame Actions对话框,加入语句gotoAndPlay(1),右击第1帧影格,选择Actions,打开Frame Actions对话框,加入语句stop。

   
     (图5)

 5.单击工具栏上的Scene1图标返回场景窗口。

 6.单击Insert-Layer,插入一个图层Layer2,

 7.单击Layer2层的第一帧影格,在场景中放入部件text2,并将此部件旋转一定角度,右击部件text2,选择Panels-Effect,打开Effect对话框,在下列列表中选择Alpha并设置其值为30%。

 8.单击Layer1层的第1帧影格,在场景中放入图形部件text1,动画部件nokey以及各按钮部件,点击文字工具在适当位置输入所需要的提示文字:“A=”,“B=”,“C=”,“X=”;然后点击直线工具,在适当位置画5个矩形框和若干直线,此时Layer1层如图6所示。

   
      (图6)

 9.点击文字工具在“A=”的右边拖一个文本框,右击该框,选择Panels-Text Options,打开Text Options对话框,在下列列表中选择Input Text,并把对应变量设为a,类似地制作“B=”,“C=”的输入框,当然对应变量应为b,c,而在制作“X=”旁边的输入框时,在Text Options对话框的下拉列表中应选择Dynamic Text,对应变量应分别设为topx和bottomx。

 10.单击Layer1层第1帧影格,右击部件caculate,选择Actions,打开Object Actions对话框,如图7所示,加入如下语句:

   
     (图7)

on (press, keyPress "<Enter>") {
determinant = (b*b)-(4*a*c);
if (Number(determinant)<0) { tellTarget ("incorrect") { gotoAndPlay (2);
} } else {
n1 = 1; loop1 = 0;
while (Number(loop1)<100) { n1 = n1-(n1*n1-determinant)/(2*n1); loop1 = Number(loop1)+1; } top = Number(-(b))+Number(n1); finish = top/(2*a); topx = finish;
n2 = 1;
loop2 = 0;
while (Number(loop2)<100) {
n2 = n2-(n2*n2-determinant)/(2*n2); loop2 = Number(loop2)+1;
}
top1 = -(b)-n2;
finish1 = top1/(2*a);vb
bottomx = finish1;
} }


 11.类似的,右击部件cls,选择Actions,打开Object Actions对话框,加入如下语句:

on (press) {
a = "";
b = "";
c = "";
topx = "";
bottomx = ""; }


 12.右击Layer1的第1帧,选择Actions,打开Frame Actions对话框,加入语句stop。

 13.单击File--Public Preview-Flash观看效果,在“A=”,“B=”,“C=”对应的输入框中输入3个数字,单击“计算”按钮,若数字合理,则给出答案,否则显示“无解”。最后效果如图8所示。

   
      (图8)

  怎么样,不错吧!原来Flash还可以这样玩吧!


【责任编辑:星河 频道主编:赵家雄


CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,