开店乐

开店乐电子商务研究 KaiDianLe.Com

网站地图 :

  搜索:

Flash MX 2004 编程(AS2.0)教程(十二)

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影片的互动性能

【日期:2006-4-18】【作者:开店了】【转载自:http://www.kaidianle.com】

相关文章:
 最好的网上开店系统:凡人网络购物系统免费下载
 Flash 实例制作教程
 5.探照灯效果制作之一
 4.电影文字的制作
 3.动感球体
 2.线框文字的制作
 1.荧光文字的制作
 flash 制作图片渐变
 一步一步学FLASH动画制作
 鱼戏莲叶间
 绚丽烟雾效果
 伸缩下拉菜单
 火焰的源代码
 下雨效果
 文字环绕鼠标跟踪效果
 图片转化广告代码
 鼠标控制星星效果源代码
 闪烁的星星效果
 导航条效果代码
 彩色点跟踪鼠标效果1
 彩色点跟踪鼠标效果
 鼠标跟随
 闪光效果
 鼠标控制星星动画
 激光字效果
 用FLASH制作抢手棋
 用FLASH制作抢手棋(2)
 用FLASH制作抢手棋(3)
 用FLASH制作抢手棋(4)
 谈谈模拟足球游戏中人工智能2
 谈谈模拟足球游戏中人工智能
 Flash游戏制作--打飞碟2
 Flash游戏制作--打飞碟 1
 Flash游戏制作--五子连珠(一)
 Flash游戏制作--五子连珠(二
 Flash游戏制作--五子连珠(三)
 FLASH+JAVA开发实时网络游戏
 纯AS的Loading效果四例
 Array.sortOn用法
 人物造型
 如何在powerpoint中使用高版本的swf文件
 让SWF文件不显示在IE缓存中
 传统动画 与 FLASH动画
 动画场景的构意
 专用Flash网站制作工具A4Desk技巧拾零
 Flash AS基础教程:土人AS入门教程实战篇
 中秋寄相思 自制Flash贺卡
 flash文字跳动
 FLASH8.0绘制百事可乐标志
 小孩走路教程
 Flash MX 2004 编程(AS2.0)教程(十四)
 Flash MX 2004 编程(AS2.0)教程(十三)
 Flash MX 2004 编程(AS2.0)教程(十二)
 Flash MX 2004 编程(AS2.0)教程(十一)
 Flash MX 2004 编程(AS2.0)教程(十)
 Flash MX 2004 编程(AS2.0)教程(九)
 Flash MX 2004 编程(AS2.0)教程(八)
 Flash MX 2004 编程(AS2.0)教程(七)
 Flash MX 2004 编程(AS2.0)教程(六)
 Flash MX 2004 编程(AS2.0)教程(五)
 Flash MX 2004 编程(AS2.0)教程(四)
 Flash MX 2004 编程(AS2.0)教程(三)
 Flash MX 2004 编程(AS2.0)教程(二
 Flash MX 2004 编程(AS2.0)教程(一)
 让手机也“闪”起来!Flash Lite2新功能介绍
 FLASH菜单链接动态管理
 FLASH打造LRC歌词播放器
 Accordion组件的使用实例
 Flash8滤镜代码提示的小窍门
 Flash ActionScript 3 新特性与变化
 最常用的Flash语句(汇集)
 如何修改受保护的Flash文件
 Flash的完美情人--飘雪Flash播放器
 Fireworks 8 新功能总结
 圣诞贺卡的制作[FLASH版]
 FLASH简单三步制作飞越星空效果
 Flash 8 摄像头拍照
 Flash Cookies[2] 数值
 更加简单的Loading制作方法
 按键监测组件(格斗游戏用)
 FLASH MV《老鼠爱大米》制作潜析
 用FlashMX制作“登录界面”
 将AutoCAD导入Flash
 Flash 实现3D的类
 个性化FLASH鼠标右键内容
 环境设置——背景设定(图)
 环境设置——背景设定(图)
 创建一个Flash站点的十大技巧
 Photoshop CS2无限图层蒙版
 Photoshop CS2 降噪滤镜试用体验
 快速获取Flash课件中的素材
 FLASH:韩国导航条解析
 FLASH:韩国导航条解析
 FlashMX课件中的拖动
 二合一按钮的制作
 使用Flash MX的3个小技巧
 Flash课件一网打尽
 Flash Player 7 安全策略解析
 FlashMX特效之扩散与挤压
 Flash使用技巧--用Flash制作拖拉式菜单
 Flash使用技巧--用Flash制作转动的地球仪

版权所有:Kaidianle.Com  联系方式:Shnxn@Yhaoo.Com.Cn 京ICP备06028743号 在线留言