快速业务通道

Flash MX2004入门与进阶实例——动作脚本(7)

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-14

第六章 动作脚本入门
第三节 事件和事件处理函数(2)
???? (3)定义按钮的动作脚本 选择舞台上的第1个按钮,打开【动作】面板,在其中输入“on(”,这时弹出一个鼠标事件下拉列表,从其中双击【press】,然后输入: ){ play(); } 这样,第一个按钮的动作脚本就定义完成了,完整的动作脚本是: on(press){ play(); } 这个动作脚本的功能是,当用鼠标单击这个按钮时,舞台上的动画开始播放。 第2个按钮的动作脚本和第1个的定义过程类似,先选择第2个按钮,在【动作】面板中按照前面的方法定义这个按钮的动作脚本: on(press){ stop(); } 这个动作脚本的功能是,当用鼠标单击这个按钮时,舞台上的动画停止播放。 好,下面我们按快捷键Ctrl+Enter,测试一下动画吧,怎么样?按钮已经可以控制小球的跳动了吧(文件路径:配套光盘/……/按钮控制小球跳动(1).fla)? 3.事件处理函数方法 事件处理函数方法是一种类方法,事件在该类的实例上发生时产生调用。例如,Button(按钮)类定义onPress事件处理函数,只要按下鼠标就对Button对象调用该处理函数。Flash Player在相应事件发生时自动调用事件处理函数。 默认情况下,事件处理函数方法是未定义的:在发生特定事件时,将调用其相应的事件处理函数,但应用程序不会进一步响应该事件。要让应用程序响应该事件,需要使用 function语句定义一个函数,然后将该函数分配给相应的事件处理函数。这样,只要发生该事件,就自动调用分配给该事件处理函数的函数。 事件处理函数由三部分组成:事件所应用的对象、对象的事件处理函数方法的名称和分配给事件处理函数的函数。事件处理函数的基本结构为: 对象.事件处理函数方法名称 = function () { ???? ?// 你编写的程序代码,对事件作出反应 } 下面我们还是针对上面那个实例,用事件处理函数方法编写程序来实现按钮控制小球跳动的功能。 (1)定义按钮实例名称 按照前面的方法,将配套光盘上的小球跳动动画文件打开,并且引用两个按钮元件实例。分别单击两个按钮实例,在【属性】面板中分别定义它们的实例名称为:play_btn和stop_btn。 (2)定义事件处理函数 新建一个图层,并将它重新命名为“action”。选择这个图层的第1帧,在【动作】面板中定义这个帧的动作脚本为: play_btn.onPress=function(){ ??? play(); } stop_btn.onPress=function(){ ??? stop(); } 测试一下,怎么样?和前面的效果一样吧(文件路径:配套光盘/……/按钮控制小球跳动(2).fla)。 4.事件侦听器 事件侦听器让一个对象(称作侦听器对象)接收由其他对象(称作广播器对象)生成的事件。广播器对象注册侦听器对象以接收由该广播器生成的事件。例如,你可以注册按钮实例可以从文本字段对象接收onChanged通知。这里需要说明的是,可以注册多个侦听器对象以从一个广播器接收事件,也可以注册一个侦听器对象以从多个广播器接收事件。 事件侦听器的事件模型类似于事件处理函数方法的事件模型,但有两个主要差别: u?????? 你向其分配事件处理函数的对象不是发出该事件的对象。 u?????? 你调用广播器对象的特殊方法addListener(),该方法将注册侦听器对象以接收其事件。 要使用事件侦听器,你需要用具有该广播器对象生成的事件名称的属性创建侦听器对象。然后,将一个函数分配给该事件侦听器(以某种方式响应该事件)。最后,你在正广播该事件的对象上调用addListener(),向它传递侦听器对象的名称。 事件侦听器模型的一般形式为: listenerObject.eventName = function(参数){//定义侦听器对象事件函数 ? ????// 此处是你的代码 }; broadcastObject.addListener(listenerObject); 其中lis

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号