(如蒙转载,请留下个人Blog连接:www.kingda.org, thx)api
Flash Professional 9 ActionScript 3.0 Preview 版本今天发布了,意味着今后咱们今后不只仅只能使用Flex 2来使用AS3.0,更可使用咱们一直很熟悉的Flash IDE来进行AS3.0开发了。架构
与Flex 2不一样,Flash 9 alpha(即上面的Flash Professional 9 ActionScript 3.0 Preview )容许咱们建立基于时间轴的ActionScript 3.0的Fla文档,而不是基于State的MXML文档。 在Flash 9 alpha 里,咱们和之前同样能够在舞台上直接手绘矢量图,建立元件,添加动画,等等。测试
我黑羽是急性子,先跳开一些特点的介绍,单刀直入,立刻来个实例。边讲解边说说Flash 9的特色。
点击看大图,清楚点。动画
为了照顾新手xdjm们,看图说话一把。老鸟略过勿看,免得嫌我罗嗦。呵呵。
新建一个fla,随便画一个方块什么的,双击选中按F8转换成MovieClip。在属性面板中命名为kingda_mc。和之前如出一辙。
再新建一层,命名为actions,这是个好习惯,要保持。选中第一帧,按F9打开动做面板,写入以下代码。
Control+Enter,在测试窗口中,双击那个方块,就会有trace信息显示出来。this
1. AS2.0中,MovieClip是不能够加侦听器地,但AS3.0中,却能够了。讲点深刻的东东给老鸟听,全部AS3.0中能被咱们看见的对象,其祖宗都是DisplayObject类。标准说法是都间接或直接的继承于DisplayObject类。而这个DisplayObject又是EventDispatcher的儿子。因此,咱们就有了这个推论:
AS3.0中全部能被咱们看到的东西,都能发送事件和加侦听器。 彻底适用于Event Model.
爽吧, 我是爽歪了。AS2.0中为了解决这个麻烦我还本身编了一个代理发送事件类EventSender。省了很多事儿,而如今连这个也不用了,霍哈哈。spa
2.AS3.0中要让MovieClip在接受click事件,rollover事件可以像Button同样,鼠标放上去显示手型,那么必定要加上一句:
kingda_mc.buttonMode = true;
小事一桩,一笔带过。设计
3.AS3.0中的事件模型和AS2.0大不同了。
简而言之,就是“规范”。再也不直接使用字符串来定义事件名称了。又要讲深一点了,都是使用了新的const型变量来定义事件字符串名称,一旦定义,不能再更改。
如
public static const MOVE:String = "move";代理
极大的避免了咱们由于手误,打错字符串,而花上一个下午找bug。使用了这种模式,咱们一旦打错,编译器马上会发现并告诉咱们。多好。
给出一些鼠标事件列表,你们能够替换上面源码中的事件类型,本身试着玩儿。
如,你能够换成MouseEvent.MOUSE_OVER就变成了之前的onRollOver效果。对象
4.侦听器的不一样。
在AS2.0中咱们一般要新建一个对象作侦听器。也能够像个人例子中用function作侦听器。可是,很惋惜,因为AS2.0的设计缺陷,使得function中的this指向经常给咱们带来困扰。因而有了Delegate类来解决。
而现在,AS3.0中采用了优秀的Traits Object架构(唔,这个,就暂不解释了),使得它能记住this的指向。因此,兄弟们,放心大胆使用Function做为侦听器使用吧。blog
今天就写这么多了,主要是Flash 9出来,我老人家激动了一下,一会儿写了这么多东东。但愿对你们有所帮助,但愿你们狂顶支持一把,否则没动力,本系列教程会变成太监贴!霍哈哈! ^_^ 快回帖支持!
本篇主要涉及了一下AS3.0中的事件模型部分,这是很重要的。之后会有更深刻的教程来详细介绍。本篇的目的就是让你们使用一下Flash 9和AS3,消除陌生感。写的浅了,还请包涵。
下一篇介绍很是实用的东东,类和MovieClip的绑定,和Flash 9中一大特点:Document Class。用来替代在时间轴写代码的好东东。
P.S:本教程受Creative Commons License.协议保护,未经做者赞成,不得用于商业用途。