自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(108)
  • 收藏
  • 关注

原创 12.5 小结

  在技术的角度看,视频、音频、文本都是供程序逻辑操作的数据。本节介绍了如何在Flash程序中,与外部环境的数据进行数据交换。在进行数据交换的过程中,分为读取和写出两大类型。FlashPlayer对于读取外部数据的支持比较全面,能提供不同文件类型不同文件格式和不同文件路径的多种读取方法。利用相应的类,开发者可以获得SWF文件之外分布存储的数据,并交给SWF中合适的对象处理。出于安全性的

2008-05-12 14:25:00 895

原创 12.4.9 多文件上传

  在FileReference类的brow()方法调用后,弹出的文件浏览对话框仅能提供一个文件的选择。用户不能使用鼠标拖选或者Shift、Ctrl选择多个文件。FileReferenceList类提供了让用户选择一个或多个要上载的文件的方法。FileReferenceList对象的brow()方法提供一个可多选的文件浏览对话框。用户可以选择多个文件。当用户单击“确认”按钮后,FileRe

2008-05-12 14:24:00 1669 1

原创 12.4.8 下载文件

  下载文件也可以使用FileReference类完成。在执行下载文件操作时,须由代码指定下载文件和下载路径,并经过调用FileReference类提供的download()方法,弹出储存文件对话框。该对话框同brow()类似,不过上载文件时的用户文件浏览变成了选择下载文件的储存地址。由于FlashPlayer不能访问用户的磁盘信息,开发者必须经过用户的选择和认可,才能将文件保存在磁盘上。

2008-05-11 14:12:00 1049

原创 12.4.7 上传文件

  经常需要在FlashPlayer中提供文件的上传功能,例如用户的自定义头像,联系人列表,点播的歌曲等。FileReference类提供了在用户计算机和服务器之间上载和下载文件的方法。利用FileReference类的构造函数“FileReference()”创建新的FileReference对象。该构造函数不需要参数。当FileReference对象建立后,如果在代码中调用FileRe

2008-05-11 14:06:00 1455

原创 12.4.6 接受XML数据

  除了发送数据,XMLSocket对象必然也要接受数据。但是XMLSocket是不支持开发者在代码中直接调用方法读取缓冲区的。当服务器端发出XML信息时,XMLSocket连接在获得该消息后,FlashPlayer将发出DataEvent.DATA事件。响应该事件,并在侦听器中查询事件对象。DataEvent事件对象包含一个data属性,包含了该事件加载的数据。采用类似下面的代码读取套接

2008-05-11 14:05:00 714

