基于cocos2d-x跨平台游戏设计与实现-毕业论文内容摘要:

语言 . Cocos2DX 引擎架构 如图 2. 1 所示 : 图 2. 1 Cocos2DX 引擎架构 2. 3 开发工具 游戏在 Windows XP 系统下开发,基于 visual studio C++ 2020 的开发平台,采用了cocos2dx 技术进行开发 . 操作系统: Mac(OX X 10. 10. 3) 程序语言: C++ 开发工具: Xcode,Eclipse,SVN, Diagrammix Lite , cocos2dx2. 2. 2 Xcode 是苹果 公司的 C++开发工具,具有集成开发环境, iOS 模拟器,可提供编辑 C语言, C++以及 C++等编程语言 . Xcode 以拥有 “语法高亮 ”, IntelliSense(自动编译功能) 4 以及高级除错功能而著称 . 比如,它允许用户进行远程调试,单步执行等 . 还有允许用户在调试期间重新编译被修改的代码,而不必重新启动正在调试的程序 . 其编译及建置系统以预编译头文件、最小重建功能及累加链接著称 . 这些特征明显缩短程序编辑、编译及链接的时间花费,在大型软件计划上尤其显著 . Eclipse 是一个开放 源代码 的、基于 Java 的可扩展开发平台 . 就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境 . 幸运的是, Eclipse 附带了一个标准的插件集,包括 Java 开发工具 ( Java Development Kit, JDK) . SVN 是 Subversion 的简称,是一个开放源代码的版本控制系统,相较于 RCS、 CVS,它采用了分支管理系统,它的设计目标就是取代 CVS. 互联网上很多版本控制服务已从CVS 迁移到 Subversion. Diagrammix Lite 一款在苹果电脑上运行的 UML 作图工具 . 高效率的应用,简单易做的操作,强大的 API ,是 Mac 独有的设计是 windows 电脑无法笔拟的 . C++语言是目前面向对象编程的首选语言,学习、使用 C++语言并进行应用程序设计的人员非常多,苹果公司的 Xcode 因其强大的功能、非常友好的界面而成为当前最为热门C++语言开发环境 . Xcode 提供的集成开发环境、 MFC 类库和应用程序框架极大地便利了用 C++语言开发 iOS 应用程序所需的源代码编写、用户界面设计、消息映射、编译链接和调试运行等工作 . 3 设计概要 3. 1 游戏介绍 这是一款消除类游戏,整体环境主要还是围绕 4X4 方块的合并,高保真的音效,为玩家呈现一场不一样消除体验 . 简单的触屏操 作,触屏按住随意一个地方,上下左右移动,合并消除增加分数 . 在上下左右移动是,会有 90%概率产生 2, 10%概率产生 4 的方块,遇到数值相同的方块即可分数合并消除一个,当出现 2048 的方块意味着通关游戏,初次之外的情况,不能合并切不能再次移动的情况下,意味着游戏介绍 . 5 3. 2 游戏的结构例图 游戏的结构例图如图 3. 1 所示: 图 3. 1 游戏的结构图例图 6 3. 3 功能模块分析图 游戏功能模块主体分析: 3. 3. 1 游戏欢迎页面 游戏欢迎页面主要是预加载游戏进行需要的图片、音乐等资源进行预加载 . 3. 3. 2 游戏主页面 游戏主页面逻辑判断如图 3. 2 所示 . 图 3. 2 游戏主页面逻辑判断 图 7 出现方块 逻辑如下图 3. 3 图 3. 3道具使用逻辑图 3. 4 游戏失败 游戏失败逻辑 如图 3. 4 所示: 图 3. 4 游戏失败逻辑图 8 4 项目设计 4. 1 游戏架构设计 由项目的需求分析可以清晰的对本游戏的具体功能实现进行设计,如下图 4. 1 是本游戏的总体架构设计 . 图 4. 1 游戏总体构架设计 通过对游戏的需求进行分析和细致的归纳,可以认为游戏的主要内容是由游戏进行时和游戏失败两个主要部分所构成 . 游戏进行时包含了用户对数字方块的操作以及对主角信息(获得的分数及获取的道具)的管理,用户游戏结束的操作选择,游戏进行为本系统的设计核心 . 基于这些考虑,本游戏将对游戏进行时的事件作为一个重点的功能模块进行详细设计 ]5[ . 5 项目实现 前四章是对游戏的逻辑和功能上的设计,而游戏实现阶段就要依据之前的成果将 抽象化设计转化为物理实现 . 5. 1 游戏总体实现 游戏的模块结构是对游戏的进行一个总体划分,要真正的实现游戏,还需要进一步的设计用户的功能 . 9 游戏的功能分为五类:游戏主场景、游戏欢迎页、游戏音乐类、游戏数字方块生成类、数字方块合并类、数字方块消除类、得分计算类、游戏失败类、触摸事件,针对每一个功能都实现了不同的作用 . 5. 2 各模块实现 本文对游戏主场景模块、数字方块、得分管理模块中的功能具体实现过程进行论述 . 5. 2. 1 功能的实现依赖 项目创建的时候需要添加 cocos2dx的支持项,如 下 图 5. 1所示 . 图 5. 1 Cocos2DX文件目录 搭建好的工程在第一次创建项目的时候会自动把需要的外部依赖项添加到项目下,不需要手动额外添加 . 搭建好 cocos 环境,在终端命令下创建 cocos 项目: cocos new d /Users/hshev99/Destouk/GAME3. 2 l cpp p . hshev99. game GAME2048. ]3[ 需要注意的是,在开始一个项目的时候,要把需要用 到的图片资源以及音乐添加到项目目录下,否则在项目进行的过程中会报错 . 资源文件尽量不要用中文命名,有时会出现字符编码的错误 . 5. 2. 2 游戏主欢迎页的实现 用户在进去游戏的时候,会首先进入到欢迎页面 如图 5. 2 所示 . 10 欢迎页是为了对资源,即图片资源和音乐资源进行预加载,图片资源和音乐资源相对较大,进入游戏后在加载比较慢,对游戏体验会造成一定影响,所以在欢迎页面进行预加载,进入游戏后可以享受较好的体验,不会因为加载资源而造成游戏卡的问题 . 加载资源代码如下: //加 载音乐资源 PreloadMusic()。 void WeleLayer::PreloadMusic() { CocosDenshion::SimpleAudioEngine::sharedEngine()preloadBackgroundMusic(sound/game_music. mp3)。 CocosDenshion::SimpleAudioEngine::sharedEngine()preloadEffect(sound/bullet. mp3)。 CocosDenshion::SimpleAudioEngine::sharedEngine()preloadEffect(sound/enemy1_down. mp3)。 CocosDenshion::SimpleAudioEngine::sharedEngine()preloadEffect(sound/enemy2_down. mp3)。 CocosDenshion::SimpleAudioEngine::sharedEngine()preloadEffect(sound/enemy3_down. mp3)。 CocosDenshion::SimpleAudioEngine::sharedEngine()preloadEffect(sound/game_over. mp3)。 CocosDenshion::SimpleAudioEngine::sharedEngine()preloadEffect(sound/get_bomb. mp3)。 CocosDenshion::SimpleAudioEngine::sharedEngine()preloadEffect(sound/get_double_laser. mp3)。 CocosDenshion::SimpleAudioEngine::sharedEngine()preloadEffect(s。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。