博客搬家了,
内容是导成功了,
只是页面不太好看哦!
将就将就吧,至少免了那备案之苦!
2011年06月28日
2009年08月10日
公开我自己常用的AS3开发类包(jdhcn类包)
jdhcn类包是自己在AS3开发过程中常用的一些类,有的是自己编写,有的是网络收集整理,使用此类包能大大提高开发效率,不断完善和整理中,不定期更新中。
一、全局静态类(global文件夹里):
最常用的Global,UiGlobal,GlobalJS,Cookie,ArrayGlobal等等, 具体作用和用法打开此类均有说明;
二、载入外部文件类包(loadData文件夹里):
BatchLoad类可以实现批量载入不同类型的文件(SWF/JPG/FLV/MP3/XML/TXT);
LoadData类实现单个载入不同类型文件的文件(功能等同BatchLoad只载入单个文件);
SWFLoad,FLVLoad,MP3Load,XMLLoad,TXTLoad等分另为载入单个不同类型的外部数据文件;
三、数据提交类包(submitData文件夹里):
http数据提交方式: SubmitData(提交普通的数据), SubmitBitmap(提交带位图的数据), SubmitDataFile(提交带文件的数据);
remoting数据提交方式:暂时只写了个基类,事后抽时间再完善一下;
Socket数据提交:暂时没编写;
四、jdhMVC开发框架(jdhMVC文件夹里):
一个简单的方便数据广播小框架;
五、MiniSite开发框架,即flash网站开发框架(minisite文件夹里):
是一个在jdhcn类包环境下并且基于jdhMVC开发框架的flash网站开发框架;
六、flash cs3轻量级组件(component文件夹里):
模仿flash cs3里的各种组件实现的轻量级组件,适合用在对swf文件大小限制比较严格的场合,否则可能就有点像鸡肋的感觉了:)
其他文件夹里的是不常用或是不够完善有待整理
2009年07月17日
jdhcn之minisite开发框架(flash web开发框架)
jdhMVC框架实现了事件广播来达到各频道之间的通信, 而各频道采用了xml配置方式来追加各频道, 注意本框架为了更好的灵活性并没有自动生成导航菜单(此功能以后会集成进来成为一个可选功能).
先看demo
先说一下结构:
1, 首先有一个主swf文件(main.swf), 此文件中包含一个存放频道的MC和一个存放导航菜单的MC, 这两个文件都是由外部导入, 所以应该在主文件中做有加载进度条, 框架中已经有此进度实现, 只需要在fla文件中修改外观就OK了.
2, 配置config.xml文件, 相应的配置后面说明.
3, 把各个频道的swf文件按config.xml文件的配置相应处理好就OK.
4, 在开发过程中需要广播自己事件,方法请参考jdhMVC框架的使用方法
附加说明:
由于本框架使用了jdhMVC框架和jdhcn类包, 源代码还是进一步整理才方便发布, 如果有朋友感兴趣急需可以联系本人.
xml的配置说明:
2009年07月14日
2009年05月19日
Flash与后台数据交互方法总结
P.S
最近有一些网友总是询问flash与后台数据交互的问题,因此我就做了一些总结和整理,也想方便大家了!
目前据我所知,Flash与后台数据交互共有下列几种方法(如果你觉得不全,你可告知一下,我会添加上去了):
1.LoadVars(XML)
2.Flash Remoting
3.Webservice
4.XMLSocket
一.LoadVars篇
我之所以把XML也放在这里说,是因为XML和LoadVars数据交互的方式大体相同,就是传递时的数据内容有点不一样而已!
我现在列出在开发过程最常用的”用户密码验证”实例,加以说明!
| //=======================================================; // Flash代码; //=======================================================; //定义LoadVars对象; var data_lv = new LoadVars(); //提交的用户名变量和参数值; data_lv.username = “kinglong”; //提交的密码变量和参数值; data_lv.password = “king”; //提交后返回结果; data_lv.onLoad = function(success){ //success,数据提交是否成功; //这个只是表示数据传输是否成功,并不是用户验证的结果; if(success){ trace(“数据提交成功!”); //result也是用户验证返回的实际结果! if(this.result==”true”){ trace(“yes”); }else{ trace(“no”); } }else{ trace(“数据提交失败!”); } } //数据提交方法调用; //第一参数就是提交的页面地址; //第二参数就是返回结果对象(只要是LoadVars对象就可以了); //第三参数就是提交方式(这个和html中form表单类似,分为”post”和”get”两种方式) data_lv.sendAndLoad(“http://www.klstudio.com/save.asp”,data_lv,”post”); |
|
//=======================================================; |
LoadVars方式的优点:
1.flash代码实现起来简单,方便.
2.服务端接收页面和接收一个表单过来的数据一样处理,不需要专门的技术,所有服务端程序都可以实现!
LoadVars方式的缺点:
1.传递的变量不宜过多.
2.变量传递的值不宜过长.
3.变量传递值只能使用”字符串″这一种数据类型,数据类型单一.
4.数据返回值当中不能有”&”字符,因此比较复杂的返回值都需进行URL编码处理.
二、Flash Remoting
Flash Remoting这种数据接口是四个之中效率最高的!
其优点:
1.支持数据类型比较多(Converting from application server data types to ActionScript);
2.传递数据量比较大;
3.运行效率是现有几个当中最高的;
4.对各种后台的支持也比较好;
5.其还有调试模块(NetConnection Debugger)
其缺点:
1.需要flash端装Flash Remoting MX Components(这个是免费提供的);
2.需要后台服务端装相应版本的Flash Remoting模块才可以使用,MM提供的模块有j2ee和.net两个版本是要收费的,好在网上还有两个开源的(OpenAMF,AMFPHP);
3.好像Remoting对虚拟主机的支持不太好(可以去google搜索一下,有没有解决方法).
| ================================================================ Flash端代码说明:(我这里用as1.0版本为例,其他版本到MM站查找) ================================================================ //加载Remoting Component代码,这个是必须的; #include “NetServices.as” //加载Remoting 调试模块代码,这个是可选择的,用NetConnection Debugger查看调试信息; #include “NetDebug.as” if (inited == null){ inited = true; //设置默认网关; NetServices.setDefaultGatewayUrl(“http://localhost:8500/flashservices/gateway“); //建立网关连接; gateway_conn = NetServices.createGatewayConnection(); //获取一个服务; myService = gateway_conn.getService(“myservice”, this); } //定义调用方法的函数; //调用函数; |
| ================================================================ 服务端方法定义(我这里以Coldfusion Component为例,其他版本请参考相应的资料) ================================================================
|
另附上Flash Remoting的在线帮助文件(Flash Remoting LiveDocs),MM网站上的Remoting相关的资料.
三、WebService
个人觉得WebService的数据访问速度,仅次于Remoting,但WebService是一种通用型的接口,一般服务端技术都支持的!
WebService的优点:
1.WebService的接口支持比较广泛(Java,ASP.Net,PHP,Coldfusion-我下面举例用);
2.WebService是一个通用型的接口,所以服务端写的接口,不局限于Flash使用,其他程序也可以调用,”一举两得”!
3.WebService和Remoting一样,支持多种数据类型!
4.今天还发现FMS除了支持Remoting接口,也支持WebService接口了:)
WebService的缺点:
Flash客户端到是没有什么问题,Flash的开发工具就自带了(WebServiceConnector 组件),但服务端虽说大多都支持这个接口技术,但除了Coldfusion生成WebService方便外,其他的实现都挺复杂的!
|
//=======================================; |
注意:如果返回结果是一个数据集的话,那每个字段名都要用大写,不管你的服务端是否大写!
| ================================================================ 服务端方法定义(我这里仍以Coldfusion Component为例,其他版本请参考上面提供的连接) ================================================================
|
调用的时候,只要在cfc路径后面加“?wsdl”就可以了,方便吧! :)
四、XMLSocket
这是LoadVars(XML)、Flash Remoting、Webservice、XMLSocket四种方法整理的最后一篇,也让大家久等了