原创 12.4.5 使用XMLSocket

  XMLSocket相对于URLLoader是低层次的类,但是对于基于二进制传输的Socket类,它却非常的高级。开发者使用XMLSocket不需要关心具体的信息流和信息编码,而是在XML对象和文档的层面发送和接收信息。创建XMLSocket连接的方法是使用XMLSocket类的构造函数,并提供地址和端口号:XMLSocket(host:String = null, port:int

2008-05-11 14:02:00 1039

原创 12.4.4 XMLSocket类

  虽然使用XMLSocket类的构造函数配合new关键字,就可以创建一个XMLSocket对象。但是XMLSokect对象的使用却涉及很多周边的处理。XMLSocket连接,并不是处理远程XML文件的最佳方式。XMLSocket是一个低层次的通讯对象,能够提供较低级别的读写控制,但是服务器端必须提供XML套接字的服务,而且FlashPlayer中需要指派相应的端口。端口是一种有限的资

2008-05-11 13:58:00 867

原创 12.4.3 读写Socket

  Socket类使用二进制协议的服务器互操作,可以使FlashPlayer能够连接到邮件和新闻服务器,编写根据不同的Internet协议(例如POP3、SMTP、IMAP和NNTP)进行交互的代码。当服务器的服务可用,且套接字连接建立后,就可以向缓冲区中写入信息或者读取信息。缓冲区的数据需要双方配合操作。当服务器关闭连接时,FlashPlayer会接受到Event.CLOSE事件的通知。侦听

2008-05-11 13:57:00 1063

原创 12.4.1 套接字连接

  套接字连接是一种持续的网络连接。一般的网络数据传递需要进行多次,每次之间是不连续的。但是套接字连接有助于避免频繁的询问用户连接。当套接字连接建立后,客户端和服务器之间就形成了一个临时的双向通道。服务器可以向客户端传送消息,类似于将数据包从服务器推向客户端,而无需客户端发出直接的请求。这是套接字连接最实用的部分。套接字连接是一种基层的通信,但在ActionScript 3.0中又分为两大

2008-05-11 13:54:00 786

原创 12.4.2 Socket套接字类

  ActionScript 3.0中引入的Socket类,使ActionScript可以建立套接字连接,并读取和写入原始二进制数据。在定义有关数据交换的操作方法时,ActionScript使用了两个接口:IDataInput接口和IDataOutput接口,分别定义数据的输入和输出。Socket类的设计实现了这两个接口,在实现方法时,关注二进制数据的输入和输出。因此,使用Socket类与服务

2008-05-11 13:54:00 860

原创 12.4 网络通信

  当创建网络交互的应用程序或者需要使用远程数据时,需要建立网络连接并进行网络通讯。网络通信由多个类负责,例如FileReference类、Socket和XMLSocket类、NetConnection类,以及NetStream类。当数据从远程加载至客户端,需要根据数据的类型和用途,交给适当的专项类处理。例如,视频数据需要使用Video相关类播放。

2008-05-11 13:51:00 582

原创 12.3.8 删除数据项

  共享对象写入磁盘后,其数值便被保存。如果打开共享对象,修改其中的一些项目,则未被操作的项目将会被延续保存。例如,下面的代码在磁盘上建立了一个包含五个数据项目的数据共享对象:var shareobj:SharedObject = SharedObject.getLocal("endsgame","/"); shareobj.data.bname="Enders name";

2008-05-11 13:50:00 716

原创 12.3.7 遍历数据项

  允许在数据共享对象中利用for…in…语句进行遍历。循环因子应使用字符串类型。下面的代码遍历磁盘中存储的数据共享对象“endsgame”,并输出内部存储的所有值:var shareobj:SharedObject = SharedObject.getLocal("endsgame","/");trace(shareobj.size);for(var foo:String i

2008-05-11 13:49:00 731

原创 12.3.6 共享数据

  下面的代码建立一个包含多个数据项目的数据共享对象:var shareobj:SharedObject = SharedObject.getLocal("endsgame","/");//项数据共享对象添加成员         shareobj.data.bname="Enders name";         shareobj.data.price=29.6;  

2008-05-11 13:48:00 660

原创 12.3.4 双重存储机制

  本地存储和远程存储各有优点,也各有不足:(1)本地存储的数据共享对象,获取这些数据不必连接远程服务器,而且读取和操作时,不必考虑网络传输的风险和延迟。对于频繁的数据交换,也不会出现明显的加载等待。但是本地存储不利于机器之间的数据共享,也不能保证操作系统之间的数据共享。用户数据缺乏统一的管理和备份,丢失风险很大。(2)远程存储的数据共享对象不必依赖于客户端的操作系统,可以自由的在

2008-05-11 13:44:00 792

原创 12.3.3 访问路径和安全

  如果一个Flash程序建立了共享对象,并在随后进行访问,将不会引发访问地址的问题。因为FlashPlayer会使用相同的机制确定数据共享对象的存储路径。但是如果不同的Flash程序共用数据共享对象,则必须考虑这些SWF文件的访问路径。默认情况下,存储在“http://www.sample.com/redbox/pinkcore/”路径位置的“lolicon.swf”文件,将不能访问“h

2008-05-11 13:43:00 871

原创 12.3.2 创建共享对象

  对于SharedObject类,不存在new关键字和构造函数的创建语法。SharedObject对象的创建由FlashPlayer自动处理。SharedObject类提供一个getLocal()方法和一个getRemote()方法,分别访问本地和远程的数据共享对象。当执行此方法后,如果FlashPlayer在指定位置没有找到数据共享对象,则自动创建一个数据共享对象。getLocal()方法

2008-05-11 13:41:00 751

原创 12.3.1 数据共享对象

  数据共享对象是一种类似cookie的文件。利用数据共享对象,Flash可以在用户的磁盘上记录一些运行所需的信息。数据共享对象受到高度的安全限制,不仅不能独立执行,也不能随意存放。FlashPlayer不能将数据共享对象视为关键数据的来源。Flash应用程序必须具备脱离数据共享对象,依然能够正常执行的能力。数据共享对象难以传播和发送,只能由FlashPlayer创建。例如,当FlashP

2008-05-11 13:40:00 716

原创 12.3 存储数据

  FlashPlayer对磁盘的读写收到很多的限制。为了保存信息,需要借助数据共享对象和FileReference类。

2008-05-11 13:38:00 498

原创 12.2.11 加载流数据

  下面的代码使用URLStream类,从ADOBE官方网站加载Flash新闻。代码中使用ProgressEvent时间检测下载的进度。当下载数据达到一定量时,将数据用TextField文本呈现在舞台上,然后关闭URLStream对象。var mystream:URLStream=new URLStream();mystream.load(new URLRequest("http://

2008-05-11 13:37:00 904

原创 12.2.10 URLStream类

  除了URLLoader类之外,ActionScript 3.0还提供一个更低端的URLStream类。URLStream类提供对下载的低级访问,下载文件的内容将作为原始二进制数据提供。在默认情况下,所有二进制数据都是以Big-endian格式编码的,并且最高位字节于第一位。URLStream类的最大特点是:能够在数据下载的过程中,随时访问URLStream对象的现有加载数据。开发者读取

2008-05-11 13:35:00 1371

原创 12.2.9 XML特殊访问

  作为脚本语言的代码,肯定会有一些保留字和和关键字。这些特殊的名称不能作为标识符。对于在代码中创建的XML,基本不会使用这些关键字。但是XML文件的内容没有这种限制。XML文件可以在记事本或Dreamweaver这样的工具中创建,完全不需要遵循ActionScript的命名原则,可以使用任何的名称。如果直接访问XML文件中的特殊名称,代码就会出错。此时,应采用“[]”语法,以及相应的

2008-05-11 13:34:00 492

原创 12.2.8 修改XML加载项

  可以使用XML类或XMLList类的相关方法,修改加载的XML对象。例如,对于XML文件“sio.xml”,其中包含如下格式的文本://sio.xml                  click to view the Pix                  iotext here加载上述文件之后,可以对加载项进行如下操作:(1)在特定位置添加项目。

2008-05-08 10:43:00 736

原创 12.2.7 加载XML文件

  加载XML文件前,首先创建URLLoader对象,然后以Text方式加载XML文档。由于URLLoader对象会将文本中的内容以字符串形式保存在data属性中,所以只要利用XML的构造函数,就可以解析该字符串,并产生所需的XML对象。下面的代码加载一个外部的XML文件,该XML文件名为“xsample.xml”,保存在SWF的同级目录中。// xsample.xmlclick

2008-05-08 10:42:00 614

原创 12.2.6 XML类

  XML目前已发展为被广泛应用的文件结构。在ActionScript 3.0中,提供了新的XML处理能力,更加规范和高效。顶级包中的XML类,负责处理XML对象的方法和属性。多个XML对象能组合为XMLList,使用XMLLIst类管理。可以认为XMLList就是XML对象的集合。当XMLList对象只有一个XML元素时,它就等同于XML对象。XMLList实例可以包含完整的XML文档、

2008-05-08 10:41:00 587

原创 12.2.5 处理URL字符串文本

  处理URLVariables可以直接在URLLoader中进行,只要更改URLLoader对象的dataFormat属性,将其设置为URLLoaderDataFormat.VARIABLES,就可以令URLLoader识别加载的URLVariables数据。当利用URLLoader加载URL字符串时,不需要调用decode()方法。下面的代码利用URLLoader对象处理外部URLVa

2008-05-08 10:40:00 924

原创 12.2.4 URLVariables类

  可以使用URLVariables处理多个变量。URLVariables类是一个辅助类,定义了处理URL字符串的常见方法。URL字符串是一种特殊的字符串,它由变量名称和变量值组成,并使用“&”连接不同的名称和值。例如,下面的URL字串定义了五个变量的取值:va1=Twar&va2=andy_with_his_mon&va3="Kench"&va4=Leothe/nLion&va5=Un

2008-05-08 10:39:00 2088

原创 12.2.3 追踪加载进度

  为了监视加载的进度,URLLoader对象处理文件加载时,FlashPlayer会提供了许多事件。Ø         complete在对所有已接收数据进行解码并将其放在URLLoader对象的data属性中以后调度。Ø         httpStatus若对URLLoader.load()的调用尝试通过HTTP访问数据并且当前的FlashPlayer环境能够检测并返回该请求的状

2008-05-08 10:38:00 809

原创 12.2.2 加载外部文本

  URLLoader类是一个比较高级的类,自身仅提供了三个方法:URLLoader()、close()和load()。其中,URLLoader()是构造函数,其余两个方法分别执行文件的打开和关闭。它们的具体用法为:Ø         URLLoader(request:URLRequest=null)创建URLLoader对象。需提供一个URLRequest对象作为参数。如果不提供参数,

2008-05-08 10:37:00 706

原创 12.2.1 URLLoader类

  ActionScript 3.0提供了URLLoader类处理外部文本信息。该类以文本、二进制数据或URL编码变量的形式从指定地址加载数据。使用URLLoader时,需要等到整个文件下载完成之后,才能访问URLLoader的数据。加载操作接收的数据存放在内存中,使用一个名为data的属性指向该内存。data属性自己是可变类型的,即类型属性为“*”,不能直接通过该属性判断加载数据的类型和格式

2008-05-08 10:34:00 756

原创 12.2文本与XML

  通过外部文本和XML文件,能为SWF提供变量和内容,还可以利用文本和XML存放程序的配置信息,构建灵活的程序结构。

2008-05-08 10:33:00 450

原创 12.1.11 加载SWF影片

  Loader类可以加载其他的SWF文件。下面的代码,使用一个名为“babyswf.swf”的外部SWF文件作为加载对象,该文件是利用Flash8创建的,内部脚本是ActionScript 2.0。代码中利用ActionScript 3.0的Loader对象将其加载至舞台:var swfloader:Loader=new Loader();swfloader.load(new URL

2008-05-06 18:03:00 946

原创 12.1.10 加载对象的删除

  利用Loader的unload()方法,可以删除Loader同加载对象之间的关系。调用Loader之后,Loader的子对象被解除显示列表的依附关系,但被加载对象依然实际存在。无论是否有其他对象保留对其的引用,被加载对象都不会被回收。如果不谨慎处理这种机制,很容易会造成内存Bug和资源浪费。为了避免这样的问题,应尽量避免直接使用打开的图像文件。而是将打开的文件写入新的位图副本,并关闭Loa

2008-05-06 17:47:00 1610 3

原创 12.1.9 加载和显示图像

  加载图像有不同的选择,可以在TextField中利用HTML标记装载图像,也可以利用位图显示对象实现舞台的显示。但如果不需要对位图进行操作,则使用Loader类装载图像最为方便。装载的图像需要是PNG、GIF和JPG的格式。Loader类不支持BMP格式,这主要是考虑到网络应用的需要。由于BMP格式是无压缩的数据,可以利用其他方法加载BMP数据,并使用脚本语言分析其像素,实现BMP的显

2008-05-06 17:46:00 778

原创 12.1.8 加载和显示图像

  在ActionScript 3.0中使用的不是ActionScript 2.0MovieClipLoader和LoadVars类,而是Loader和URLLoader类。URLLoader类加载文本或二进制数据。Loader类可用于加载SWF文件或图像(JPG、PNG或GIF)文件。使用load()方法来启动加载。被加载的显示对象将作为Loader对象的子级添加。Loader作为一个显

2008-05-06 17:43:00 725

原创 12.1.7 控制音量

  使用SoundTransform类配合SoundChannel对象控制音量。SoundChannel对象包含一个SoundTransform类型的属性,可以创建一个SoundTransform对象,并覆盖这个属性,达到改变声音音量的目的。SoundTransform的构造函数包含两个参数,第一个为声音的音量,是0至1的小数;第二个参数表示声音的左右声道平衡。可以使用SoundTrans

2008-05-06 17:41:00 1267

原创 12.1.6 追踪音频进度

  SoundChannel是播放中声音的控制手段。可以利用SoundChannel对象停止一个声音的播放。没有直接提供暂停和继续的方法,因为声音文件的播放启动并不需要耗费额外的资源,而一个播放中的SoundChannel对象是耗费资源的。没有必要在声音不播放时依然提供资源维系SoundChannel对象(至少可以避免多余的噪音信号)。为了实现一个声音的暂停和继续,需要重新调用一个Sound对

2008-05-06 17:40:00 676

原创 12.1.5 追踪音频进度

  播放的每种声音具有其自己的SoundChannel对象。SoundChannel对象控制声音的左和右回放声道的音量,并记录播放的进度。实际上,每个播放中的音乐对应一个SoundChannel对象,而不是Sound对象。Sound对象类似于声音的数据,可以同时产生同一个Sound对象的多个SoundChannel播放。当应用程序播放Sound对象时,将创建一个新的SoundChannel对象

2008-05-05 10:49:00 719

原创 12.1.4 加载和播放声音

  声音的支持在早期的Flash中就已经存在。由于音乐在娱乐应用中的重要地位,作为网络富媒体的先锋,Flash长期不遗余力的推进脚本语言对声音的功能支持。目前支持四种形式的声音数据:Ø         在运行时加载的外部声音文件。Ø         在应用程序的SWF文件中嵌入的声音资源。Ø         来自连接到用户系统上的麦克风的声音数据。Ø         从远程

2008-05-05 10:48:00 696

原创 12.1.3 自定义播放界面

  下面的代码创建了一个简单的自定义界面,展示了如何利用代码创建按钮,并通过事件响应机制,根据用户的鼠标操作控制视频的播放:(1)首先创建视频播放对象:import fl.video.*; //创建FLVPlayback对象var myfp:FLVPlayback= new FLVPlayback(); //载入外部文件myfp.load("flv/flvdat

2008-05-05 10:47:00 637

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除