Flash AS3.0动画程序设计案例教程课件第9章.ppt

上传人:m****u 文档编号:14502695 上传时间:2024-08-01 格式:PPT 页数:12 大小:444.50KB
下载 相关 举报
Flash AS3.0动画程序设计案例教程课件第9章.ppt_第1页
第1页 / 共12页
Flash AS3.0动画程序设计案例教程课件第9章.ppt_第2页
第2页 / 共12页
Flash AS3.0动画程序设计案例教程课件第9章.ppt_第3页
第3页 / 共12页
Flash AS3.0动画程序设计案例教程课件第9章.ppt_第4页
第4页 / 共12页
Flash AS3.0动画程序设计案例教程课件第9章.ppt_第5页
第5页 / 共12页
Flash AS3.0动画程序设计案例教程课件第9章.ppt_第6页
第6页 / 共12页
Flash AS3.0动画程序设计案例教程课件第9章.ppt_第7页
第7页 / 共12页
Flash AS3.0动画程序设计案例教程课件第9章.ppt_第8页
第8页 / 共12页
Flash AS3.0动画程序设计案例教程课件第9章.ppt_第9页
第9页 / 共12页
Flash AS3.0动画程序设计案例教程课件第9章.ppt_第10页
第10页 / 共12页
Flash AS3.0动画程序设计案例教程课件第9章.ppt_第11页
第11页 / 共12页
Flash AS3.0动画程序设计案例教程课件第9章.ppt_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
资源描述

1、第9章AS编程扩展Flash AS 3.0 使用组件 上下文菜单 正则表达式 字节数组 外部API9.1使用组件 使用组件可以方便而快速地构建功能强大且具有一致外观和行为的Flash应用程序。9.1.1 组件类型 AS 3.0 组件包括下列用户界面(UI)组件、视频(Video)。用户界面组件包括Button、List、TextArea、CheckBox、NumericStepper、TextInput、ColorPicker、RadioButton、TileList、ComboBox、ProgressBar、UILoader、DataGrid、ScrollPane、UIScrollBar、L

2、abel Slider等16种。在前面章节的案例中,已使用了这些用户界面组件的其中一部分,如Button、ComboBox、NumericStepper等。9.1.2 组件的使用 (1)在创作时添加组件在“属性”检查器中或在“组件”检查器内的“参数”选项卡中可以设置组件的每个实例的属性。(2)使用 ActionScript 在运行时添加组件.import fl.controls.Button;var aButton:Button=new Button();addChild(aButton);(3)删除组件9.2案例使用组件播放视频程序9.2.1 案例任务描述 该案例实现的是使用FLVPlayb

3、ack组件,播放FLV视频程序。程序中对通过对FLVPlayback组件进行参数设置,绑定FLV视频文件,选择播放时的皮肤即播放时的功能操作界面,完成对既定视频FLV文档的播放.9.2.2 操作流程 程序功能演示;学生动手练习.9.2.3 案例小结 该案例主要通过使用组件,实现视频的播放。FLVPlayback组件,集成的功能很完善,添加了 FLVPlaybackCaptioning组件及全屏支持、改进的实时预览、允许添加颜色和 Alpha 设置的外观,以及改进的FLV下载和布局功能。直接在程序中使用,大大地提高程序编写效率。9.3上下文菜单 Flash Player 9 和更高版本中,包含的

4、包flash.ui中有两个类ContextMenu、ContextMenuItem,用于上下文菜单的定义和使用。在使用ContextMenu和ContextMenuItem类时侦听本机菜单事件或上下文菜单事件;两者都已调度。(1)自定义 Flash Player 上下文菜单var square:Sprite=new Sprite();square.graphics.beginFill(0 x000000);square.graphics.drawRect(0,0,100,100);square.graphics.endFill();square.x=10;square.y=10;addChil

5、d(square);var menuItem:ContextMenuItem=new ContextMenuItem(Change Color);menuItem.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,changeColor);var customContextMenu:ContextMenu=new ContextMenu();customContextMenu.hideBuiltInItems();customContextMenu.customItems.push(menuItem);square.contextMenu=c

6、ustomContextMenu;function changeColor(event:ContextMenuEvent):void square.transform.colorTransform=getRandomColor();function getRandomColor():ColorTransform return new ColorTransform(Math.random(),Math.random(),Math.random(),1,(Math.random()*512)-255,(Math.random()*512)-255,(Math.random()*512)-255,0

7、);(2)处理菜单事件 对于ContextMenu类的对象,将调度ContextMenuEvent.MENU_SELECT事件;对于ContextMenuItem对象,调度ContextMenuEvent.MENU_ITEM_SELECT事件。9.4案例弹出式菜单操作程序9.4.1 案例任务描述 该案例实现的是通过上下文菜单,使用鼠标对舞台上的三个图形对象的任意的移动、剪切、复制和粘贴。9.4.2 操作流程 程序功能演示;学生动手练习.9.4.3 案例小结 该案例主要通过使用弹出式菜单实现对图形对象的操作,如复制、剪切、粘贴等。程序中使用鼠标完成图形的移动,以及在舞台上的复制、剪切、粘贴等,这

8、种在操作对象上点击鼠标右键打开的弹出式菜单,也即是上下文菜单。在Flash Player程序中仅有的菜单功能即是上下文菜单,在AIR(Adobe Intergrating Runtime)程序中,菜单功能则更丰富,除上下文菜单外,还有应用程序菜单、窗口菜单、任务栏菜单等,并使用NativeMenu类、NativeMenuItem类实现菜单的功能。9.5正则表达式(一)使用正则表达式简介 正则表达式描述字符模式。通常,正则表达式用于验证文本值是否符合特定模式(例如,验证用户输入的电话号码位数是否正确),或者替换与特定模式匹配的部分文本值。(二)正则表达式语法 (1)创建正则表达式实例 有两种方法

