***************************************转载请注明出处:http://blog.youkuaiyun.com/lttree********************************************
第五篇
前面已经把游戏主体逻辑搞定,已经可以玩了。
就是可玩性略差,所以本文就是来 修饰 游戏的。
本文主要内容:
> 四消的处理
> 消除的特效
> 最高分的记录
> 音乐、音效的添加
好的,废话不多说,let's go!
1. 四消精灵的出现
消除只有 三消 是不是太无聊了呢? 当然了!
所以,一定要加四消 甚至更多的, 我这里就加一个四消,其他的大家可以根据这个往下做一下。
先说一下,这个怎么做:
所谓四消,就是如果一次消除4个,那么会有一个类似于 彩蛋 的精灵,下次该精灵被消除的时候,将会消除一整行或者一整列。
所以 精灵会有 3中状态——普通精灵、可以横向消除的精灵、可以纵向消除的精灵
// GameDefine.h
// 精灵的显示模式,Hor 横向消除一行,Ver纵向消除一列
enum DisplayMode{
DISPLAY_MODE_NORMAL = 0,
DISPLAY_MODE_HORIZONTAL,
DISPLAY_MODE_VERTICAL,
};
不要忘了,把6种精灵各自 或纵向 或横向的图片载入进去。
还要在 精灵类中,做一个设置 精灵状态 函数
// SpriteShape.cpp
// 设置精灵状态
void SpriteShape::setDisplayMode(DisplayMode mode)
{
m_displayMode = mode;
SpriteFrame *frame;
switch (mode) {
case DISPLAY_MODE_VERTICAL:
frame = SpriteFrameCache::getInstance()->getSpriteFrameByName(sprVertical[m_imgIndex]);
break;
case DISPLAY_MODE_HORIZONTAL: