`
810364804
  • 浏览: 787199 次
文章分类
社区版块
存档分类
最新评论

【Cocos2d-X游戏实战开发】捕鱼达人之开发前准备工作(一)

 
阅读更多

本系列学习教程使用的是cocos2d-x-2.1.4(最新版为cocos2d-x-2.1.5

博主发现前两个系列的学习教程被严重抄袭,在这里呼吁大家请尊重开发者的劳动成果,

转载的时候请务必注明出处:http://blog.csdn.net/yangyu20121224/article/details/11177559


经过一个多月利用业余时间对于Cocos2D-X坚持不懈的学习和努力,对于大部分的基础知识基本上已经学的差不

了,当然博主要学习的还有很多,依然会继续将《Cocos2D-X开发学习笔记》专题写下去,总结在学习的过程中遇

到的一些困难以及解决的方法,让那些初学者也可以少走一些弯路。

但是,只是一味的学习基础知识是不够的,我们还需要实战项目的磨练,将零散的知识结合起来,才能开发出一

完整的游戏,我们学习Cocos2D-X游戏引擎的目的不就是为了开发游戏么?所以博主决定一边学习新的知识,一边

以实战项目为主,对之前学习过的内容进行加强和巩固,以达到事半功倍的效果。

一、开发前的准备

对于有经验的开发者而言,在项目开始之前,都会对策划和需求进行分析建模,把描述性的文档转换成开发模

型,并对诸如命令规则等的标准进行统一。这在团队开发中尤为重要。虽然接下来的是独立开发,当仍有必要确立唯

一的标准。

这里我们将使用驼峰命名法以及MVC模式进行开发,并且在开发过程中将代码可读性作为首要的考虑因素,而且

博主也会为其注上详细的注释。

MVC模式是软件工程中的一种软件架构模式,包括模型(Model)、视图(View)、和控制器(Controller)3部

分。模型包括了数据和逻辑等,并不关心界面上的显示形式。视图则不包含程序上的逻辑,仅监控模型中的数据,并

根据数据的内容,将其在界面上显示出来。控制器则起到不同层面间的组织作用,用于控制应用程序的流程及消息传

递。根据程序的复杂程度,视图和模型的分离程度可能也有所不同。在此我们不进行更深层次的讨论,只在接下来的

内容中说明如何在Cocos2D-X的实战项目开发中运用这种模式。

二、视图(View)

游戏中的视图包括了CCScene下所有可见的节点和元素。在MyFishingJoy游戏项目中存在两个场景:开始场景和

游戏场景。

开始场景:

开始场景由于预加载资源,这是游戏开发中常用的做法。在游戏开始之前,将外部资源加载进缓存中来保证游戏

过程中的流畅性。在Cocos2D-X中,共有4个缓存区,它们是CCTextureCache、CCSpriteFrameCache、

CCAnimationCache和CCShaderCache,分别对应图片纹理、精灵、动画和着色器。我们需要做的是调用这些缓存提

供的接口,异步载入资源,并以进度条的形式实时提示玩家当前的载入进度。载入完成之后方可进入下一场景。因

此,其界面并不复杂,除了简单的背景和标题之外,仅有一个需要更新的进度条。

游戏场景:

游戏场景是整个游戏的核心,包含了大部分的游戏逻辑和数据,也是游戏可玩性的体现。其界面比较复杂,大部

分可见元素都需要根据数据的变化实时更新。在开发的初期,我们应看重完成游戏场景,制作出游戏的雏形,而不是

把时间花费在菜单、载入界面等与游戏相关性较弱的地方。

三、模型(Model)

这部分主要包括了游戏逻辑数据。在之前基础知识的学习中,我们已经知道了可以通过CCUserDefault、XML、

JSON、SQLite或其他方法对游戏数据进行持久化的存储。这些方法的技术难度和功能都有其不同的倾向,例如,

SQLite比起XML,更倾向于大型数据的处理。我们需要根据游戏中的需求慎重选择对应的技术。

MyFishingJoy项目中的数据主要分为两部分:静态数据动态数据

1、静态数据

静态数据是程序中的只读数据,例如图片名、NPC的名字、道具的售价甚至是图片的坐标等。这些数据不会在游

戏过程中发生改变,然而,在开发过程中它们却可能经常变动。为了便于修改,一个常规的做法是把这些数据放到外

部文件进行保存,杜绝硬编码。

我们会在今后的实战项目中选择使用plist(property list)保存静态数据,并使用plist编辑工具进行必要的修改。在

程序中,通过调用以下代码读取文件,并以字典的形式存储在缓存中。

CCDictionary* dic = CCDictionary::createWithContentsOfFile(const char *pFileName);


提示:对于静态数据的存储,我们还有许多备选方案,例如,使用CocosBuilder存储精灵的坐标、角度和比例等信息,亦或是使用PhysicsEditor存储物理游戏中刚体的参数等。大家有兴趣的话不妨进一步探索方便我们开发的工具。

2、动态数据

相对于静态数据,这部分数据在游戏过程中会频繁变动,例如玩家的金币数和经验值等。所以,我们需要选择便

于在程序中读写的数据保存形式。

对于MyFishingJoy项目而言,动态数据有玩家的金币数以及音乐音效的大小。这些数据都是线性结构,没有嵌套

关系,而且数据量也很小,因此我们使用Cocos2d已经封装好的CCUserDefault即可。

提示:许有些朋友会觉得使用SQLite、JSON或者其他一些技术看上去显得酷一些,但在实际开发过程中,慎重

选取更简洁、更符合需求的技术,往往能更好地降低开发的人力和时间成本,也能够使程序的效率得到提高。

四、控制器(Controller

控制器主要负责模型和视图之间的信息传递。在Cocos2d的定义中,CCScene作为场景内所有内容的载体出现,

而其本身并不直接在界面上显示。这无疑是最好的控制器。我们可以在这里进行数据与场景、场景与场景之间的交

互,即将CCScene类的对象作为逻辑控制和信息传递的“总司令部”。

分享到:
评论

相关推荐

    【cocos2d-x IOS游戏开发-捕鱼达人9-13】鱼群产生

    9、【cocos2d-x IOS游戏开发-捕鱼达人9】鱼与动画 资源引用页: 10、【cocos2d-x IOS游戏开发-捕鱼达人10】鱼的产生和移动 资源引用页: 11、【cocos2d-x IOS游戏开发-捕鱼达人11】鱼的产生和移动:完善 资源引用页...

    【cocos2d-x IOS游戏开发-捕鱼达人4-8】章节代码

    4、【cocos2d-x IOS游戏开发-捕鱼达人4】基本游戏框架 资源引用页: 5、【cocos2d-x IOS游戏开发-捕鱼达人5】C++中函数代理与信号插槽机制 资源引用页: 6、【cocos2d-x IOS游戏开发-捕鱼达人6】实现开始菜单 资源...

    Cocos2d-x实战:JS卷——Cocos2d-JS开发

    资源名称:Cocos2d-x实战:JS卷——Cocos2d-JS开发内容简介:本书是介绍Cocos2d-x游戏编程和开发技术书籍,介绍了使用Cocos2d-JS中核心类、瓦片地图、物理引擎、音乐音效、数据持久化、网络通信、性能优化、多平台...

    精通COCOS2D-X游戏开发 基础卷_2016.4-P399-13961841.pdf

    精通COCOS2D-X游戏开发 精通COCOS2D-X游戏开发 精通COCOS2D-X游戏开发 精通COCOS2D-X游戏开发 精通COCOS2D-X游戏开发

    Cocos2d-x高级开发教程制作自己的《捕鱼达人》

    Cocos2d-x高级开发教程:制作自己的《捕鱼达人》 图书简介: 《Cocos2d-x高级开发教程:制作自己的《捕鱼达人》》是国内第一本全面深入讲解Cocos2d-x进阶内容的图书,Cocos2d-x创始人王哲作序推荐,《捕鱼达人》开发...

    cocos2d-x游戏开发实战精解

    本光盘是《Cocos2d-x游戏开发实战精解》一书的配书光盘,内容介绍如下。 (1)本书教学视频:该文件夹收录了本书的配套多媒体教学视频,可用暴风影音等视频播放器播放。 (2)本书源文件:该文件夹收录了本书涉及...

    Cocos2D-X游戏开发技术精解

    资源名称:Cocos2D-X游戏开发技术精解内容简介:Cocos2D-X是一款支持多平台的 2D手机游戏引擎,支持iOS、Android、BlackBerry等众多平台。当前,很多移动平台流行的游戏,都是基于Cocos2D-X开发的。 《Cocos2D-X...

    Cocos2d-x高级开发教程

    书中汇聚了热门手机游戏《捕鱼达人》开发的实战经验,作者从最基础的内容开始,逐步深入地介绍了Cocos2d-x的相关知识点。此外,书中的教学资源获得《捕鱼达人》手机游戏的授权,读者可以从一流游戏开发中高起点地...

    大富翁手机游戏开发实战基于Cocos2d-x3.2引擎

    资源名称:大富翁手机游戏开发实战基于Cocos2d-x3.2引擎内容简介:李德国编著的《大富翁手机游戏开发实战(基于 Cocos2d-x3.2引擎)》使用Cocos2d-x游戏引擎技术,带领读者一步一步从零开始进行大富翁移动游戏的开发...

    【Cocos2d-X游戏实战开发】捕鱼达人之单例对象的设计(二)源码

    【Cocos2d-X游戏实战开发】捕鱼达人之单例对象的设计(二)源码 教程地址:http://blog.csdn.net/yangyu20121224/article/details/11180135

    【Cocos2d-X游戏实战开发】捕鱼达人之开始场景的创建(三)源码

    【Cocos2d-X游戏实战开发】捕鱼达人之开始场景的创建(三)源码 教程地址:http://blog.csdn.net/yangyu20121224/article/details/11397899

    Cocos2d-x 3.x游戏开发实战pdf含目录

    Cocos2d-x 3.x游戏开发实战pdf含目录,内容详细,强烈推荐给大家。

    【cocos2d-x IOS游戏开发-捕鱼达人14-17】炮弹的实现

    【cocos2d-x IOS游戏开发-捕鱼达人14】炮弹切换界面 【cocos2d-x IOS游戏开发-捕鱼达人15】炮弹攻击效果1 【cocos2d-x IOS游戏开发-捕鱼达人16】炮弹攻击效果2 【cocos2d-x IOS游戏开发-捕鱼达人17】炮弹攻击判定

    Cocos2d-x-3.x游戏开发之旅

    Cocos2d-x-3.x游戏开发之旅-钟迪龙著 全新pdf版和附书代码(代码为工程文件,可复制) 附带目录标签

    Cocos2D-X游戏开发技术精解.pdf

    《Cocos2D-X游戏开发技术精解》详细介绍如何使用Cocos2D-X引擎开发自己的移动平台游戏。全书共15章,主要内容包括:Cocos2D-X引擎简介;如何建立跨平台的开发环境;引擎的核心模块——渲染框架;如何实现动态画面和...

    精通Cocos2d-x游戏开发(进阶卷)源代码

    精通Cocos2d-x游戏开发(进阶卷)源代码 精通Cocos2d-x游戏开发(进阶卷)源代码 精通Cocos2d-x游戏开发(进阶卷)源代码

    cocos2d-x实战项目

    cocos2d-x实战项目 01.cocos2d-x原理及环境配置.rar 03.cocostudio使用方法及UI控制.rar 04.XML文件读取与骨骼动画.rarcocos2d-x实战项目 01.cocos2d-x原理及环境配置.rar 03.cocostudio使用方法及UI控制.rar 04.XML...

    COCOS2D-X 捕鱼达人 (VS2010 C++)

    cocos2d-x2.25引擎建立的捕鱼达人,参照了《Cocos2d-x高级开发教程:制作自己的〈捕鱼达人〉》一书并做了改动。将代码导入cocos2d的projects文件夹内自创的工程文件夹里的proj.win32文件夹,resoutses则放在对应工程...

    Cocos2d-x游戏引擎实战开发炸弹超人

    Cocos2d-x 是一个支持多平台的 2D 手机游戏引擎

    Cocos2d-x实战 JS卷 Cocos2d-JS开发

    Cocos2d-x实战 JS卷 Cocos2d-JS开发 PDF 电子书完整版本

Global site tag (gtag.js) - Google Analytics