本例给出加减乘除共四种数学运算的实例。为了降低学习难度,每一个实例都只是单纯的一种运算。
一、准备工作 <Part1>准备各种类型的文本 【1】在舞台上放置两个动态文本,并分别设置实例名为num1和num2 属性面板内设置消除锯齿的方式是“使用设备字体”,这样无需嵌入字体。 这两个文本是用于产生两个进行四则运算的数字的 【2】再放置一个动态文本,实例名是notice,用于在屏幕上显示提示信息,告知用户是否做对了 【3】继续放置两个静态文本,一个写上+,一个写上= 【4】最后放置一个输入文本,实例名为num3,是让用户输入计算的答案的 【5】为了方便用户看到非静态文本,我们给num1 num2 num3都设置为显示边框,最终效果如下图所示: <Part2>添加按钮 【6】插入一个新图层,从公用库内拖出一个按钮布置在舞台上,用于出题,将实例名设为xyt 【7】新建一个图层,用于写代码。
最近访问本帖者列表: | |||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||
【1】加法运算代码如下:
本帖隐藏的内容需要回复才可以浏览 | |
【3】乘法运算仍然在【1】的基础上进行修改
首先,需要将舞台上的静态文本+改为× 让观众知道这是乘法运算 然后,代码仅需改动一处: 将if(num3.text==String(sznum1+sznum2)){ 这一行代码中的+改为*即可: if(num3.text==String(sznum1*sznum2)){ 特别注意:AS中的乘法的符号是星号,不是数学中的× ==================================================== 测试的时候会发现,数字太大,不好计算。所以,可以降低一下难度: 将两个数字中的一个改为一定是一位数 我们可以将sznum2改为一位数。那么,就在chuti函数内部,将 sznum2=Math.ceil(Math.random()*99) 修改为 sznum2=Math.ceil(Math.random()*9) 如此一来,难度大大降低了。 | |
【4】除法运算仍然在【1】的基础上进行修改
首先,需要将舞台上的静态文本+改为÷ 让观众知道这是除法运算 然后,代码仅需改动一处: 将if(num3.text==String(sznum1+sznum2)){ 这一行代码中的+改为/即可: if(num3.text==String(sznum1/sznum2)){ 特别注意:AS中的除法的符号是正斜杠,不是数学中的÷ ======================================================== 测试的时候发现,几乎所有的数字都是无法整除的,会有一大串长长的小数。而用户不可能将数字计算的那么精确,所以这里需要对结果进行修正。那么,为了降低用户的计算量,我们可以做如下设定: 让sznum1一定比sznum2要大,从而让结果一定大于1 当结果不是整数的时候,一律保留到小数点后一位数<注意:我这里写的代码效果是 即使恰好是小数点后两位数也必须只保留一位数> 现在分别来实现这两个设定 (1)代码的最顶部新增一个中间变量和一个计算结果: var tmp:uint//中间变量 var asw:String//除法运算的结果 (2)修改chuti函数,将代码修改为:
接下来实现第二个设定 (3)需要在xiayiti函数内进行修改。修改后的代码如下:
| |