| 首页 | 新闻 | 网页 | 设计 | 色彩 | 原创 | 视觉 | 素材 | 动漫 | 酷站 | 策划 | 文案 | 访谈 | 运营 | 编程 | 数据库 | 服务器 | 下载 | 图库 | 
您的位置: 幽幽天空 > 网页 > 网页制作 > Flash教程 > ActionScript教程 > 文章正文 用户登录
265上网导航CEO:
“翻页”的做法
流加载flv如何显示
旋转文字的另一种
利用VB设计打印复
用Visual Basic创
复杂检索数据并分
网页在线人数统计
复杂表单的动态生
域名登记查询(who

复杂做法·计算器做法           

复杂做法·计算器做法

作者:佚名 来源:不详 更新:2007-1-13 20:49:10 错误报告 我要投稿

以下是示范:
点击浏览该文件
示范源码:
点击浏览该文件

思路:
按钮1~9是数字,当按下按钮前,输入的是加、减、乘、除数,按下符号后所输入的是被加、被减、被乘、被除数
加、减、乘、除数存储在动态文本t1中
被加、被减、被乘、被除数存储在动态文本t2中
+-*/符号存储在动态文本fhpd中
判断是否按下+-*/从而决定是否输入的是被加、被减、被乘、被除数的变量存储在fdpd2中(做完才发现这样做复杂了……不过懒得改了,会的大家自己改吧HOHO)
另外,我写完了教程才发现……我忘了做0的按钮和小数点……不过道理是一样的,大家自己加吧

插入组建篇:
首先在场景上画出各个按钮,并且插入几个动态文本,实例名以及排列如下图所示:

按此在新窗口浏览图片
(图1)

AS编写篇:
首先,在第一帧加入AS,初始化变量:


a=0
t1=""
t2=""
t3=""
fhpd=1

数字的按钮1上面加上AS:


on (click) { //当单击按钮的时候
   if (_root.fhpd != 0) { //如果主场景上fhpd这个动态文本的值不等于0,则执行以下AS
      _root.t1 = _root.t1+1; //主场景上的t1这个动态文本的值为t1本身的值累加一个1(不是在本身上面加1,比如原来是9,按下1后则是91,而不是10)等下有解释。
      _root.txt=_root.t1 //主场景上txt这个动态文本框的值等于t1这个动态文本框的值(就是加减乘除数),就是在最上面的最终答案显示区的那个显示现在所输入的数字,具体样子可以参考WINDOWS的计算器
   } else { //否则(既fhpd的值等于0的时候),执行以下AS:
      _root.t2 = _root.t2+1; //主场景上t2的值(就是被加减乘除数)
      _root.txt=_root.t2 //主场景上txt这个动态文本框的值等于t2这个动态文本框的值(就是加减乘除数),就是在最上面的最终答案显示区的那个显示现在所输入的数字,具体样子可以参考WINDOWS的计算器
   }
}
注意到AS中红色的“1”了吗?因为这段AS是写在按钮1上的,所以这里是让没按下一次1则t1的值为t1+1,比如t1现在的值是9,按下一次1后t1的值就是91了。
依此类推,按钮2的代码就是:


on (click) {
   if (_root.fhpd != 0) {
      _root.t1 = _root.t1+2;
      _root.txt=_root.t1
   } else {
      _root.t2 = _root.t2+2;
      _root.txt=_root.t2
   }
}
明白了吗?每个数字按钮的AS其实只是改了红色标记处的数字而已,呵呵C/V吧~
好了,数字按钮的AS加完了,那么现在来加符号的AS:


on (click) { //当按下加号时执行以下AS
   _root.fhpd=0 //主场景上fhpd的值为0,既按下运算符号后,输入加减乘除数的模式转换为被加减乘除数的模式
   _root.fhpd2="+" //主场景上fhpd的值为字符+,这是为了让后面的等号去吧t1/t2/fhpd3个动态文本结合起来运算
}
呵呵,注意到上面红色的“+”了吗?是,是,聪明的你已经想到了,在其他的符号(-*/)上也是复制以上AS,直接更改+为-*/既可了,呵呵,聪明~

然后,就是重要角色-等号的AS了:


on (click) { //当点击等号这个按钮的时候,执行以下AS:
   if (_root.fhpd2 == "+") { //如果fhpd2(既刚刚存储+-*/符号的那个动态文本)为字符串+,则执行以下AS:
      _root.txt = Number(_root.t1)+Number(_root.t2); //主场景上txt这个动态文本的值(既最终输出答案的那个动态文本框)的值为动态文本框t1的值加上动态文本框t2的值,既在上面显示加法的最终答案
      _root.fhpd=""   //清空fhpd的值,为了下一次计算做准备
            _root.t1="" //清空t1的值,为了下一次计算做准备
      _root.t2="" //清空t2的值,为了下一次计算做准备
   } else if (_root.fhpd2 == "-") {
      _root.txt = Number(_root.t1)-Number(_root.t2);
      _root.fhpd=""
      _root.t1=""
      _root.t2=""
   } else if (_root.fhpd2 == "*") {
      _root.txt = Number(_root.t1)*Number(_root.t2);
      _root.fhpd=""
            _root.t1=""
      _root.t2=""
   } else if (_root.fhpd2 == "/") {
      _root.txt = Number(_root.t1)/Number(_root.t2);
      _root.fhpd=""
            _root.t1=""
      _root.t2=""
   }
}
注意到以上代码吗?我为什么只写明了+的注释呢?聪明+醒目的你应该已经注意到红色的+号了吧?HOHO对了,就是-下面的AS一样,只是更改红色+号部分为-*/了HOHO

这一步已经可以说是完成了,不过~计算器都有一个清空的功能吧?恩,就是图1的最终答案输出框(txt)旁边的cls那个按钮

呵呵,这个按钮的AS最简单,就是把所有的动态文本框清零既可:


on (click) {
   _root.txt = "";
   _root.t1 = "";
   _root.t2 = "";
   _root.fhpd = "";
   _root.fhpd2 = "";
}

OK~完成~这个做法很复杂,也是做完后才发现的……若大家需要,下次给个相对简单的做法和思路出来

文章录入:skyuu    责任编辑:skyuu 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    发表评论:
    姓名:  评 分: 1分 2分 3分 4分 5分
     
  • 严禁发表危害国家安全、政治、黄色淫秽等内容的评论。
  • 用户需对自己在使用幽幽天空服务过程中的行为承担法律责任。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表机友个人观点,与本网站立场无关。