诺基亚3230无法用Flash播放器运行SWF格式游戏,根本原因在于它承载的Flash环境并不是电脑上的Flash Player,而是Flash Lite——一个专门为移动设备砍掉大量特性的精简版。2005年上市的3230运行Symbian 7.0s和S60第二版界面,官方没有承诺支持完整SWF回放。即便你手动安装一个Flash播放器插件,它也只能识别早期的SWF 4或SWF 5文件。这个格式版本对应的交互能力还停留在Flash 4/5时代,而当时网络上流行的SWF游戏大多出自Flash MX或Flash 8,文件头版本是SWF 6、7甚至8。播放器一看到这些文件,要么直接拒绝打开,要么只在屏幕上渲染出第一帧就停在原地。
操作方式也是迈不过去的坎。电脑上的SWF游戏几乎全是鼠标游戏,点一个按钮,拖一个滑块,追一个目标。3230没有触屏,只有一个五向导航键和几个数字键。Flash Lite在S60上虽然允许把按键转换成通用四方向事件,但转出来的逻辑和鼠标单击完全不同。很多游戏中有多个精准点击区域,比如一个画面里并排着三个选项,你只能把焦点在选项间移动,而游戏代码压根没有处理焦点移动的指令。于是你按下方向键,屏幕上的光标根本不响应,或者光标只能按照游戏设计者设定好的步长跳跃,落不到你想要的按钮上。
硬件上的差距同样致命。3230的处理器主频只有123MHz,显示分辨率176×208,运行内存除去系统占用后十分有限。SWF文件本身是个矢量动画与脚本的混合体,每一帧都需要CPU实时计算形状和路径。Flash Lite为了适应低端手机,裁掉了不少图形渲染指令,遇到渐变、阴影、半透明遮罩这些在Flash 6以上常见的效果时,就会直接跳过或画错。即便侥幸打开了一个SWF 5的小游戏,连续动画也会掉到每秒几帧,声音卡顿,按键输入延迟半秒。游戏本来就要求快速反应,这种速度根本没法玩。
文件关联也是问题。Symbian系统的软件安装机制要求播放器声明支持的文件类型,但Flash Lite在S60上通常注册为application/x-shockwave-flash的辅助MIME,主要给浏览器用,不负责桌面式双击播放。你把一个SWF文件放进MMC卡,用文件管理器打开,系统可能找不到关联程序。就算把文件路径改成英文、放到根目录,也只是换了个地方,仍然触发不了播放器的图形界面。因为这种播放器根本没有一个完整的“打开文件”入口,它更愿意在浏览器里通过HTTP加载swf,而不是直接解析本地文件系统。
当然,如果游戏作者专门为手机平台做过重新优化,比如把版本降为SWF 4,把所有鼠标点击改成按键选择,压缩每一帧的矢量数据,那么3230还是可以跑的。但在那个年代,这样的手机专用Flash游戏少之又少,大部分SWF游戏就是给PC浏览器写的。拿诺基亚3230去玩,不是设置不对,而是两端的技术基准完全不同。3230的Flash播放器是用来播动画和简单交互的,不是用来承载PC游戏的。所以那时候用3230折腾SWF游戏,最终结果多是文件打开失败或者画面卡死在开场动画上。这不是你的操作失误,是平台本身够不着。
