从正式开始写Android应用到现在已经过了整整三个月了。这段时间最令我深刻意识到的一件事情是实践验证理论的重要性。这个过程实际上就是设计与技术融合的过程。我很记得一本书所说,如果不深入探究开源项目的源代码,它对于开发者来说永远只是“闭源”的。同样,我觉得这句话完全可以套用在Android开发中——没有良好的设计(界面)做躯体,再好的技术(程序)也只是虚幻的灵魂而已,不能发挥其真正的威力。
这个月并没有如预计中完成第一款游戏的开发,所以要顺延至下个月。
PS:最近南方台风甚大,出外游玩需注意安全。
本月工作总结如下:
(1)AndEngine的自定义增强
* 自定义的场景切换(参考punya的做法)
* 自定义简单的Tweener移植版(以及新增的几何级数渐变插件)。
* 知道如何让纹理支持Android的Canvas、Picture类(可以对纹理进行像素级操纵),以及如何手动刷新至GPU。
(2)jkanji的内存泄露和其它bug的修复
* 字体泄露问题,缘于Android系统的Typeface类存在不能手动释放的bug。
* Bitmap、MediaPlayer释放问题。需要在合适的时机手动释放内存。
* 图片锯齿问题:千万不能使用PhotoShop的Web图片导出png。
* AudioTrack播放问题:编写一个工具类,支持从Zip文件中直接解压、解码和播放Windows格式wav文件。
(3)ReversiWins进度
* 移植好AI了
* 知道如何在Photoshop中自动导出资源图片,使用这个脚本:http://www.scriptsrus.talktalk.net/的Layer Saver.jsx,以及使用PS的图层组功能。
* 完善AWT测试框架(用于Android可移植库的开发)FireTreeFrame(SimpleScriptSystem的衍生物),作用是用一个类实现简单AWT游戏窗口。