




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
flashflash 影片剪辑控制方法影片剪辑控制方法 影片剪辑 影片剪辑是 Flash 中最重要的一种元件 对影片剪辑的控制是 ActionScript 的最重要功能 之一 从根本上说 Flash 的许多复杂动画效果和交互功能都与影片剪辑的运用密不可分 使用点语法或方括号可以定位影片剪辑 使用方括号时可以使用由变量表示的影片剪辑实例 名 这是它相对于点语法的优点 可以用脚本控制影片剪辑的各种动作 也可以在影片剪辑的事件处理函数中控制主时间轴和 别的影片剪辑 影片剪辑最重要的两个事件是 load 和 enterFrame 5 1 控制影片剪辑的播放动作 设想一个 Flash 动画 它的主场景中只有一个帧 舞台中只有一个影片剪辑 影片剪辑中并 没有 ActionScript 如何才能控制影片剪辑的播放动作呢 要控制一个影片剪辑 首先应该为影片剪辑命名 容易混淆的是 库面板中的影片剪辑本身 有一个名称 这里要命名的是场景中影片剪辑实例的名称 它们可以相同 也可以不相同 如果你在场景中创建了同样的影片剪辑的多个实例 那么就需要将每个实例以不同的名称命 名 才能用 ActionScript 对每一个实例进行控制 如果不需要对影片剪辑进行控制 也就 不需要为影片剪辑的实例命名 从本例文件中 你将看到库面板中只有一个影片剪辑 rollmc 场景中创建了一个 rollmc 的 实例 你还可以再从库中拖出若干个 rollmc 的实例将它们放置到场景中 选中场景中影片剪辑 rollmc 的实例 打开属性面板 可以看到它被命名为 roll 你同时可 以看到该影片剪辑原来的名字 rollmc 如图 5 1 所示 你也可以为它指定别的名称 也可 以是 rollmc Flash 并不会混淆它们之间的区别 此主题相关图片如下 图 5 1 为影片剪辑实例命名 实例名称可以在程序中用来指代该影片剪辑实例 如果要控制该实例 就需要在脚本中使用 该名称 下面 我们就来看看如何通过脚本控制影片剪辑实例 roll 分别选中场景中的 4 个按钮 打开它们的动作面板 查看其中的代码 STOP 按钮 on release roll stop 单击 STOP 按钮使 roll 实例停止播放 PLAY 按钮 on release roll play 单击 PLAY 按钮使 roll 实例继续播放 PREV 按钮 on release roll prevFrame 单击 PREV 按钮使 roll 实例回退一帧并停止 NEXT 按钮 on release roll nextFrame 单击 NEXT 按钮使 roll 实例播放一帧并停止 按 Ctrl Enter 键测试影片 如图 5 2 所示 一开始影片剪辑自动播放 单击不同的按钮看 看影片剪辑是否执行相应的动作 除了这几种命令 你还可以使用 gotoAndStop 或 gotoAndPlay 命令控制影片剪辑跳转到具体 的帧 但是在命令前面都需要指定影片剪辑的实例名称 这种方法是在影片剪辑实例所在的层级中控制影片剪辑 如果是在影片剪辑内部 要控制它 自身的播放 就可以直接使用 stop play 等命令 而不需要指定实例名称 如果你在影片 剪辑内部的时间轴中使用了名称 roll Flash 会在影片剪辑内部的时间轴中寻找该实例 5 2 定位影片剪辑 我们已经了解了如何使用最简单的方法定位一个影片剪辑 即使用影片剪辑的实例名 后面 紧跟一个点记号 然后是你想要影片剪辑执行的命令 还有许多方法可以定位影片剪辑 首先 我们来看看如何定位 Flash 影片中不同层级的对象 Flash 影片中最基本的目标层级就是它的主时间轴 可以用关键字 root 来表示和定位主时 间轴 例如 你要向主时间轴发送一个 gotoAndStop 命令 可以使用如下所示的语句 root gotoAndStop 9 如果这个命令是包含在主时间轴的某一帧上的 则可以省略目标 root 如果这个命令是包 含在主时间轴上某个影片剪辑中 需要由影片剪辑来控制它上一级的主时间轴 root 就很 有必要了 通常 要定位包含某一对象的上一级对象 可以使用关键字 parent 所以 如果一个影片 剪辑是包含在主时间轴中 在影片剪辑中使用 parent 和 root 的效果是一样的 如果影片 剪辑与主时间轴相差两个层级 即当影片剪辑包含在另一个位于主时间轴中的影片剪辑中 这时在该影片剪辑中使用 parent 指代的是它上一级的影片剪辑 而 root 是指它上两级的 主时间轴 在主时间轴中不能使用 parent 因为主时间轴没有上一级 可以用数字来方便地说明这种层级关系 主时间轴 它始终是最初级 作为层级 0 主时间 轴中的一个影片剪辑处于层级 1 如果影片剪辑中包含另一个影片剪辑 它处于层级 2 对 层级 2 上的影片剪辑来说 parent 指代的就是层级 1 上的影片剪辑 而不管对哪一级来说 root 始终指代层级 0 上的主时间轴 除了用点记号连接 root 和实例名 还可以使用方括号表示 root 上的对象 对上例中的按 钮 STOP 来说 如下所示的 3 种方法作用是一样的 rool stop root roll stop root roll stop 还有一个关键字 this 它代表脚本当前所在的层级 如果脚本位于主时间轴中 this 即指 代主时间轴 如果脚本位于影片剪辑中 this 即指代该影片剪辑 所以以上语句还可以用 以下两种方式表示 this roll stop this roll stop 使用 root 和 this 时还可以用变量来定位影片剪辑 如下所示 var mcInsName roll root mcInsName stop 今后我们会遇到这种情况 即有 roll0 rool99 共 100 个影片剪辑实例 可以使用下面的语 句来控制它们 on release for var i 0 i 100 this ladybug alpha 100 6 回主场景 选择透明度减小按钮 按 F9 键打开动作脚本编辑窗口 输入以下代码 on release this ladybug alpha 5 if this ladybug alpha 0 this ladybug alpha 0 7 回主场景 选择放大按钮 按 F9 键打开动作脚本编辑窗口 输入以下代码 on release this ladybug xscale 5 this ladybug yscale 5 8 回主场景 选择缩小按钮 按 F9 键打开动作脚本编辑窗口 输入以下代码 on release this ladybug xscale 5 this ladybug yscale 5 9 回主场景 选择高品质按钮 按 F9 键打开动作脚本编辑窗口 输入以下代码 on release this ladybug highquality 2 10 回主场景 选择低品质按钮 按 F9 键打开动作脚本编辑窗口 输入以下代码 on release this ladybug highquality 0 可见性的设置稍微复杂一些 其步骤如下 11 回主场景 选择可见性按钮 按 F8 键将其转换为电影剪辑 实质是将可见性按钮包含于 此电影剪辑中 选择此电影剪辑 按 F9 键打开动作脚本编辑窗口 输入以下代码 onClipEvent load w true 注 设置一变量 w 记录此按钮点击状态 w 实际是此电影剪辑内时间轴变量 不能用 var 语 法声明它 否则变为本地变量 12 返回主场景 双击可见性电影剪辑 进入此电影剪辑 再选择可见性按钮 按 F9 键打开 动作脚本编辑窗口 输入以下代码 on release w w if w true parent ladybug visible true else parent ladybug visible false 至此 全部工作完成 为网页添加放大或缩小文字 最近小弟看到这样的一个好东东 就是可以为我们的主页设置出一些可以放大或缩小的文字 来 好东东不想独占还是拿出来吧 代码如下 Begin var speed 20 var cycledelay 1000 var maxsize 48 var x 0 var y 0 var themessage size var esize function initArray this length initArray arguments length for var i 0 i this length i this i initArray arguments i var themessage2 new initArray 免费软件 随意传播 中国电脑教育报和资源站点 网站 请多多留意最新版 if navigator appName Netscape document write if navigator appVersion indexOf MSIE 1 document write function upwords themessage themessage2 y if x maxsize x setTimeout upwords speed else setTimeout downwords cycledelay if navigator appName Netscape size document wds document write size themessage esize document wds document close if navigator appVersion indexOf MSIE 1 wds innerHTML themessage wds style fontSize x px function downwords if x 1 x setTimeout downwords speed else setTimeout upwords cycledelay y if y themessage2 length 1 y 0 if navigator appName Netscape size document wds document write size themessage esize document wds document close if navigator appVersion indexOf MSIE 1 wds innerHTML themessage wds style fontSize x px setTimeout upwords speed End 在放大缩小实体时 总是两边同时放大和缩小 如何固定一边 放大或缩小一边呢 按工具面板的 Snap to Objects 按钮 然后选择菜单 Modify Thansform Edit Center 命令 注意 要先把此对象生成 Graphic 或者 MC 在实体中心出现空心的十字号后 用鼠标 拖动这个十字 把它移动到需要固定不变的哪个边线上 接下来缩放另一边即可 如果水平 调宽和水平调高同时进行 那么把十字移动到需要固定的两个边线交汇的哪个角上 Action Script 图片放大缩小移动类 flash Action Script 图片放大缩小移动类 flash 图片放大缩小移动类 class class ZoomOpenMove private var obj MovieClip private var pos scale Number private var x speed Number private var y speed Number private var scale speed Number private var scale step Number public function ZoomOpenMove obj MovieClip this obj obj public function get s speed Number return scale speed public function set s speed s speed Number Void scale speed s speed public function get x speed Number return x speed public function set x speed x x speed Number Void x speed x x speed public function get y speed Number return y speed public function set y speed y y speed Number Void y speed y y speed public function get scale step Number return scale step public function set scale step scalestep Number Void scale step scalestep public function get scale speed Number return scale speed public function set scale speed scalespeed Number Void scale speed scalespeed public function get pos scale Number return pos scale public function set pos scale posscale Number Void pos scale posscale public function Open if root xmouse0 and root ymouse 0 and root ymouse Stage height obj xscale pos scale obj xscale obj yscale scale step obj xscale obj yscale pos scale public function Zoom if root xmouse0 and root ymouse 0 and root ymouse Stage height obj x 0 obj x scale speed obj y 0 obj y scale speed obj xscale 100 obj xscale scale speed obj yscale 100 obj yscale scale speed public function Move if obj hitTest root xmouse root ymouse true var pos x root xmouse Stage width obj width Stage width var pos y root ymouse Stage height obj height Stage height obj x pos x obj x x speed obj y pos y obj y y speed fla 插入一张大于或者等于场景大小的图片 按 f8 顶点为左上角 位置为 0 0 图片的实例名为 pic 然后把以下复制到第一桢看效果 var newzom ZoomOpenMove new ZoomOpenMove pic
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新能源公交站台信息指示标志牌整体解决方案合同
- 2025年生态中药材种子繁育与国内连锁药店采购合同
- 2025年度企业间网络数据安全保密合作框架协议
- 2025年长途货车租赁违约行为评估与处理规范合同
- 2025医疗过错赔偿协议书编制技巧与经典案例深度解读
- 2025综合性医院安全照明与疏散指示系统升级改造服务合同
- 2025年国际物流行业高峰论坛参展商招募及综合服务合同
- 2025年传统村落改造工程劳务分包服务协议范本
- 2025年高新技术企业资质共享及产业协同发展合作协议
- 2025年航空电子设备EMC测试工程师专业聘用协议
- 居家养老服务创新创业项目计划书
- 家具行业常用中英文对照
- 英语四六级词汇汇总(带音标+免费下载)
- 插板机安全操作规程
- 铭复乐IV期临床方案介绍
- GB/T 14153-1993硬质塑料落锤冲击试验方法通则
- 并购贷款业务培训
- 北京大学人民医院-医疗知情同意书汇编
- 建设集团有限公司安全生产管理制度汇编
- 牙体牙髓病最全课件
- 交通信号控制系统检验批质量验收记录表
评论
0/150
提交评论