
众所周知,苹果的老乔一贯讨厌Flash。这应该和从Macromedia时始,Mac OS X的Flash插件一贯优化差,极端情况下可以让Mac笔记本仅仅开浏览器的情况下,电池待机时间减少一半以上有关。
基 于这个理由,加上Flash并非为触摸屏设计的东西,从2007年iPhone初始,苹果一贯不准备把Flash引入到iOS上,App Store早期甚至明令禁止任何通过模拟/虚拟手段而非原生的应用。当然这个禁令取消了,Adobe让Flash Builder能做出半原生的iOS App,后来也曾经出现过不少能通过代理之类间接支持Flash的app,包括很多浏览器类app,但是它们几乎无一例外只对Flash视频网站有较 好的支持,而对Flash游戏、Flash PV和广告(啪!)支持不好。
真正能运行.swf文件的iPhone app,之前越狱界曾经出现过移植开源Flash播放器gnash的。然而,有这样一个真正的SWF player,这两个月出现在了App Store上。

它的名字当然就是——中国卡通。
这个应用的iTunes介绍如下:


(PC/Mac请打开?mt=8)
其中并未提到任何和Flash有关的介绍。然而,通过简单的研究,很容易就能发现它其实是播放SWF的。

根据这堆破图,应该能够判断这个程序是从其网站(具体地址需要抓包才知道,反正那个游戏列表是。)下载某些东西到本地,然后运行的玩艺。
此App有个把网站上的那些可以播放的小游戏或者PV之类下载到本地的选项。

随便点了一个纵版、一个横版的小游戏和一个PV(某神曲的),下载到本地。

由于这个Touch四代乃越狱机,直接用iFunBox打开这个App的安装目录。Documents下没有内容,再找了一下,发现存在本地的东西在/var/mobile/Applications/安装目录/Library/Documentation/local/下,里面赫然放着三个swf文件。果断拷出来丢进浏览器,结果神了,真是Flash的swf文件无疑。

至于那个cfg文件呢?打开来看,看起来有两种结构。游戏的是一种,的是另一种。
它们都是UTF-8编码的类XML文件,其共有结构如下:
对于游戏,operate_define、sound_define里还包了东西,而且还有另外结构。。
下一步得试试看能不能把自己的Flash SWF文件放进这个app让它播放。首先试试IOSYS的几个东方Flash PV,直接套用那个神曲MV的.cfg,也不管那个content_ID了,直接丢进去。苹果手机播放swf出人意料的是,居然直接播放成功。貌似此app目前并不会真正验证那个ID。
至于播放速度,那就很雷了(很可能是touch4本身就不够快的原因),目测就10-13fps的样子。顺便说说,国内的Flash PV很少像IOSYS的那样,用25fps以上的时基做的,长期以来都是如此,不知为何。




至于游戏,就得根据游戏本身的键位自己修改虚拟键盘touch_define(其实应该还有重力感应的define,我没下重力感应的游戏来研究)。结果测试了三个Flash游戏,DOOM Flash版,两个,分别用雷电2.cfg、陨石大战.cfg修改,丢进去。
结果,DOOM Flash版无法运行(一直显示正在载入),其他两个游戏运行极为缓慢。然而最要命的是,这个虚拟键盘不支持通过多点触摸实现多个键同时按下,导致这两个STG基本没法玩。。。。



当然这个app最大的问题是,不对应视网膜显示和iPad屏幕。Flash是矢量格式,在高分屏上变成马赛克是非常丑陋的。据某有iPad2的测试,iPad2上这个app运行swf的速度可以比Touch4快1倍。。。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/bofangqi/article-94812-1.html
才是最明智者