Frank的As3学习笔记集合
作者:frank 日期:2007-07-04
AS3笔记(18),爽快传输byteArray2
作者:frank 日期:2008-02-27
本文为frank的学习笔记,转载请注明原文链接
更多笔记请参看:http://www.2solo.cn/log/article.asp?id=87
事实上无论是通过flash remoting来实现byteArray传输,还是通过post实现byteArray数据传输.都是将byteArray以流的形式传递给服务器端.其实我们还可以利用一些加密解密的方法来实现byteArray数据的传输和存取.比如利用Base64的加密解密方法.
附件http://www.2solo.cn/upload/b64_2soloDOTcn.zip中为一个利用base64加密和解密的实例.以下为使用范例.
Tags: AS3笔记 as3.0 sendAndLoad xml loadVars 上传图片 byteArray base64
AS3笔记(17),爽快传输byteArray1
作者:frank 日期:2008-02-27
本文为frank的学习笔记,转载请注明原文链接
更多笔记请参看:http://www.2solo.cn/log/article.asp?id=87
利用As3和AMF3,我们可以使用Flash remoting来传递byteArray,问题是Flash remoting关系到系统的部署以及服务器端的开发模式,倘若服务器端的开发者对于Flash remoting很不感冒,那就是个问题,况且目前除去Coldfusion,AMF在任何服务器端上的实施都不算方便,很可能遭到服务器端的开发者的反对.那么,我们就需要使用其他更快捷易上手的方法来操作byteArray了。我在AS3笔记(13),sendAndLoad的继承者中提到过使用URLRequest 类和URLVariables类来处理网络提交.使用这个方法同样可以做到byteArray的提交.下面是一个实例:
首先,我们需要通过<C#中操作Stream与Byte Array>中的介绍来配置服务器端.我们需要在Flash中直接提交数据给byteArray.aspx文件.然后来看Flash中的代码:
snlbmp.as
| /*@ Author:frank Site:www.2solo.cn Date:2008.02.27 Info:byteArray上传图片 */ package { import flash.display.Bitmap; import flash.display.BitmapData; import flash.display.Loader; import flash.display.Sprite; import flash.events.*; import flash.geom.Point; import flash.geom.Rectangle; import flash.net.*; import flash.utils.ByteArray; import com.adobe.images.JPGEncoder; |
AS3笔记(16),Hi! Flash remoting(3)-使用ByteArray
作者:frank 日期:2008-02-27
本文为frank的学习笔记,转载请注明原文链接
更多笔记请参看:http://www.2solo.cn/log/article.asp?id=87
结合
AS3笔记(14),Hi! Flash remoting(1)-Fluorine
AS3笔记(15),Hi! Flash remoting(2)-Hello world!
在As3中,已经提供了byteArray来操作二进制数据,我们同样可以利用fluorine来传递byteArray.首先我们需要按照AS3笔记(14),Hi! Flash remoting(1)-Fluorine中新建一个解决方案,在Sample.cs中,我们需要增加一个处理保存图片的方法,叫做SaveImg.代码如下:
|
usingSystem; namespace ServiceLibrary1 |
Tags: AS3笔记 flash remoting .net Fluorine Fluorinefx As3 fla AMF3 bitmap byteArray
AS3笔记(15),Hi! Flash remoting(2)-Hello world!
作者:frank 日期:2008-02-19
本文为frank的学习笔记,转载请注明原文链接
更多笔记请参看:http://www.2solo.cn/log/article.asp?id=87
本文主要介绍如果实现AS3和C#联用的Flash remoting实现.后台的配置可以看《AS3笔记(14),Hi! Flash remoting(1)-Fluorine》。与Coldfusion使用remoting的简单相比,任何第三方后台都只能用麻烦来形容,可惜Coldfusion在中国。。。不提了。进正文。
首先,此remoting非彼remoting,与.net中的remoting不同,这里的remoting指的是Flash通过AMF文件格式与后台的交互功能。Flash remoting是as1和as2中的组件,在Adobe的产品列表中有flash remoting mx组件,该组件封装了Flash中对于AMF的操作。而在As3中,虽然依然有AMF的操作,但是官方已经不再其实已经没有remoting的概念了。
从方法上来看,以前操作remoting的remoting包和rpc包也已经不再存在了。As3将主要的方法并入了NetConnection。而如rpc下的很多功能则被分了出来,如Responder类。详细可以看flash.net 包。
Tags: AS3笔记 flash remoting .net Fluorine Fluorinefx As3 fla AMF3
AS3笔记(14),Hi! Flash remoting(1)-Fluorine
作者:frank 日期:2008-02-18
本文为frank的学习笔记,转载请注明原文链接
更多笔记请参看:http://www.2solo.cn/log/article.asp?id=87
本文介绍Flash remoting之.net方面的应用.
在很久很久以前(as1&as2)我们使用Flash remoting组件与服务器端进行数据通信,所使用的文件格式我们称为AMF.而AMF3是flex/as3与后台通讯协议所采用的文件格式,可以传递基本类型及resultset等自定义对象,flash remoting和local connection都采用这种文件格式来传输数据.除去本身就提供支持的Coldfusion,目前还有针对其他的几种语言的开源库如OpenAMF (J2EE), Fluorine (.Net),Flashticle (Python),AMFPHP(php)等。不一一列举了,这里就介绍一下基于Fluorine的Remoting开发.官方网站如下:http://www.fluorinefx.com/
目前Fluorine的最新版本为FluorineFX,以前老版本的Fluorine仍然提供支持.使用Flourine,
- 首先需要安装VS2003/VS2005,
- 然后从http://www.fluorinefx.com/下载fluorine安装文件并安装,
我安装的是VS2005,下面是我的配置流程(必须安装了flourine):
AS3笔记(13),sendAndLoad的继承者
作者:frank 日期:2008-02-15
本文为frank的学习笔记,转载请注明原文链接
更多笔记请参看:http://www.2solo.cn/log/article.asp?id=87
在As2中LoadVars和XML都有sendAndLoad方法,该方法可以使用 POST 方法将参数发送到指定的URL,下载服务器的响应并接受参数.在As3.0之前,是最普及的数据通讯方法之一.在AS3.0以后,XML方法已经参照E4X的规范来定义,早就没有了sendAndLoad方法,而LoadVars 类更是消失的无影无踪了。
其实早在AS2中就可以发现,sendAndLoad方法的设计很不合理,在两中数据对象中存在且机制相同.现在好了,AS3.0中很好的封装了这一功能,这就是URLLoader的登场.URLLoader 类以文本、二进制数据或 URL 编码变量的形式从 URL 下载数据。 在下载文本文件、XML 或其它用于动态数据驱动应用程序的信息时,它很有用。可见,除了原有的variables和xml的数据加载方法,现在还多出了二进制数据方法,这个暂时不提,先说一下模拟AS2中两个sendAndLoad的方法。完成这些方法,我们还需要下列类的帮助:
- URLRequest 类
- URLVariables类
URLRequest 类用以捕获单个HTTP 请求中的所有信息,URLVariables 类可以在Flash 应用程序和服务器之间传输变量.详细的说明请参看帮助.下例为一个sendAndLoad方法范例:
sendAndLoadEX.as
Tags: AS3笔记 as3.0 sendAndLoad xml loadVars
AS3笔记(12),抽象类与接口
作者:frank 日期:2008-02-13
本文为frank的学习笔记,转载请注明原文链接
更多笔记请参看:http://www.2solo.cn/log/article.asp?id=87
抽象类:又叫抽象基类:可以包含一般类所包含的所有特性,例如,字段,属性,方法,抽象类不能被实例化他主要用在类的定义和部分实现这方面,所以他需要在扩充类中完整的扩充并实现功能.另外抽象类还包含一个很特殊的方法,叫抽象方法(这些方法基本上是没有执行代码的函数,由继承于该类的类重写(override)并提供具体实现).在Java和C#中,有abstract关键字来定义抽象类,而在As3中,并没有提供抽象类的支持,尽管abstract已经属于关键字,我们只可以通过模拟方法来实现抽象类的机制。在AS3笔记(11),适配器模式(Adapter Pattern)的范例中,Adaptee.as就是一个抽象类,而如requestB()则是一个抽象方法.
| /* 被适配者类 */ package { public class Adaptee { public function requestA():void { trace("Adaptee:requestA()"); } public function requestB() { } public function requestC():void { trace("Adaptee:requestC()"); } } } |
接口:接口是一种特殊的抽象类,用interface 关键字标记,他可以包含实例/静态方法和getter/setter方法,任何实现该接口的类就必须按照接口的定义实现这些方法.As3中的类可以实现(implements)多个接口.相对于类,接口更象是一种方法的协议,使用接口可以更好的管理模块的功能,方便整理和引用。在AS3笔记(11),适配器模式(Adapter Pattern)的范例中,ITarget.as则是一个典型的接口.
| /* 定义接口 */ package { public interface ITarget { function renamedRequestA():void; function requestA():void; function requestB():void; function requestC():void; function requestD():void; } } |
帮助中提到,接口是定义一个方法组的数据类型,其中的方法必须由实现接口的任何类定义。










