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还可以这样玩吧!
【责任编辑:星河 频道主编:赵家雄】 |