【转】 如何利用Cocos2d-x开发一个游戏
原文:http://blog.csdn.net/honghaier/article/details/7888592
这个问题的结果应该是一个流程。我将从一些长期的PC端游戏开发经验结合Cocos2d-x的功能来进行说明。
首先,先确定游戏策划案。确定策划案则确定了游戏的规模和所需要的模块。而所需要的模块则带来对于数据的需求,数据的需求则引出配置文件以及编辑工具的需求。然后,确定所使用到的工具以及要开发的工具。通常来说,一个2D的RPG或ARPG类型的游戏会可能用到的工具主要有以下几种,它们按照使用的顺序应该是:
(1)图元素管理器:负责图片的编辑,生成块切割数据(注:只要工具能够满足把美工设计好的“作品”切割成程序员能够使用的图片就可以了。我自己就经常使用PS切图)。
(2)动画编辑器:负责图元素的导入,生成动画。保存动画数据。
(3)特效编辑器:负责图元素与动画的导入,生成各种粒子特效。保存特效数据。
(4)NPC编辑器:负责动画导入生成NPC动作,编辑NPC的位置锚点。动作中的事件或人物脚本。如果需要也可以在这里导入特效编辑技能。保存NPC相关数据。
(5)界面编辑器: 负责使用图元素和动画,特效进行界面的布局编辑与事件脚本函数。并将数据保存
(6)场景编辑器:负责生成横纵向或45度视角格子地图。并使用图元素或特效进行场景的背景,地表,建筑等层编辑。还有将NPC布置在相应位置。
“公欲善其事,必先利其器”。以上六种工具是成熟的开发团队所要必备的。对于一般个人开发的规模较小的游戏,这些工具并不是必须的。可以省略或使用一些网络上公开的工具。而要开发规模稍大点的游戏,如RPG类型的游戏,所需要的工具通常要自已进行有针对性的开发。而且不仅限于这些工具。
当你具备了你需要的编辑工具之后,你需要将它们交付给美术人员使用。美术人员将做好的图片由图元素管理器进行切割(实际上就是切图)。在动画编辑器里制做相应的动画。在特效编辑器里编辑出需要的特效。在NPC编辑器中创建出具有多个动画动作的多方向的NPC,编辑NPC的位置锚点。并跟据策划案确定所需要界面。使用界面编辑器编辑好它们的布局。同时根据策划案的关卡在场景编辑器里编辑出场景。
美术人员在开动的同时。程序需要进行游戏框架和所需要的类,功能函数的设计。编写出一个可以运行的逻辑框架。 然后,将各个工具导出的数据文件加载入框架。使它们显示出正确的场景,NPC,特效。最后,调试测试程序。修改BUG。完成WINDOWS版本的游戏。
WINDOWS版本调试无误,移植到其它平台上编译运行。

