AsWing换肤

说道AsWing换肤,其实官方的源码包里已经给我们提供了实例,只是没有说明文档罢了。

下面介绍一下AsWing换肤要用到得东西。

以AsWing1.5为例,到google code上下载他的aswing_1.5_allinone。

在allinone文件夹里我们可以看到一个工程文件夹SkinBuilderLAF,这个工程是我们换肤要用到的类库,你编译你自己的皮肤的时候需要导入这个工程的swc或者src文件夹,当然aswing的工程文件也是必须导入的

下面我们可以看看allinone里的实例文件

FlaSkinTemplate_fl
FlaSkinTemplate_fx
OrangeLAF

这   more...

Debug SWF 文件

事实上我一直很好奇像FDT这样的第三方工具是怎么实现swf文件的调试的,因为之前我也尝试过用ant手动编译swf文件,可编译完成后只能手动打开编译好的swf文件,更别说debug这个swf了。

今天用法fd来编译swf的时候偶然发现它调用了fdb这样一个命令,于是上网查资料,发现原来我们竟然可以在命令行里debug swf文件,不仅仅是trace我们甚至可以断点,条件断点,查看堆栈和变量,甚至可以set变量。

好强大的flex sdk

具体的调试方式请看

http://help.adobe.com/en_US/Flex/4.0/UsingSDK/WS2db454920e96a9e51e63e3d11c   more...

有关MVC

终于塌下心来开完了pureMVC的介绍

发现自己原来一直误解了MVC的部分含义

1.数据才做不完全是由Command执行的
数据操作其实分为两个部分:域操作和业务逻辑
其中域操作指的是更改一个vo的某些功能,这个操作代码应该写在vo中,因为这个vo的某一操作可能被多个Command用到,而业务逻辑是在Command中处理的,也就是调用不同或相同的vo的域操作来完成一个业务

2.view是不直接管理自己的显示更新的
view是一个运行就能看见的东西,应该有一个代理来管理这个view,代理中保存这个view的引用,所以代理能自由的控制对应的view,但是如果需要,我们完全可以用另外一个代理   more...

AS3 Object 转化为 树状结构的 String

早在AS2的时代,系统给我们提供了将一个Object转化为String的函数

但是到了AS3时代便没有了这个函数

如果需要知道一个Object的内容我们可能要for each或者复写toString()方法

但是这样会很麻烦

但是由于JSON,我们减少了一些麻烦,最起码我们能看到类里有哪些字段和值了,但是JSON的输出格式作为调试查看数据确实是一件是痛苦的事情,于是我重写了JSON的encode函数,将JSON encode成了树状结构的现实形式

可能在调试swf,trace数据的时候有一定的用处。

这里是源代码的地址:http://code.google.com/p/moremorefunlib/

实例:

{name:"String",array:[1,true,"hello",true,["kkkk",3333,{kkk:"NND"}]],top:true}

这样一个Object被转化为:

Object:
** top = (Boolean)true
** array = Array:(Length:5)
**  ** 0 : (Number)1
**  ** 1 : (Boolean)true
**  ** 2 : (String)hello
**  ** 3 : (Boolean)true
**  ** 4 : Array:(Length:3)
**  **  ** 0 : (String)kkkk
**  **  ** 1 : (Number)3333
**  **  ** 2 : Object:
**  **  **  ** kkk = (String)NND
** name = (String)String

 

ps:当然,对于用户自定义的类,这个方法是同样可以转化的,并不是只能转化动态类。

ps:这个类用到了 flash.utils.describeType ,你可以从这里得到这个类库:http://code.google.com/p/as3corelib/

一个小学生作文

老师让同学回家后写一篇有关“国家”、“党”、“社会”和“人民”的作文。

小明不理解这些词的含义,就去问爸爸。

爸爸告诉他:“国家是最大的,就象你奶奶。党是最有权利的,是一家之主,就象我。社会就是为党和国家干活,还得听党的,就象你妈妈。人民就是最小的,说什么也没人听,就象你。”

