AS3基础教程-第20课-加法运算小程序(中)

2026-02-27 06:58:32

1、将重命名为20.fla的文件用flashCS6打开,我们先设计界面。

因为本节课需要告知读者做题的进度,故需要新增一个动态文本,我们在 图层1 内,使用文本工具,设置为动态文本,实例名设置为 jindu_txt

如下图所示,设置其属性

AS3基础教程-第20课-加法运算小程序(中)

2、打开动作面板,我们直接修改代码。

首先,需要新增两个变量,一个用于存储当前题目的题号,另一个用于存储题目的上限(本教程设为10道题)。

因为题目的上限一经设定将不被允许修改,故此将其设为常量,更好一些。

变量与常量有何不同呢?

<1>变量用var关键字定义;常量用const关键字定义

<2>变量定义时可以赋值,也可以不赋值;常量在定义的时候必须赋值,否则报错

<3>变量的值在后续代码中可以随时进行修改;常量的值在定义时就被限定住了,后续代码中不允许被修改

于是乎,我们在原先代码的最上面新增下面的两行代码:

var dqtm:uint=1//存储当前题目

const zgtm:uint=10//存储总共题目

3、我们需要实现下面的效果:

flash文件一打开,就自动出题,也就是第一道题。按钮的作用就是切换到下一题。

那么,flash文件打开时就需要执行num1和num2的随机生成数字的代码,单击按钮的时候也要执行重复的代码。所以,为了节约篇幅,我们将出题的代码定义成函数,然后使用的时候直接调用即可。

看现有代码的下面一段:

num1=Math.random()*100

num2=Math.random()*100

asw=num1+num2

num1_txt.text=String(num1)

num2_txt.text=String(num2)

上述代码中的前两行就是用于生成2个随机数

第三行是将这两个随机数相加并赋值给asw变量

后面两行代码是用于显示舞台上的两个动态文本的

我们将整个这一段代码单独抽离出来,定义到一个函数体的内部。

具体操作步骤是,最上面敲一下回车,新增下面的代码:

function chuti(){

在最下面敲一下回车,新增下面的代码:

}

修改后的代码如下图。如此一来,将出题的代码定义成一个名为chuti()的函数,后面需要用到的时候,直接执行chuti()即可

AS3基础教程-第20课-加法运算小程序(中)

4、由于一打开flash文件就需要出题,因此,我们在上面的函数体的后面,直接调用之。

又由于每次单击按钮也要出题,故此,在按钮内部直接调用之。这里需要注意,必须将调用的代码放在判断的后方,也就是说,需要先让flash判断完毕当前的题目,然后再出下一题。

如下图所示新增两行调用的代码。

AS3基础教程-第20课-加法运算小程序(中)

5、现在来处理题目的进度,我准备使用下面的形式进行呈现:

当前题目/总题目

故此,将题目的进度放入出题函数的内部即可,我们在代码的第8行的函数体内部,新增如下的一行代码:

jindu_txt.text=""+dqtm+"/"+zgtm

AS3基础教程-第20课-加法运算小程序(中)

6、接下来,需要在按钮单击的内部,修改dqtm的数值,每单击一次按钮,dqtm的值就+1,故此使用自加运算符即可。

需要特别注意,添加的位置,见下图,将

dqtm++

这一行代码,必须加在判断语句和chuti()之间!

AS3基础教程-第20课-加法运算小程序(中)

7、现在已经可是实现出多道题的要求,但是题目到了10之后,单击按钮还会增加,因此需要做一下限制。新增一个判断语句即可。

我们将最后面的这两行代码:

dqtm++

chuti()

用一个判断语句圈起来即可,修改后的代码如下:

if(dqtm<zgtm){

dqtm++

chuti()

}

AS3基础教程-第20课-加法运算小程序(中)

8、如此一来,我们本节课的目的终于完美的实现了。

不过,测试的时候,我们可能有这样的想法:

如果观众没有向输入文本框内输入任何的数字,而是直接点击按钮,就会跳转到下一题!

可否做一下设置,必须让观众输入数字后,才可以跳转到下一题?

答案是肯定的,我们下节课再行修改。请不要忘记保存本节课的fla文件哦

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