AS3基础教程-第51课-简易计算器(补充)
在上节课的基础上,我们将为我们的简易计算器添加等于号按钮的功能。以下是具体步骤:
复制并打开新文件
1. 将50.fla复制一份,并将其重命名为51.fla。
2. 使用Flash CS6打开新文件51.fla。
添加等于号按钮的代码
等于号按钮是用于对num1和num2两个数字进行四则运算并输出结果的。由于其作用与其他按钮明显不同,所以我们需要将等于号按钮的代码单独书写。
我们将新增的代码写在所有代码的最底部。
修改响应函数内的代码
接下来,我们需要往响应函数内添加代码。在上节课中,我们定义了ysfsuoyin变量,它的有效值仅有四个:0123,分别对应加减乘除四种运算。
在这里,ysfsuoyin将发挥重要作用。
显示运算结果
现在,num3已经可以按照我们的要求得到正确的数值。接下来,我们只需要将该数值显示在舞台上的动态文本框内即可。
由于用户在单击等于号按钮之后,希望立即看到运算结果,所以我们需要直接在代码的后面添加相关内容。
修复显示问题
测试影片后,我们发现num2和num1叠加在一起,导致运算结果出错。首先,我们需要将num2的显示与num1区分开。
将代码添加到指定位置,这里使用了三目运算符(?:),它等同于if else语句的写法。通过对numkg进行判断,我们可以让动态文本框分别显示num1和num2。
然而,在进行测试影片后,我们发现问题依旧。原因是我们的代码调用了xianshistr的内容,在启用num2模式时没有清空其值,导致num2追加到了num1后面。
为解决这个问题,我们只需要增加以下一行代码:
修复用户输入问题
测试影片后,我们发现一个bug:用户完成第一次运算后,如果继续输入数字进行第二次运算,舞台上显示的数字并不是当前输入的数字,给人一种奇怪的感觉。
仔细观察会发现,当前输入的数字是在第一次运算的num2的基础上追加的。为了解决这个问题,我们需要在等于号的响应函数内将num1、num2和xianshistr的值都清空。
为了方便后续代码的修改,我在本节课的源码中添加了一些注释。这些注释包括两个部分:对代码进行分块,以及对一些地方进行解说。
待完善的功能
尽管我们已经实现了大部分功能,但还有两个按钮没有添加功能,即小数点和AC按钮。这些功能将在后续的教程中逐一解决。
需要注意的是,编写代码不是一蹴而就的过程,需要一个个功能逐一添加,并进行反复调试和纠错。这是一个慢工细活,需要耐心和细心。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。