晚饭后,小明想写作文,可是还不是很明白这些事,就去想问奶奶,可是奶奶已经睡了。小明去找爸爸,爸爸和妈妈正忙着“床上运动”,爸爸一看他来,两个耳刮子就给打出来了。小明没有办法,只好抹抹眼泪,回房间自己写作文了。

第二天,爸爸接到老师的电话:“你是小明的父亲吧”

“是啊,什么事”

“关于小明的作文”

“是写的不好吗   more...

Flex皮肤制作方法

首先Flex本身为我们提供了几套皮肤,这些文件可以在Flex的SDK的文件夹下的\sdks\3.2.0\frameworks\themes 文件夹下

其中AeonGraphical文件夹下为我们提供了一个组件的fla源码。我们可以打开这个

AeonGraphical.fla,其中我们可以看到所有的flex的空间的默认显示图形。

如上图,左侧是我们能看到的组件的现实情况,包含了各种状态的显示情况,右侧是这些显示元素的元件包。

我们以checkBox为例,介绍如何修改flex的皮肤。

首先新建一个fla文件,随意命名,这里我命名为checkBox.fla,之后全选AeonGraphical.fla中的che   more...

关于swf调试的两种方式

我们在开发期间,可以通过控台查看trace已达到调试目的,但是如果我们项目发布了,我们只能打开swf文件的时候我们就不能调试了吗?

答案是否定的,这里介绍两种方式用来调试编译好的swf文件

1.官方为我们提供的log文件。(请确保你安装的是debug版的播放器)

新建一个mm.cfg文件。地址为:C:\Documents and Settings\username\mm.cfg,其中username为你的XP系统用户名,比如Administrator。打开mm.cfg,输入:
ErrorReportingEnable=0
TraceOutputFileEnable=1
然后,创建一   more...

毕业设计的那些事

时间过得确实快,转眼就要毕业了。

还记得当初拿到毕业设计题目时那份雄心勃勃的尽头,还曾经想要用Flex去做前台的用户交互,用BlazeDS做网关,总而言是一句话,要好好做毕设。

然而事情往往不像预期的那么好,到中期答辩的时候,程序还没有写,于是我认识了现实,开始极大的简化系统功能当然抛弃了flex的不现实的设想。

最终经过数次重构,也算完成了基本功能。唯一值得骄傲的就是整个代码是自己完成的了,应该也是一个划水作品吧,哈哈。

今天完成了答辩的ppt,也算告一段落吧。

有兴趣的可以看看新出炉的PPT,嘿嘿

利用BlazeDS实现Java和ActionScript3通信(关于flash安全沙箱的补充)

在昨天终于在各位老大的帮助下终于把安全沙箱的警告给拿走了,终于可以实现通信了。

经过查阅多方的资料,很容易知道缺少一个安全配置文件,这个配置文件是放在服务器上的,flash连接这个服务器的时候,会首先去找这个我文件,然后去查看是否允许自己所在的域访问这个服务,这个配置文件名为:crossdomain.xml,文件内容为:

<?xml version="1.0"?>
<cross-domain-policy>
  <allow-access-from domain="*" to-ports="84   more...

利用BlazeDS实现Java和ActionScript3通信(AsWing和remoting服务-四)

OK,在解决了一个本人百思不得其解的问题后,开始下一步工作,让我们开始使用BlazeDS。

本次任务目的,AsWing程序向服务器发送信息,服务器返回这个信息,并在AsWing界面上显示出来。

1.Aswing我就不多说了,以前说过一些,具体的可以到官网去看,况且这里也不是复杂运用。而且AsWing网站有专门的介绍BlazeDS通信的文章,我的程序也是从那里学来的。用AsWing画一个界面。

2.编写服务端Java代码。

<>

public class SayHello {

    import java.uti.Array;
     more...