注,NPC编辑器和界面编辑器是可以并行的。故都在第四步
【转】 如何利用Cocos2d-x开发一个游戏的更多相关文章
- 如何利用开源思想开发一个SEO友好型网
如果你有一个网站需要去做SEO优化的时候,不要期望你的努力能立即得到回报.耐心等待并更正内容营销策略,最终会发现你的网站很受用户欢迎.下面就教你如何利用开源思维开发一个SEO友好型网站! 首先,你应该 ...
- 关于Cocos2d-x开发一个游戏的过程自述
我在2016年12月6号完成了我的第一个自己独立完成的游戏,期间遇到各种各样的问题和困难,但是幸运的是问题都一一被解决了,现在我想总结一个整个的制作游戏的过程 使用的环境是VS2013+cocos2d ...
- 【一个开发设想】开发一个游戏向时间管理APP
什么是游戏向时间管理呢? 首先我们要做的是时间管理.为了更好地利用时间,摆脱拖延症. 其次是游戏向.就是利用主线任务.支线任务.每日任务的方式展现,一般来讲,没人会讨厌玩游戏.更何况玩这个“游戏”是为 ...
- 程序员利用javascript代码开发捕鱼游戏
面试这么成功,全靠这个捕鱼游戏来完成,看的就是里面javascript代码,所以说前端最重要的还是javascript这一关,不管是现在HTML5时代还是以后如何,javascript永远不会落后,大 ...
- 利用python+tkinter开发一个点名软件
最近上课学生多名字记不住,名册忘记了带,要点名怎么办,好久没有写代码了,于是自己写了个点名软件,记录下吧,第一次接触TK也不是太熟悉,写的不太好,记录下源代码 以后遇到要写桌面软件还是可以耍耍的. t ...
- FineUI开发一个b/s结构
手把手教你使用FineUI开发一个b/s结构的取送货管理信息系统(附源码+视频教程(第5节)) 一 本系列随笔概览及产生的背景 近阶段接到一些b/s类型的软件项目,但是团队成员之前大部分没有这方面 ...
- 手把手教你使用FineUI开发一个b/s结构的取送货管理信息系统系列博文索引
近阶段接到一些b/s类型的软件项目,但是团队成员之前大部分没有这方面的开发经验,于是自己选择了一套目前网上比较容易上手的开发框架(FineUI),计划录制一套视频讲座,来讲解如何利用FineUI快速开 ...
- 手把手教你使用FineUI+动软代码生成器开发一个b/s结构的取送货管理信息系统(附源码)之开篇
一 本系列随笔概览及产生的背景 近阶段接到一些b/s类型的软件项目,但是团队成员之前大部分没有这方面的开发经验,于是自己选择了一套目前网上比较容易上手的开发框架(FineUI),计划录制一套视频讲座, ...
- Unity3D游戏开发初探—4.开发一个“疯狂击箱子”游戏
一.预备知识—对象的”生“与”死“ (1)如何在游戏脚本程序中创建对象而不是一开始就创建好对象?->使用GameObject的静态方法:CreatePrimitive() 以上一篇的博文中的“指 ...
随机推荐
- Java [leetcode 12] Integer to Roman
题目描述: Given an integer, convert it to a roman numeral. Input is guaranteed to be within the range fr ...
- iframe的使用小贴士
1.之前又说到“根据内容计算iframe的高度” 链接 2.现在想说的是,一般iframe页面都是嵌套在父页面当中,所以在一般在iframe里面做相关动作时默认都是iframe页面的,不会影响到父页面 ...
- 常用的js代码
1.输入框输入提示代码 <input name="keyword" type="text" value="请输入关键字" onFocu ...
- log4j和web.xml配置webAppRootKey 的问题
在tomcat下部署两个或多个项目时,web.xml文件中最好定义webAppRootKey参数,如果不定义,将会缺省为“webapp.root”,如下: <!-- 应用路径 --> &l ...
- 求大于整数m且紧靠m的k个素数 及 判断一个数是否为素数的方法
题目: 请编写一个函数void fun(int m,int k ,int xx[]),该函数的功能是:将大于整数m且紧靠m的k个素数存入xx所指的数组中. 例如,若输入:17,5,则应输出:19,23 ...
- 27、Service
1服务可以通过startservice的方法 开启.通过stopservice的方法 停止. 服务有一个特点: 只会一次onCreate()方法一旦被创建出来,以后oncreate() 就不会再被执行 ...
- Doing Homework(HDU 1074状压dp)
题意:给你n个要做的作业,它们的名字.期限.可完成所需天数(必须连续)在规定期限不能完成要扣分(每天一分)求做作业顺序使扣分最少. 分析:作业数量较少,用状态压缩,做到第i种作业花费的天数dp[i]. ...
- POJ3616 Milking Time 简单DP
注意0,1,.....,N是时间点,i~i+1是时间段 然后就是思路:dp[i]代表到时间点 i 获得的最大价值, 1:dp[i]=max(dp[i],dp[s-r]+e),表示有以s为开头,i为结尾 ...
- MFC用PostMessage传递消息
1.自定义消息ID. #define WM_MY_MESSAGE (WM_USER+100) WM_USER为windows系统为非系统消息保留的ID,这里至少要用100,因为其它控件 ...
- 【OpenGL】画立方体
编写一个程序,该程序运行时可以用鼠标的一个按键调整立方体的方向,用另一个按键平移立方体,用第三个按键缩放立方体. 这是题目,我的程序不一定完全按照这个来.初学OpenGL,对那一堆坐标系表示十分混乱, ...