<b>Flash ActionScript 3.0系列教程</b>[Flash设计]
本文“<b>Flash ActionScript 3.0系列教程</b>[Flash设计]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
ActionScript 3.0系列教程(1):与Flash9先来一次密切接触!
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信息显示出来.
kingda_mc.doubleClickEnabled = true;
kingda_mc.addEventListener(MouseEvent.DOUBLE_CLICK, clickHandler);
function clickHandler(event:MouseEvent):void {
trace("哈哈,你双击我了");
}
//直接支持双击了
稍作注释,这儿有几个和AS2.0差别的地方了.
1. AS2.0中,MovieClip是不可以加侦听器地,但AS3.0中,却可以了.讲点深化的东东给老鸟听,全部AS3.0中能被我们瞥见的对象,其祖宗都是DisplayObject类.尺度说法是都间接或直接的担当于DisplayObject类.而这个DisplayObject又是EventDispatcher的儿子.所以,我们就有了这个推论:
AS3.0中全部能被我们看到的东西,都能发送事件和加侦听器. 完好实用于Event Model.
爽吧, 我是爽歪了.AS2.0中为了办理这个麻烦我还自己编了一个代理发送事件类EventSender.省了不少事儿,而目前连这个也不用了,霍哈哈.
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效果.
CLICK : String = "click"
[static] Dispatched when a user presses and releases the main button of the user's pointing device over the same InteractiveObject. MouseEvent
DOUBLE_CLICK : String = "doubleClick"
[static] Dispatched when a user presses and releases the main button of a pointing device twice in rapid succession over the same InteractiveObject when that object's doubleClickEnabled flag is set to true. MouseEvent
MOUSE_DOWN : String = "mouseDown"
[static] Dispatched when a user presses the pointing device button over an InteractiveObject instance in the Flash Player window. MouseEvent
MOUSE_LEAVE : String = "mouseLeave"
[static] Dispatched by the Stage object when the mouse pointer moves out of the Flash Player window area. Event
MOUSE_MOVE : String = "mouseMove"
[static] Dispatched when a user moves the pointing device while it is over an InteractiveObject. MouseEvent
MOUSE_OUT : String = "mouseOut"
[static] Dispatched when the user moves a pointing device away from an InteractiveObject instance. MouseEvent
MOUSE_OVER : String = "mouseOver"
[static] Dispatched when the user moves a pointing device over an InteractiveObject instance in the Flash Player window. MouseEvent
MOUSE_UP : String = "mouseUp"
[static] Dispatched when a user releases the pointing device button over an InteractiveObject instance in the Flash Player window. MouseEvent
MOUSE_WHEEL : String = "mouseWheel"
//支持鼠标滚轮喽,霍霍.
指出一点,在我给出的例子中,利用了双击这个事件.这个有点特别,在利用双击事件之前,要加上一句:
kingda_mc.doubleClickEnabled = true;
因为MovieClip关于双击事件默许是false,关闭的.
4.侦听器的差别.
在AS2.0中我们普通要新建一个对象做侦听器.也可以像我的例子顶用function做侦听器.但是,很惋惜,由于AS2.0的计划缺陷,使得function中的this指向常常给我们带来困扰.于是有了Delegate类来办理.
而目前,AS3.0中采取了优异的Traits Object架构(唔,这个,就暂不注释了),使得它能记着this的指向.所以,兄弟们,安心斗胆利用Function作为侦听器利用吧.
本篇主要触及了一下AS3.0中的事件模子部份,这是很重要的.今后会有更深化的教程来具体介绍.本篇的目的就是让大家利用一下Flash 9和AS3,消除陌生感.写的浅了,还请包涵.
下一篇介绍非常实用的东东,类和MovieClip的绑定,和Flash 9中一大特点:Document Class.用来替换在时间轴写代码的好东东.
以上是“<b>Flash ActionScript 3.0系列教程</b>[Flash设计]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |