论文部分内容阅读
智能终端和4G网络的发展揭开了移动互联网的新时代,移动应用开发市场前景广阔。当下移动应用繁多,更新换代频繁,只有品质过硬、开发迅速并且有创新功能点的移动应用才能获得更大的市场优势。目前市场上的一些引擎涵盖了游戏开发的全套解决方案,但在具体项目开发中仍存在一些问题,例如易用性不高、底层核心库过于庞大、开发难度较高等。在上述背景下,本文研究了如何高效快速开发跨平台移动应用的问题。本课题对Lua与C++的交互理论进行了深入研究,基于分层、OCP等多个设计原则,构建了两大层高效移动应用引擎结构:其一是结合Cocos2d-x和自主实现的C++模块的底层重组引擎,其二是基于Lua语言的上层通用模块引擎。两层相结合后,用户可以只进行游戏业务逻辑的开发,极大地缩短了开发周期。同时,本文对应用的跨平台移植过程进行了详细的研究与实现。为了能够更加快速地开发应用,课题研究并实现了许多通用模块,其中包括UI、场景绘制、资源管理、声音处理、数据存储和资源加载等模块。此外,为了提高开发效率、丰富引擎,引擎还从开发者角度出发,设计并实现了许多开发过程中需要使用到的便捷功能和算法,例如CSV解析工具、调试模块、脚本打包更新机制和一些人工智能算法等等。基于上述研究,本文提出并实现了一种具有可移植性、通用性和高效性的多平台移动应用引擎。本课题的另一个重点研究内容是一种基于Cocos2d-x开源引擎的Sprites碎片动画技术,本文对传统游戏动画技术进行了理论研究与分析,同时结合现有的动画需求,提出了一种新型的碎片动画技术。在文中对该碎片动画技术实现的整体流程进行了详细的介绍。首先介绍了作为本技术核心部分的Sprites碎片动画动作实现类和动作管理类的构造原理;其次在引擎的碎片动画和图形渲染的基础上,介绍了 Sprites碎片动画技术在内存和资源管理等方面的优化;最终介绍了在Lua多平台高效引擎中使用Lua语言对其进行封装引用的通用方案。基于此Sprites碎片动画技术,移动应用可以在节省内存的基础上,开发出丰富的动画效果。最后基于测试技术理论的分析,采用黑盒功能测试方法,辅助白盒脚本测试方式对本文提出的引擎框架进行了功能测试和扩展性测试。通过两个具体项目开发的实际效果图、各项测试数据、扩展代码耦合度、开发周期等结果的分析,论证了基于Lua语言的多平台移动引擎的可靠性、高扩展性和高效性。