


全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2.2实例 前面简要介绍了一下几种常用的鼠标事件,下面我们就通过一个完整的例子来综合运用一下这些事件。 首先建立一个场景,向其中添加三个影片剪辑实例,名称命名为hand_mc、message_txt、eventTrapper_btn和dragTest_mc,hand_mc用来替换鼠标、message_txt是一个动态文本,显示反馈信息,eventTrapper_btn是按钮实例,用来捕捉各种鼠标事件,dragTest_mc则用来演示拖动事件的处理。 2.2.1自定义鼠标 我们经常需要在Flash程序中使用自定义的鼠标指针,下面在这个例子中,我们将把鼠标指针换成自定义的外形。进入主场景,选择第一帧,在脚本面板中输入以下的代码:stop(); Mouse.hide(); startDrag(hand_mc,true); Message_txt.text=开始鼠标事件试验; 第一句代码是stop(),也就是让影片播放到这里停下来一边等待用户的操作,Mouse.hide()隐藏鼠标指针,紧接着startDrag则是开始对影片剪辑实例hand_mc的拖动操作,由于前面已经将鼠标指针隐藏,因此这个命令现在的作用相当于将鼠标指针替换为一个图标。注意看,startDrag后面有两个参数,第一个作用很明显,就是将影片剪辑实例hand_mc作为拖动对象,而后面的ture则是将影片剪辑实例的中心和鼠标指针的中心锁定起来,如果设置为false,那么影片剪辑的中心将会和鼠标在场景内首次单击的点的位置锁定起来。在这个例子中,我们使用startDrag命令的目的是模拟鼠标指针替换的效果,因此显然应当设置这个参数为true。 2.2.2捕捉并处理事件 现在选中影片剪辑实例eventTrapper_btn,进入脚本面板,在这里我们可以编写一系列的事件处理代码。前面我们介绍了多个和鼠标相关的事件,这里就将其一个个捕获,注意观察他们之间的异同。 on(rollOver) message_txt.text=鼠标浮动事件; on(rollOut) message_txt.text=鼠标移出事件; on(press) message_txt.text=鼠标单击事件; on(dragOut) message_txt.text=鼠标在当前对象上按下左键后拖出; on(release) message_txt.text=鼠标释放事件; 以上几个是比较简单的事件,下面我们再来处理稍微复杂一些的事件。 选择影片剪辑实例dragTest_mc,然后再代码面板中输入这样的代码 on(dragOver) this._alpha=this._alpha-10; 当用户按下鼠标左键并在dragTest_mc上拖动时,这个事件内部的代码就会被执行。this变量前面我们已经打过交道了,它的作用就是引用当前的对象(也就是dragTest_mc),_alpha是它的一个属性,透明度,这里我们通过一个简单的运算逐次降低其透明度,最终的效果类似于图像被橡皮擦掉一样。 再选择按钮eventTrapper_btn,为其添加这样的代码: on(releaseOutside) eventTrapper_btn._x=_root._xmouse; eventTrapper_btn._y=_root._ymouse; 这段代码可以实现拖放效果,当用户在eventTrapper_btn上按下鼠标左键并拖动,当鼠标在eventTrapper_btn外面释放时,releaseOutside事件就会发生,在这个事件中我们将eventTrapper_btn的位置(通过_x和_y坐标来定义)设置为当前鼠标释放时鼠标所处的坐标位置,按钮就会移动了。 上面是通过鼠标拖动的方式移动物体,下面再试试看用键盘来实现,选择evnetTrapper_btn,为其追加这样的代码。 on(keypress) eventTrapper_btn._x=eventTrapper_btn._x-6 on(keypress) eventTrapper_btn._x=eventTrapper_btn._x+6 on(keypress) eventTrapper_btn._y=eventTrapper_btn._y-6 on(keypress) eventTrapper_btn._y=eventTrapper_btn._y+6 这四个事件的作用是很明显的,当用户按向左键时(发生keypress”事件),将eventTrapper_btn._x的值减小6个单位,以此类推,其他的代码含义就不难理解了。 2.2.3影片剪辑和按钮 从前面的实例可以看出,影片剪辑的实例也是可以拥有自身的事件处理代码的。但是在使用影片剪辑实例事件时必须注意以下几个问题: 我们可以为影片剪辑实例添加原本由按钮捕捉的事件,比如rollOver、rollOut等等。不过要特别注意,影片剪辑实例虽然可以捕捉这样的事件,但是在这些事件的处理中我们不能直接引用其他的对象,一般我们只对影片剪辑自身的属性进行修改,比如前面影片剪辑实例dragTest_mc处理事件就是一个例子。我们可以在这个事件的处理中修改影片剪辑实例dragTest_mc的透明度,但是不要指望在其中简单地加上message_txt.text=“”这样的代码就能修改反馈区的内容。在执行过程中,这样的代码是不会有效果的,而且Flash不会报错,这经常会让初学者感到晕头转向。解决的方法有两个,一是用按钮代替影片剪辑,其次是对上面的代码进行一下小修改,改成:_root.message_txt.text=”,这样程序又能够执行。_root是Flash提供的一个内置对象,通过它可以准确地定位界面上的元素。 当某个影片剪辑实例被赋予了鼠标事件之后,鼠标指针在其上方会显示为一个小手,为了避免这种情况出现,可以让它捕捉rollOver事件,并加入这样的代码。 on(rollOver) this.useHandCursor=false; useHandCursor这个属性就是设置当鼠标在当前对象上悬浮时是否显示手形指针,默认值为true,也就是显示手形指针,这里将其设置为false就不会显示了。 我们可以为按钮实例指定名称(后缀一般用_btn),不过不要有错觉,按钮实例和影片实例还是很多区别的。最重要的点就是,按钮没有自己的时间线,而影片剪辑则有自己的时间线。这是什么意思呢?简单地说,这点区别在this的使用上面体现出来。比方说,如果我们为一个影片剪辑实例添加了这样的事件处理代码: on(press) this._rotation=30; 当你在这个影片剪辑实例上单击鼠标左键时,影片剪辑实例将会发生旋转。但是如果你将这样的代码赋予一个按钮实例,那么当你单击这个按钮时,将不会是按钮自身旋转而是按钮的父对象旋转。很多情况下,这种奇怪的现象会让分不清按钮实例和影片剪辑实例之间微小区别的用户答感困惑。 再来看一个前面举过的一个例子 on(releaseOutside) eventTrapper_btn._x=_root._xmouse; eventTrapper_btn._y=_root._ymouse; 这行代码中,你也许会觉得eventTrapper_btn._x这样的语句太繁琐,用this._x多方便直接呢?如果这段时间处理代码是赋予影片剪辑实例的话,这样做就没有问题,但是在前面的那个例子中,这段代码是提供给按钮实例使用的,所以必须清楚明白地讲清楚移动的对象,否则运行的效果会和我们预先的设想大相径庭。 如果你需要使用一个影片剪辑代替按钮的话,可以考虑在其内部添加特殊的标签(_up、_over、_down),然后编写相应的代码。另外,每个按钮都会有一个“热区”,也就是单击有效的区域,通常就是按钮的图形覆盖的范围,如果你需要修改这个
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高校教师资格证之《高等教育法规》模拟题库讲解及一套完整答案详解
- 民生银行曲靖市麒麟区2025秋招小语种岗笔试题及答案
- 兴业银行泉州市晋江市2025秋招笔试创新题型专练及答案
- 招商银行衡阳市雁峰区2025秋招笔试英文行测高频题含答案
- 平安银行黄冈市黄州区2025秋招结构化面试经典题及参考答案
- 重难点解析浙教版七年级下册第六章数据与统计图表专题练习试题(含详细解析)
- 中信银行信阳市平桥区2025秋招笔试热点题型专练及答案
- 华夏银行无锡市惠山区2025秋招金融科技岗笔试题及答案
- 招商银行无锡市锡山区2025秋招笔试创新题型专练及答案
- 光大银行衡阳市蒸湘区2025秋招笔试专业知识题专练及答案
- 仓库盘点盈亏分析报告
- 小学音乐人音版三年级上册维也纳的音乐钟教案
- DB36-T 2098-2024 电动汽车充电站防雷技术规范
- 向上级招反诈技术人员的申请
- 指南解读肾癌治疗方案
- 《电气基础知识培训》课件
- 职业技术学院《财务大数据分析》课程标准
- 2024公安机关人民警察高级执法资格考试题(解析版)
- 放射科诊断报告改进措施
- 医疗健康人工智能辅助诊疗与护理技术培训
- 《工程建设标准强制性条文电力工程部分2023年版》
评论
0/150
提交评论