免費論壇 繁體 | 簡體
Sclub交友聊天~加入聊天室當版主
分享

AS3简易四则运算

本文来自:★flash之路-flash技术交流★ 转帖请注明出处! 作者:网雨霏霏 您是第3676个浏览者

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
flashroad友情提示:
“点评”不是“回帖”!
本例给出加减乘除共四种数学运算的实例。为了降低学习难度,每一个实例都只是单纯的一种运算。

一、准备工作
<Part1>准备各种类型的文本
【1】在舞台上放置两个动态文本,并分别设置实例名为num1和num2
属性面板内设置消除锯齿的方式是“使用设备字体”,这样无需嵌入字体。
这两个文本是用于产生两个进行四则运算的数字的
【2】再放置一个动态文本,实例名是notice,用于在屏幕上显示提示信息,告知用户是否做对了
【3】继续放置两个静态文本,一个写上+,一个写上=
【4】最后放置一个输入文本,实例名为num3,是让用户输入计算的答案的
【5】为了方便用户看到非静态文本,我们给num1 num2  num3都设置为显示边框,最终效果如下图所示:

<Part2>添加按钮
【6】插入一个新图层,从公用库内拖出一个按钮布置在舞台上,用于出题,将实例名设为xyt
【7】新建一个图层,用于写代码。
您所在的用户组只能看到部分内容.
如查看全部内容, 请先登录或者注册.
附件: 您需要登录才可以下载或查看附件。没有帐号?注册

友情提示:单击下列任意一个表情,即可瞬间自动回复本帖!

好贴......
郁闷......
开心......
擦汗......
鄙视......
狂怒
谢谢
爱你呦
拜托了
嗯嗯
OMG
求关注
伤心......
无奈.....
无奈.....
无奈.....
无奈.....
无奈.....
哈哈哈
NO
OK
what
我来了

最近访问本帖者列表:

哈哈同意
访问时间:2020-06-20 16:25
迷彩不流泪
访问时间:2020-02-18 23:48
武汉加油
访问时间:2020-02-05 22:30
网雨霏霏
访问时间:2019-08-13 12:06
横沟
访问时间:2019-06-19 23:29
虚心
访问时间:2019-04-05 11:11

打赏

取消

感谢您的支持,我会继续努力的!

扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

Powered by 爱秀代码,分享从这里开始,精彩与您同在

点评
B Color Smilies

您还可以输入:个字符
X

X

【1】加法运算

代码如下:
  1. var sznum1:uint//对应num1
  2. var sznum2:uint//对应num2


  3. //编写出题函数
  4. function chuti(){

  5. sznum1=Math.ceil(Math.random()*99)//生成一个在1到99之间的随机数(包含1和99)

  6. sznum2=Math.ceil(Math.random()*99)//同上。这两个数字一般是不同的

  7. num1.text=""+sznum1//在舞台上显示num1 舞台上的文本属性是String字符串,
  8. //赋值时必须转换为字符串。方法有两种。第一种是上一行代码,第二种是下一行代码

  9. num2.text=String(sznum2)//在舞台上显示num2  这种方式更加标准,效果与num1的一样
  10.     num3.text=""//让用户输入的文本为空
  11. }
  12. chuti()//执行出题函数。让观众一打开程序就马上有题做

  13. xyt.addEventListener(MouseEvent.CLICK, xiayiti);//给 下一题 按钮注册侦听

  14. function xiayiti(e:MouseEvent):void
  15. {


  16. if(num3.text==String(sznum1+sznum2)){

  17. notice.text="恭喜你,答对了"
  18. }
  19. else{

  20. notice.text="很遗憾,答错了"
  21. }

  22. chuti()//判断结束后进入下一题,即:调用出题函数
  23. }
复制
fla源代码下载(flashCS6格式):
本帖隐藏的内容需要回复才可以浏览
您所在的用户组只能看到部分内容.
如查看全部内容, 请先登录或者注册.
点评
B Color Smilies

您还可以输入:个字符
X

X

TOP

【2】减法运算

首先,需要将舞台上的静态文本+改为- 让观众知道这是减法运算
然后,代码仅需改动一处:
if(num3.text==String(sznum1+sznum2)){
这一行代码中的+改为-即可:
if(num3.text==String(sznum1-sznum2)){
您所在的用户组只能看到部分内容.
如查看全部内容, 请先登录或者注册.
点评
B Color Smilies

您还可以输入:个字符
X

X

TOP

【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)
如此一来,难度大大降低了。
您所在的用户组只能看到部分内容.
如查看全部内容, 请先登录或者注册.
点评
B Color Smilies

您还可以输入:个字符
X

X

TOP

【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函数,将代码修改为:
  1. function chuti(){sznum1=Math.ceil(Math.random()*99)sznum2=Math.ceil(Math.random()*99)if(sznum1<sznum2){tmp=sznum1sznum1=sznum2sznum2=tmp}num1.text=""+sznum1num2.text=String(sznum2)num3.text=""}
复制
至此,sznum1一定大于sznum2
接下来实现第二个设定
(3)需要在xiayiti函数内进行修改。修改后的代码如下:
  1. function xiayiti(e:MouseEvent):void{if(sznum1%sznum2==0){//如果能整除asw=""+sznum1/sznum2//不做修正}else{asw=""+Math.round(sznum1/sznum2*10)/10//对结果“四舍五入”并只保留一位小数}
  2. if(num3.text==asw){notice.text="恭喜你,答对了"}else{notice.text="很遗憾,答错了"}
复制
您所在的用户组只能看到部分内容.
如查看全部内容, 请先登录或者注册.
点评
B Color Smilies

您还可以输入:个字符
X

X

TOP

本例fla源代码下载(flashCS6格式)

本帖隐藏的内容需要回复才可以浏览
您所在的用户组只能看到部分内容.
如查看全部内容, 请先登录或者注册.
点评
B Color Smilies

您还可以输入:个字符
X

X

TOP

我来了.....
您所在的用户组只能看到部分内容.
如查看全部内容, 请先登录或者注册.

获得 大怪兽卡 一张

卡片说明:网雨霏霏被风吹乱了秀发,花费了7金币请理发师整理了一个酷炫发型

卡片效果:-7

点评
B Color Smilies

您还可以输入:个字符
X

X

TOP

 

B Color Image Link Quote Code Smilies
高级模式 | 发新话题

您需要登录后才可以回帖 登录|立即注册

快速
返回顶部
返回首页