9、可以创建正则表达式实例。一种方法是使用正斜杠字符(/)来界定正则表达式,另一种是使用 new 构造函数。var pattern1:RegExp=/bob/i;var pattern2:RegExp=new RegExp(bob,i);(2)字符、元字符和元序列表9-1、表9-2 (3)标志和属性表9-3(三)对字符串使用正则表达式的方法 RegExp 类包含两个方法:exec()和 test()。除 RegExp 类的 exec()和 test()方法外,String 类还包含以下方法,使可以在字符串中匹配正则表达式:match()、replace()、search()和 splice()。9

10、.6案例用户信息校验程序9.6.1 案例任务描述 该案例实现的是使用正则表达式对象,对输入的用户信息的各个项目进行进行有效性校验。如构成正确,则无提示信息,如输入非法,则显示红色的“无效项目”字样。9.6.2 操作流程 程序功能演示;学生动手练习.9.6.3 案例小结 该案例主要通过使用正则表达式RegExp类的对象,实现对字符串模式的匹配与检测,完成输入的用户信息条目的有效性验证。程序中还在类代码编写时,使用了一些包外类,以供包内类的调用。正则表达式是由普遍文本、元字符、元序列定义的简洁语言,可用于解析正则语法并允许轻松输入正确的内容,常用于测试、定位、识别、提取、替换和拆分文本。9.7字节

11、数组 ByteArray 类允许读取和写入二进制数据流,该数据流本质上是字节数组。该类提供了一种访问最基本的数据的方法。import flash.utils.ByteArray;var stream:ByteArray=new ByteArray();(1)ByteArray 方法 ByteArray 类包括几种方法,可以使数据流的读写更加容易。其中几种方法包括 readBytes()和 writeBytes()、readInt()和writeInt()、readFloat()和 writeFloat()、readObject()和 writeObject()、readUTFBytes()和

12、writeUTFBytes()。利用以上方法可以将数据从数据流读入特定数据类型的变量,也可以从特定数据类型的变量直接写入二进制数据流。(2)position 属性 position 属性存储指针的当前位置,该指针在读写过程中指向 ByteArray。position 属性的初始值为 0,(3)bytesAvailable 和 length 属性(4)endian 属性(5)compress()和uncompress()方法 CompressionAlgorithm 类定义了可用来指定压缩算法的常量。ByteArray类支持deflate(仅限 AIR)、zlib 和 lzma 算法。(6)读取

13、和写入对象 readObject()和writeObject()方法可从ByteArray中读取并向其写入以序列化Action Message Format(AMF)格式编码的对象。9.8案例ZIP文件处理程序9.8.1 案例任务描述 该案例实现的是使用ByteArray类,对ZIP文件进行二进制方式的读写操作,即压缩文件的解压缩。程序中对指定在桌面上的压缩文件,对其进行解压缩,将其中的文件提取后重写在桌面上,并给出压缩信息。9.8.2 操作流程 程序功能演示;学生动手练习.9.8.3 案例小结 该案例主要通过使用字节数组ByteArary,实现对zip压缩文件的读取和解压缩功能。对本地文件系

14、统操作,程序使用Adobe AIR 2类型的Flash应用实现,因为Flash Player中没有该类项目的支持。字节数组的主要使用场景都是非常特定的、自定义的、非常高级的场景。但是,在ActionScript中仍有少量字节数组的常见用法,即计算声音频谱、加载图像、复制对象、序列化数据、操作二进制套接字等。9.9 外部API9.9.1 使用外部 API 简介 外部API是ActionScript 中的一部分,它为ActionScript与作为Flash Player容器的外部应用程序(通常是 Web 浏览器或独立放映文件应用程序)中运行的代码之间进行通信提供了一种机制。在AS 3.0 中,外部

15、 API 的功能是由ExternalInterface类提供的。9.9.2使用 ExternalInterface 类(1)获取有关外部容器的信息if(ExternalInterface.available)/在此执行 ExternalInterface 方法调用。(2)从ActionScript中调用外部代码ExternalInterface.call()方法执行容器应用程序中的代码。var param1:uint=3;var param2:uint=7;var result:uint=ExternalInterface.call(addNumbers,param1,param2);(3)从

16、容器中调用 ActionScript 代码 首先,必须注册ActionScript 函数,指示其应能够为容器所用。使用ExternalInterface.addCallback()方法。function callMe(name:String):String return busy signal;ExternalInterface.addCallback(myFunction,callMe);一旦向ExternalInterface类注册了ActionScript函数,容器就可以实际调用该函数。(4)外部API的XML格式 ActionScript 与承载 Shockwave Flash ActiveX 控件的应用程序间的通信使用特定的XML 格式对函数调用和值进行编码。9.10 案例与JavaScript通信小程序9.10.1 案例任务描述 该案例实现的是使用ExternalInterface类的相关方法,SWF文件中的AS程序功能与网页上的Javascript进行通信。程序完成,发布为SWF文件和HTML文件,并对网页HTML文件修改,增加Javascript代码以及设置form界面

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教育教学/培训 > 课后练习

copyright@ 2008-2021 八斗文库网站版权所有

经营许可证编号:湘ICP备2022012878号