论文部分内容阅读
随着网络游戏的发展,网络游戏平台渐渐地普及起来。越来越多的游戏玩家利用游戏平台玩游戏。游戏平台也使游戏的开始、更新和推广变得更加便利,因此,其对玩家来说也扮演着越来越重要的角色。在Windows操作系统下,游戏平台客户端的开发和实现技术非常多,有些是基于微软的MFC;有些是基于一些第三方开源库;有些是通过封装Windows操作系统的API来实现。但是许多游戏平台客户端的实现过程没有筛选到合适的开发技术和方法,导致开发人员的工作量大,项目开发的效率低,客户端系统的稳定性差,以及后期功能拓展比较困难。因此,筛选出优异的开发技术对于平台客户端有着显著意义。Qt是一个跨平台的图形用户界面应用程序和开发框架。本文基于Qt开发了一个运行于Windows操作系统的游戏平台客户端,同时阐述了Qt的图形界面编辑器(Qt Designer),Qt的信号槽机制以及Qt的界面实现技术的使用方法,并将Qt与MFC进行比较,发现Qt具有稳定,灵活,高效以及高度可扩展性等特点,符合网络游戏平台客户端开发的功能需求。本文对游戏平台客户端系统进行了详细地用例分析,基于Qt设计并实现了如下功能:游戏平台下载器,游戏平台客户端的启动,游戏平台的登录和登出,游戏平台的更新机制,游戏大厅的创建和进入,游戏房间的创建和平台对游戏的匹配。在此基础上,本文也对这些具体的功能和各个模块进行了细化分析和实现。同时,基于Qt图形编辑器的设计和重要协议的定义,本文给出了各个部分的的数据结构。对Qt游戏平台开发相关技术进行探索后,本文设计并实现了序列帧动画,音频文件和Flash的播放。本文在具体实现方法上也不乏创新之处。第一,本文首次将Qt用于网络游戏平台客户端系统的设计和开发,使得系统稳定,拓展性好,开发方便并且效率高。第二,传统的Qt开发是直接在Qt Creater上进行开发,而本文设计了游戏平台客户端的架构,将Qt源码编译成DLL再在VS2010环境下实现开发。第三,本文结合强制更新和差异化更新两种方式实现了平台和游戏的安装与更新。本系统在性能优化方面也处处融入创新点。例如在系统实现过程中,控件中聊天表情过多会导致平台客户端系统卡顿。经过分析发现,平台聊天窗口内过多的聊天表情会导致游戏平台的内存和CPU占用量过高。基于此,本系统首先制定了定期清理游戏表情数据的策略。其次,本系统添加聊天时间周期和周期内聊天表情发送数量的上限,规定在该周期内玩家每次只能发送5个聊天表情,超过部分不予发出,也可防止部分玩家发送过多聊天表情造成的平台卡顿。再次,在系统接收聊天消息的同时将其加入到消息缓存队列,防止系统同时写入过多的消息造成游戏平台运行速度慢。最后,如上优化有效解决了聊天导致的卡顿问题。完成开发之后,本文选用Windows 7和XP操作系统作为本系统的测试环境,分别进行操作和性能两方面的测试,并将本客户端性能测试结果与其他同类产品进行比较。测试结果表明本系统性能显著胜出,符合预期要求,但是CPU和内存占用有待进一步优化。