大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 网络媒体 -> FLASH -> Flash MX 2004 ActionScript图文教程(十二)

Flash MX 2004 ActionScript图文教程(十二)

时间: 2021-07-31 作者:daque

2.4片子剪辑事变   对立于前方所引见的鼠标事变、键盘事变以及帧事变而言,片子剪辑事变则显得稍为有点难懂。当咱们将一个片子剪辑放加入景中时,他就成了一个“事变放射器”,连接地汇报本人的运奇迹态,即使咱们捕捉如许的事变,就不妨做出相映的反馈和处置。片子剪辑有多种,底下分门别类地加以引见。   2.4.1onclipevent(load)和onclipevent(unload)   这个事变在片子剪辑加载的功夫爆发,那什么是片子剪辑的加载呢?比如说,你在场景中增添了一个片子剪辑clip_mc,并让他在第10帧的功夫展示片子中,那么第10帧的功夫它就会触发这个事变。要想处置这个事变不妨采用片子剪辑clip_mc,而后在底下的剧本面板中输出如许的代码(常常用来对片子剪辑举行初始化):   onclipevent(load)   {   }   onclipevent(unload)的效率和onclipevent(load)的效率凑巧差异,当片子剪辑消逝的功夫,这个事变就会爆发。   2.4.2onclipevent(enterframe)   enterframe事变会跟着片子的播放而连接爆发,片子每进步一帧,片子剪辑就会触发一次enterframe事变。假如片子的播放速度为每秒20帧,那么这个事变就会以每秒20次的速度连接爆发。你确定会问,如许的事变有什么效率?本来在片子剪辑事变中,enterframe该当说是最常用的,由于他不妨用来创造十分搀杂的动画。比如说,咱们要创造一个空包弹从空间连接翻腾落下的动画不妨依照如许的办法来实行:开始创造一个片子剪辑动作空包弹,将其拖放加入景中创造片子剪辑范例,让这个范例捕获enterframe事变,并为其安排如许的代码:   onclipevent(enterframe)   {   this._roation+=10;   this._y+=10;   }   这段代码的道理即是,每隔一帧将片子剪辑(this)回旋10度,同声沿纵向挪动10个单元。这边用到了一个“+=”演算符,大概有点简单让人感触迷惑,本来这是一种常用的演算符简写办法,道理是“本人给本人加上某个值”,比方this._rotation+=10和this._rotation=this._rotation+10是等效的。   2.4.3onclipevent(mounsemove)、onclipevent (mousedown)和onclipevent (mouseup)   这个事变和前方见过的很多功夫犹如有些一致,这几个事变真实是当鼠标挪动的功夫爆发,然而要更加提防一点,不管鼠标在场景的什么场所(而不确定要在片子剪辑上方),这个事变城市爆发。鼠标每动一下,mousemove事变城市爆发一次。同样,你又要问,这个事变才干什么了?举例来说,咱们须要创造一个一致泡泡龙那么的游戏,屏幕下方有一门大炮,当鼠标挪动的功夫,炮口会一直指向鼠目标目标。这种功效就不妨onclipevent(mousemove)来实行。简直来说,即是将大炮创造成一个片子剪辑,而后为其增添如许的代码:   onclipevent(mousemove)   {   var_angle=((this._x-_root._xmouse)/(this._y-_root._ymouse));   trace(var_angle);   var_angle=math.atan(var_angle);   var_angle=var_angle*180/math.pi;   this._rotation=-var_angle;   }   这段代码用到了几个flash供给的数学因变量,它们都是在math东西里面的,所以用起来很上面。开始,用暂时片子剪辑的横向和纵向座标减去鼠目标横向和纵向座标,而后计划及其夹角的正弦值,接着将这个值用归正切因变量折算成观点(math.atan),提防,截止是弧度数,须要再变换成常用的观点,结果在将其复制给片子剪辑的_rotation参数,实行大炮跟着鼠标南针的疏通而回旋的功效。   搞懂了mousemove事变,mousedown和mouseup的含意也就不难领会了。   2.4.4onclipevent(keydown)和onclipevent(keyup)   这两个事变和前方的on(keypress)一致,都是用来捕捉键盘的按键事变的。然而,须要更加夸大的是,onclipevent(keydown)和onclipevent(keyup)这两个事变的功效要宏大得多,将它们贯串起来运用不妨捕获用户按下的拉拢键(比方ctrl+a),这比只不妨捕获单个按键举措的on(keypress)要宏大得多。比如说,即使咱们须要捕获用户按下ctrl+f的操纵不妨运用如许的代码:   onclipevent(keyup)   {   if (key.isdown(key.control) && key.isdown(70))   {   //实行相映的操纵   }   }   这段代码中运用了内置东西key,这个东西对于按键的处置特殊有效。isdown()本领用来监测某个键能否仍旧按下,这个因变量的参数不妨是键值比方70对应f键。也不妨运用key东西内置的键称呼,比方key.control即是指ctrl键。将这两个键能否按下的截止举行论理与演算(&&)就不妨领会ctrl和f键能否同声按下。   2.4.5onclipevent(data)   即使某个片子剪辑范例举行了数据加载的操纵,那么onclipeevent(data)事变会在数据加载实行的功夫爆发。比如说,咱们在某个按钮的on(press)事变处置中介入了代码实行变量加载操纵,并将代码加载因变量loadvariables()的目的参数树立为某个片子剪辑。而后再为这个片子剪辑增添onclipevent(data)事变,当参数加载结束之后,片子剪辑就会收到一个onclipevent(data)事变。   前方引见了很多事变,但究竟上action script供给的事变再有很多。除去键盘事变、鼠标事变之类那些特殊直觉的事变除外,再有少许比拟“笼统”的事变。比如说,一段声响播放实行之后会爆发一个事变,当用户安排播放器的窗口巨细时也会爆发一个事变。捕捉并处置那些事变不妨进一步提高flash片子的互动本能。

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.