平时做游戏开发的时候,很大程度上都会采用xml来做配置文件。有时候需要写很多,然后又需要依次去解析。如果有一个工具来自动解析每一个xml,并且提取出自己需要的数据,多好呀。所以偷了个懒,写了一个解析一定格式的xml和解析类,把这个格式丢给策划自己去调整数据啦。同时自己这边只需要接受现成的类
注意,这里的指的类,一般是自定义的数据结构(类似javaBean,使用的都是属性值)。这样通过访问有数据类型定义的类,比直接访问xml的属性来得方便多了,而且也省了数据类型的转换的麻烦阅读全文>
发表于 @ 2010年01月13日 20:37:00 | 评论( loading... ) | 举报| 收藏
(其实这里我比较建议大家去官网看详细的教程)
有些朋友会说Cinnamon的测试例子有点难搭起,过程遇到的问题比较多。所以在我就放上一个基于AS3项目工程的例子,过一阵再把后台基于Spring的例子放出来。
大家做例子前,建议先仔细看看官方的说明,非常详细。我也是看它做的,这里我就简单说了
现在先简单说说,基本上,客户端的remoting服务类,是采用ant根据服务端的接口生成的。下面是配置文件
现在我的服务器有一个接口CounterService和他的实现类CounterServiceImpl
那么根据这个配置文件则会生成同样的as:CounterService.as和CounterServiceImpl.as
(要注意一点的是,需要把generatorTemplates目录复制到项目里面,或者自己去配置路径,增加了模板才能够生成客户端文件的)
CounterServiceImpl.java比较简单
package example;
public阅读全文>
发表于 @ 2009年07月22日 22:41:00 | 评论( loading... ) | 举报| 收藏
目前在做一个后台管理系统的项目中,因为不想使用Adobe自带的remoting组件,所以采用了Cinnamon这个开源的项目。
Cinnamon是http://www.spicefactory.org/
中的一个基于flash remoting技术的开源框架(具体想要了解的人可以到网站去了解http://www.spicefactory.org/cinnamon/
,一进去就有它的详细介绍:Full support for AMF3):下面是官方介绍,我就不翻译啦
Cinnamon is a remoting framework based on the AMF3 protocol connecting clients written in AS3 with Java EE server applications. It can be deployed in every servlet container or Java EE application server. It contains the following features:阅读全文>
发表于 @ 2009年07月22日 22:40:00 | 评论( loading... ) | 举报| 收藏
做了个简单的搜索提示程序,类似google之类的搜索提示,就是输入一个内容时,会把开头对得上的内容显示出来。下面可以看看:http://p.blog.csdn.net/images/p_blog_csdn_net/sujun10/EntryImages/20090307/1222.jpghttp://p.blog.csdn.net/images/p_blog_csdn_net/sujun10/EntryImages/20090307/22222.jpg呵呵,这里没有显示有多少条结果,当然也要做到统计也是可以的。这里只做简单的显示。下面就说说两种做法。第一种,是在用户输入提示信息的时候,把用户输入的信息跟应用中存的数据进行比较,找出匹配的数据,然后 在list组件里显示出来//输入文本内容变化事件 private function inputChangeEvent():void { //每次输入文字变化,都检索一下,查看数据是否变化 if(currMsg 阅读全文>
发表于 @ 2009年03月07日 22:07:00 | 评论( loading... ) | 举报| 收藏
开发flash remoting的时候,直接把一个flash的vo对象发送到服务器,然后服务器接受这个vo,并取出对应的值,具体的情况可能各不相同,直接假设一个客户端传过来的vo要把里面有值的地方传给新的vo对象中(实际例子,客户端传一个与Hibernate的VO具有相同属性的vo,在这里要把客户端vo的值传给hibernate的vo,从而更新数据库,为了避免给不同的vo手工编写代码,所以就用到了反射)在这里,主要是利用到反射,这是一个简单的例子,有兴趣的人可以继续扩充阅读全文>
发表于 @ 2008年09月24日 16:48:00 | 评论( loading... ) | 举报| 收藏
这是一个探索阶段所开发的作品,其实我当时是比较晚参与这个项目的,不过后来也是整个系统重新去熟悉过,进行了大量的维护和调整,也尝试过做性能的调整,
不过效果似乎不大,前后不到两个月时间,后来就带下新人维护该系统,然后去全新开发这个系列的男孩版(机器人,看下图的)。现在是处于维护阶
段。。。。。。
下面登陆地址:http://k2-mmo.golive2.cn/client/GoLiveClient.html#
选择世界
地图选择阅读全文>
发表于 @ 2008年08月05日 10:22:00 | 评论( loading... ) | 举报| 收藏
最近工作都比较忙,尤其是这个月,都没更新blog,就发些今年的一些作品图片,记录下,呵呵
这是一个flash网络斗地主游戏,顺便当宣传,呵呵,前台是用as3开发的,后台是C++服务器,当时自己开发了一个flash的MVC框架方便多人合作,以及C++通讯网络通讯层的框架。当然,到现在已经改善不少了。
大厅支持即时切换中英文版本:)
游戏网址:
http://www.acenuke.com
早期独立版本将界面阅读全文>
发表于 @ 2008年08月01日 07:43:00 | 评论( loading... ) | 举报| 收藏
registerClassAlias在利用AMF3进行序列话网络通讯中,是非常有用的。需要把客户端的对象直接传送到服务器得时候,保留该对象的类(类型)。 这样的话,就可以传送自定义对象或者系统自带对象。
具体的使用方法,官方有详细地用法。这里我只说说自己的一些理解。
readObject方法对构造器有参数的类,是会出错的,会弹出参数数量不匹配这个错误。因为还原对象进行反射的时候,是默认没有参数的给构造器的。这也是有些人 讨论Sprite等对象不能进行深度拷贝的原因
所以在使用AMF3进行序列话的时候要注意这个了,还有一个就是,如果那个类包含了多个类,也就是个复合类,那么里面的那个复合类,也必须进行registerClassAlias,例如
package{ &阅读全文>
发表于 @ 2008年08月01日 07:39:00 | 评论( loading... ) | 举报| 收藏
用flash去开发应用,,免不了网络通讯,特别是网络游戏,需要用到即使通讯。
as3提供了两个支持即时通讯的类:XMLSocket和Socket,前者其实是只支持发送字符串,而后者就强大多了,支持发送字节,相对来说比较底层,而这也给我们更多的发挥空间。
其实,flash socket的网络底层接受数据,就以与C++服务器通讯为例子,C++服务器一般会发一段一段数据过来,每段数据都是由一定结构组成的,一般是消息头和消息头,然后再逐步分层解析。阅读全文>
发表于 @ 2008年06月29日 12:37:00 | 评论( loading... ) | 举报| 收藏
RSL是什么??RSL是 Runtime Shared Library的简称。我个人的理解时是在swf编译的时候,不把在该swf中使用的一些类库编译进swf中去,而是在该swf运行的时候动态加载,该swf是要使用的类库,从而达到减小swf体积的目的。
做as编程的人都知道,如果每个swf都引用了同一个类的话,那么你编译每个swf的时候,都会把那个类编译进去,也是就是说,无形中对整个应用而言,就多了几份类库而增大了内容
例如你有 a.swf,b.swf,c.swf,同时引用了sodaTest.as这个类,传统的做法是每个swf都把sodaTest编译进去。而使用 RSL技术的话,则把sodaTest.as这个类编译进一个特殊的swf进去(lib.swf,该swf包含sodaTest),在a,b,c运行的时候,把lib.swf这个swf加载进去就可以了。三个swf共享一个,从而减小了体积阅读全文>
发表于 @ 2008年05月11日 13:35:00 | 评论( loading... ) | 举报| 收藏
个人比较喜欢用xml配置一些flash中使用的信息,尤其是利用反射(java感染的习惯的),主要是因为比较多是做架构,讲究的通用性
在AS3中,类的实例是不能使用该类中的静态方法的。只能通过类名来调用静态方法。所以利用反射使用一个类的静态方法时候,就可以少一步啦,直接反射出来的class,再调用静态方法就可以了。阅读全文>
发表于 @ 2008年05月11日 13:00:00 | 评论( loading... ) | 举报| 收藏
一个Loader加载多个swf
有人做过这个相关的功能吗?
我研究了一阵..........确实可以实现.不过却有点不完美.
不知道还有其他人实现吗?
通过调试器观察.........发现Loader.content属性为空时.才能够正确地加载一个swf.否则会抛出"提供的 DisplayObject 必须是调用者的子级错误"
偏偏Loader.content是只读属性,不能认为改变.....
没办法,只好利用它的报错功能,来实现一个一个Loader加载多个swf,不过始终觉得有点不完美....两次加载,还扑捉异常
不知道这捕捉异常的消耗能不能抵上重新创建一个Loader,呵呵,有兴趣的人可以研究研究阅读全文>
发表于 @ 2008年03月02日 23:07:00 | 评论( loading... ) | 举报| 收藏
差不大一年没去动red5了,现在因为项目需要又开始使用red5,呵呵,先写些基本应用吧
参数传递是最基本的,之前是as2,现在用as3与red5 0.63了,几乎没什么变化.不过flash这边的可以传递的参数也就多了一些.就基本的是
String,int,Number,Boolean,Array,对应到red5这边是String,int,double,boolean,List阅读全文>
发表于 @ 2008年02月20日 17:00:00 | 评论( loading... ) | 举报| 收藏
最近忙得一回家就睡觉.........
放个小东西,平时自己也有的。主要是用来输出flash的打印信息的........目的是让flash脱离了IDE依然可以输出信息,网络应该也有不少人写,呵呵。(我不是故意又写的,只是整理一下自己以前用的),简单说明一下功能......
增加了XML配置文件,可以设置接受flash信息的接受器(分flash,socket服务器,http服务器)
可通过配置文件修改信息输出等级(可设置为不输出信息或者只输出错误信息),可设置对象输出等级(详细程序)阅读全文>
发表于 @ 2008年02月01日 23:43:00 | 评论( loading... ) | 举报| 收藏
这个东东是以前做的,可用来生成数据结构(bean)。一直都在凑合着用着。呵呵,我做flash项目的时候,一直都很喜欢用java写着一些小工具来生成一些重复性的代码阅读全文>
发表于 @ 2008年01月23日 11:30:00 | 评论( loading... ) | 举报| 收藏