前一阵子搜索了一阵子,现在用来将
flash打包成exe的程序非常多了,而且不仅仅是打包,其趋势更是大有以
flash做UI、dll扩展写应用的趋势,其强悍程度,adobe的AIR是不可比的。不过对与其实现的原理,还没弄明白,希望有了解的人一起探讨一下。
目前国产的有个flashpackager,免费版本的公开了部分的API,还是比较弱,从API的格式上来看,视乎是用flashplayer的容器带的外部结构实现的,
fscommand(),
ExternalInterface.call();
而在sourceforge上爬到一个c#版本的小程序,则是优雅的用as封装了这一接口,在载入其封装的类包以后,可以如Zinc、
swfkit等等一样,
调用这些外扩的as对象及其方法。
但是用过zinc和swfkit的人,应该知道例如MDM zinc是不需要引入其他的as类,就能在as中使用MDM对象以及其方法,这个很是费解,as2中在发布的时候并不会提示没有此对象。想来想去,有一种可能,在打包成exe的时候,打包程序修改了swf,用程序将封装对外接口的as类包强制写入
swf文件。这样子是可以实现的,毕竟修改
swf文件不是什么了不得的事情。
但是swfkit的实现视乎更负载,呵呵,他还有一个ffscript。
了解的人跟帖拍砖哈