这是我近期做的一个连连看小游戏demo,目前只有游戏等主要实现,没有游戏界面什么的。
前言:
游戏编写环境:
mac 10.8.4
cocos2d-x 2.14
xcode 4.62
ParticleDesigner(破解版)
游戏编写中所用到的图片粒子效果什么的都是从网上瞎找的
所用的图片如下:
粒子效果:
http://download.csdn.net/detail/u011405562/5953597
1.游戏规划
游戏中包含了几个主要元素(不算游戏界面什么的)
- 图块
- 矩阵地图
- 消除算法
图块:
就是连连看的方块图片,我让他继承了CCSprite类,之后自定义一个函数
void BaseImage::f_SetImage(int num)
{
this->setVisible(true) ;
this->setTextureRect(CCRectMake(m_width * num, 0, m_width, m_height));
}
根据调用函数时传进来的num参数来选择显示的内容。(其实就是显示不同的区域)
这样在生产这个图片精灵的时候,根据传进来的随机编号显示不同的图片。当然还有很多中别的方法让他显示不同图片。
还有还可以加入一些动画效果,比如:当被选择后的动画,消除动画等。
矩阵地图:
这个就是一个动态的二位数组,我是用一个自定义的机构体。用做判断是否有障碍物。
struct MapPoint
{
//保存的是sprite编号
int spritenum ;
//设置是否显示,当显示的时候就是个障碍物
bool isVisible;
//表示是否遍历过
bool isfind;
//遍历时上一个节点
float super_x;
float super_y;
//当前坐标
float now_x;
float now_y;
};
消除算法:
我用的是广度优先算法,这个内容比较乱后续再讲。
1.1 游戏的整体流程:
游戏的初始化过程:
初始化gameLayer层
||
V
将屏幕根据图块的大小分割成类似瓦片地图一样的块
||
V
根据计算出来的行数和列数初始化矩阵