开启左侧

实例教程:制作一个开关按钮

[复制链接]
etthink 发表于 2009-4-24 05:45:05 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
第一发布在:http://www.eportfolios.cn/node/228

开关按钮原理

1 开关按钮有两个状态,一个是开,一个是关,所以可以使用一个两值变量(布尔)来控制其显示状态
2 单击时状态必须改变

制作过程

1 新建立一个ActionScript3文件
2 插入一个影片剪辑与一个按钮元件,影片剪辑有两帧:
第一帧是开状态,把按钮放进来,并起名on_btn;
第二帧是off状态,不需要使用按钮元件
3 在影片剪辑第一帧写上代码:stop();
4把影片剪辑放到舞台,并起名为onoff_mc
5新建as层,并在第一帧填加代码。

代码如下
  1. //定义一个布尔变量,用来控制开关状态,为真是则是开的,假时是关的
  2. var isHint:Boolean = true;
  3. //定义一个事件处理函数f1
  4. //指定响应事件类型为鼠标事件
  5. //事件处理函数返回数据类型为void
  6. function f1(event:MouseEvent):void{
  7. //如果isHint是true则onoff_mc跳转到第二帧
  8. //否则回到第一帧
  9.         if (isHint) {
  10.                 onoff_mc.gotoAndStop(2);
  11.         } else {
  12.                 onoff_mc.gotoAndStop(1);
  13.         }
  14.         //变换开关状态 !是求反运算即真的变假的,假的变真的
  15.         isHint = !isHint;
  16.    
  17.     }
  18. //注意事件侦听格式 addEventListener
  19. //对象名称.addEventListener(事件类型,事件处理函数)
  20. //注意事件处理函数,名称自定义的,但要注意事件处理函数必须指定响应事件类型
  21. //即带有event参数,另外其也有数据类型:void
  22. //MouseEvent.CLICK 为鼠标单击事件
  23. onoff_mc.on_btn.addEventListener(MouseEvent.CLICK,f1);
复制代码


原文件下载见附件。(必须使用Flash cs3以上版本,才可以打开,后面不再提示说明)

另外也附上AS2格式代码,制作过程相同。

  1. //定义一个布尔变量,用来控制开关状态,为真是则是开的,假时是关的
  2. var isHint:Boolean = true;
  3. //格式:对象名称.事件名称 = fonction(){执行语句}
  4. onoff_mc.on_btn.onPress = function() {
  5. //如果isHint是true则onoff_mc跳转到第二帧
  6. //否则回到第一帧
  7.         if (isHint) {
  8.                 onoff_mc.gotoAndStop(2);
  9.         } else {
  10.                 onoff_mc.gotoAndStop(1);
  11.         }
  12.         //变换开关状态
  13.         isHint = !isHint;
  14. };
复制代码

as2开关按钮.fla (32 KB, 下载次数: 16)

as3按钮开关.fla (64 KB, 下载次数: 22)
学教育技术,上教育技术论坛!http://www.etthink.com

精彩评论1

正序浏览
铁血 发表于 2009-5-8 13:03:57 | 显示全部楼层
as3格式与as2没什么区别!as3重要的思想一切皆对象!
欢迎大家多发帖,参与讨论,增进彼此了解。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


11关注

462粉丝

7846帖子

推荐阅读更多+
会员达人更多+
广告位

最新信息

更多+

关注我们:教育技术人

官方微信

官方微博

教育技术热线:

13955453231

学教育技术,上教育技术论坛!

教育技术论坛征稿范围:教育技术应用案例、教程文章、优秀作品等。

Email:sf@etthink.com

Copyright   ©2007-2026  应用思考-教育技术论坛  Powered by©Discuz!  技术支持:且行资源    ( 皖ICP备10014945号-4 )