用户名: 密码: 验证码: QQ--程序群:31736530 动画群:38836599
闪无忧
 
首 页 业界新闻 业界杂谈 Flash教程 Flash源码 Flash图书 Flash酷站 Flex & AIR 供求信息
   本栏目通告:   有意向写收费精品教程的朋友,请联系本站合作
当前位置 :首页>flash教程>Flash as3.0教程>列表

as3按钮事件

[来源:2solo.cn | 作者:2solo | 时间:2008-04-02 | 点击:  | 收藏本文  【 】]
 在刚开始学As3时,如果不知道按钮的事件如onPress的话,实在是件很没有头绪的事情。
在 As3.0中,所有的时间都已经被Event统一管理了.相对As2.0来说,按钮事件是在As3中变动最大的事件. 在As3.0中例如onPress等以前的按钮事件写法已经基本退出了历史的舞台.取而代之的是统一的管理和 使用(鼓掌....)

As3.0中,主要的按钮元素仍然是MC(flash.display.MovieClip)和Button (flash.display.SimpleButton),值得一提的是,MovieClip类继承自Sprite,而Simplebutton直接继承 自InteractiveObject.可以说,Simplebutton类是少有超脱于Sprite类控制之外的显示对象同学,恩, 我知道有有颗追逐自由的心......区别等下面说道了再继续说.

介绍了显示元素,那么改介绍事件对象了,他就是继承自Event的MouseEvent (flash.events.MouseEvent)了,其实践列表如下:
CLICK
DOUBLE_CLICK
MOUSE_DOWN
MOUSE_MOVE
MOUSE_OUT
MOUSE_OVER
MOUSE_UP
MOUSE_WHEEL
ROLL_OUT
ROLL_OVER
中里面的DOUBLE_CLICK就是江湖上传闻已久的双击事件了。不过我 觉得DOUBLE_CLICK目前还是棵菜,As3中加入了DOUBLE_CLICK却没有什么控制DOUBLE_CLICK与CLICK的好 办法,让我觉得有些草率.

话不多说了,我介绍下我写的一个实例:
分别有如下文 件:click_test.fla,main.as,mybtn.as,mymc.as.

click_test.fla
定义Document Class为main.as,在库中创建一个按钮 (test_btn)和一个MC(test_mc),并分别命名为test_btn类和test_mc类,基类分别为mybtn.as和 mymc.as.

mybtn.as 

/*@
Author:frank
Site:www.2solo.cn
Date:2008.01.13
Info:场景上的实例类,继承SimpleButton
*/
package {
 import flash.display.SimpleButton;

 public class mybtn extends SimpleButton {
  public function mybtn() {
   this.doubleClickEnabled=true;

  }
 }
}

mymc.as

/*@
Author:frank
Site:www.2solo.cn
Date:2008.01.13
Info:场景上的实例类,继承MovieClip
*/
package {
 import flash.display.MovieClip;
 public class mymc extends MovieClip {
  public function mymc() {
   this.stop();
   this.doubleClickEnabled=true;
   this.buttonMode=true;
  }
 }
}

需要说的是,MovieClip和SimpleButton两者都doubleClickEnabled,而MC中的是来自 Sprite,SimpleButton中的则直接来自InteractiveObject,瞧这关系,啧啧.当然,用起来是一样的, Sprite是继承自InteractiveObject的.

main.as

/*@
Author:frank
Site:www.2solo.cn
Date:2008.01.13
Info:测试MovieClip与SimpleButton的按钮功能
main是场景控制类,
*/
package {
 import flash.display.Sprite;
 import flash.events.Event;
 import flash.events.MouseEvent;
 public class main extends Sprite {
  var clickBtnA=new test_mc;
  var clickBtnB=new test_btn;
  trace("Install");
  public function main() {
   addMC();
   dispatchLis(clickBtnA);
   dispatchLis(clickBtnB);
  }
  private function addMC() {
   addChild(clickBtnA);
   addChild(clickBtnB);
   clickBtnA.x=20;
   clickBtnA.y=20;
   clickBtnB.x=20;
   clickBtnB.y=100;
  }
  protected function dispatchLis(target):void {
   target.addEventListener( MouseEvent.CLICK, btnClick);
   target.addEventListener( MouseEvent.DOUBLE_CLICK ,btnDoubleClick);
   target.addEventListener( MouseEvent.MOUSE_DOWN ,btnMd);
   target.addEventListener( MouseEvent.MOUSE_OVER  ,btnMo);
   target.addEventListener( MouseEvent.MOUSE_UP ,btnMu);
   target.addEventListener( MouseEvent.ROLL_OVER ,btnRover);
   target.addEventListener( MouseEvent.ROLL_OUT ,btnRout);
  }
  protected function btnClick( evt:MouseEvent):void {
   trace( "Click"+evt.currentTarget);
  }
  protected function btnDoubleClick( evt:MouseEvent):void {
   trace( "DoubleClick"+evt.currentTarget);
  }
  protected function btnMd( evt:MouseEvent):void {
   trace( "MouseDown"+evt.currentTarget);
  }
  protected function btnMu( evt:MouseEvent):void {
   trace( "MouseUp"+evt.currentTarget);
  }
  protected function btnMo( evt:MouseEvent):void {
   trace( "MouseOver"+evt.currentTarget);
  }
  protected function btnRover( evt:MouseEvent):void {
   trace( "MouseRover"+evt.currentTarget);
  }
  protected function btnRout( evt:MouseEvent):void {
   trace( "MouseRout"+evt.currentTarget);
  }
 }
}
上一页12 下一页
文章如果有错误或者缺少文件,请发邮件提交给我们
上一篇:as3在线编译器
下一篇:As3 onReleaseOutside
Tags:     事件 按钮 function trace protected :void evt.currentTarget
>>> 最新评论:(共有 0 位网友发表了评论)      查看所有评论
  发表评论
用户名: 新注册) 密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
·本站发布内容均为客观表达作者观点,不代表闪无忧立场,请勿攻击和漫骂
·用户发表意见仅代表其个人意见,并且承担一切因发表内容引起的纠纷和责任
·本站管理人员有权在不通知用户的情况下删除不符合规定的评论信息或留做证据
·请客观的评价您所看到的资讯,提倡就事论事,杜绝漫骂和人身攻击等不文明行为
  教程分类
  基础操作   动画特效
  应用开发   组件学习
  As程序   动画教程
  Flash cs3   AS 3.0
  FCS/FMS教程   Loading教程
  Flash与Web   Flash教程连载
  相关文章
·ActionScript 3.0垃圾回收
·Flash上传客户端
·AS3编码转换函数
·flash as3的binding-ObjectProxy
·as3的ComboBox组件应用小问题
·小球的弹性碰撞
·小球的弹性碰撞
·小球的弹性碰撞
·ActionScript 3设计模式类图(二)
·ActionScript 3设计模式类图(一)
  热门文章
·Flash进度条的制作详细讲解(组图)
·flash幻灯片网页效果
·Flash打造简单的飘雪动画视觉特效
·Flash旋转拖尾文字效果的制作教程
·flash水影效果字
·全Flash动画网站实现的基础教学
·超酷flash光晕移动效果
·flash春雷闪电效果
·Flex 3 AdvancedDataGrid的使用(第二
·Flash制作大雪纷飞效果动画
·即拷即用的loading代码
关于我们 - 免责声明 - 网站地图 - 商务服务 - 联系我们 - RSS地图
©CopyRight 2006-2008, 5UFlash.COM, Inc. All Rights Reserved
鲁ICP备06034971号