用cocos2d 2.1制作一个过河小游戏(1): 总概
来源:互联网 发布:batch随机梯度下降算法 编辑:程序博客网 时间:2024/06/06 10:59
今天老师布置了任务,要大家分小组设计“牧师与恶魔过河”的游戏并使用cocos2d框架实现。虽然之前自己一直有跟随兴趣学习iOS开发,但是先前所有的开发都只是基于简单应用的,很少涉及游戏方面的开发。这次作业主要还是熟悉一下cocos2d框架和API的使用。
做这个游戏前前后后大概花了三天的时间,队伍里几个同学也各自负责不同的工作。而我主要是负责代码的撰写。几天下来有些小收获吧。对于长期开发cocos2d的高手来说这些都只是小case了,不过对于新手来说有些东西还是值得铭记与学习的。于是想把一下制作过程的心得和教训写下来。
好了废话不多说,先来看一下最后整体的画面效果:
(图片都是美工手绘的,挺给力的...)
游戏规则其实很简单:开始的时候右岸上有3个牧师和3魔鬼。河岸边有一艘船,船上一次只能坐2个人(牧师和魔鬼统称为人)。而且船上必须至少要有一个人船才能开动。在每个岸边,牧师的人数都必须大于或等于魔鬼的人数(如果船在其中的一边,那个那边的人数统计也包括船上的人),否则,牧师就会被魔鬼杀死。游戏任务就是要在3分钟内将3个牧师和3个魔鬼运送到对岸。
游戏的制作主要包括几个CCSprite类的设计与实现、逻辑层的实现和后期的音效添加。这次我先说一下几个CCSprite的设计思路吧。下面是用EA画出的类图:(因为老师是教UML的,交的作业也必须体现UML的设计,所以就得画图啦...其实我觉得游戏这么简单,不画关系也不是很大的样子)
从图中看出,基本思路就是:整个游戏只有一个CCScene,这个CCScene里面只有一个CCLayer,称为BaseLayer,之后所有的CCSprite都是添加在BaseLayer里面的。BaseLayer里包含了许多控制函数,用来对游戏的每个状态进行监控、操作、胜负判断等操作。
游戏中有一条船,为boat, 有两个河岸,分别为rightBank和leftBank,分别用于记录右岸和左岸站着的精灵的情况。人物分为牧师(Priest)与魔鬼(Devil),各有三个,都继承自父类PersonSprite。整个架构其实是挺简单的。
下一节主要讲一下各个CCSprite的实现思路。
- 用cocos2d 2.1制作一个过河小游戏(1): 总概
- 用cocos2d 2.1制作一个过河小游戏(2): 牧师与魔鬼Sprite设计
- 用cocos2d 2.1制作一个过河小游戏(3): 船与河岸Sprite设计
- 用cocos2d 2.1制作一个过河小游戏(4): 游戏主逻辑BaseLayer设计
- 用Construct2制作一个小游戏
- 一个cocos2d小游戏
- 制作一个小游戏 俄罗斯方块代码
- 用C2制作小游戏
- 用constract2制作小游戏
- 用Construct2 制作小游戏
- 基于cocos2d tileMap的一个小游戏
- Cocos2d-X开发一个简单的小游戏
- 使用Cocos2d-X实现一个小游戏PhotoExhibition
- 如何用Cocos2d-android写一个小游戏
- 第一次用cocos2d做小游戏
- 使用CocosBuilder制作一个跳跃小游戏
- 使用unity制作一个2D小游戏!
- 开始 pygame 小游戏制作 (1)
- ArcGlobe三维开发之十——IGlobeDisplayRendering2 接口
- c++ 笔试面试题 难题精选 持续更新
- ZOJ 3772 Calculate the Function( 线段树 )
- Objective-C语法之KVO的使用
- java基础22--常用流对象
- 用cocos2d 2.1制作一个过河小游戏(1): 总概
- 互联网金融三大类型
- Objective-C语法之KVC的使用
- int printf(const char* fmt,...)
- 【Android UI设计与开发】第02期:引导界面(二)使用ViewPager实现欢迎引导页面
- 单源最短路径-Bellman-Ford算法
- 钢管下料问题(以钢管根数最少为标准)
- http之“application/x-www-form-urlencoded” 和 “multipart/form-data”字符编码的解释说明
- lucene 实用工具