***************************************转载请注明出处:http://blog.csdn.net/lttree********************************************
三消游戏——万圣大作战,应该是我最早的教程的教程之一了(总共也没几个o(╯□╰)o)
之前就简单实现了 消除,四消这些;
发布以来,很多人问我 爆炸 肿么办? 五消 肿么办??特效之间交换肿么办???
正好,这段时间找工作,在家呆着,有些时间,就把这个游戏完善一下啦~
PS: 北京有木有 招cocos2d-x 实习生的= =。
好啦,好啦,说正事。
本文将会讲述的内容:
—— 添加 两种特效的产生(爆炸 and 五消(开心消消乐中的 魔力鸟)
—— 添加 两种特效 消除时候的效果
—— 添加 特效之间交换 也会消除并触发相应效果
—— 小修饰(触摸屏蔽)
1. 添加两种特效的产生
这里,首先要总结一下之前的消除:
每个小方格都代表一个精灵,默认是同一个种类的,
—— 带着小三角形的精灵,代表 交换的精灵
然后,总结下来:
① 普通的三消
② 普通的四消,产生 四消特效精灵
③ 普通的五消,产生 五消特效精灵
④、⑤ 变异的五消,产生 爆炸特效精灵
⑥、⑦ 变异的七消,⑥ 产生 五消精灵,⑦ 产生爆炸精灵
当产生上述形状时,所有的精灵都会被消除~
还有,不全消除的情况吗? of course(捉急的英语= =。)
①、② 这种 应该产生三消的情况下,凸出来的那个精灵,不应该被消除
③、④ 这种 应该产生四消的情况下,凸出来的那个精灵,不应该被消除
⑤、⑥、⑦ 这种 应该产生五消的情况下,凸出来的那个精灵,不应该被消除
总之,上面这些情况,凸出来的部分都不应该被消除。
这两个图,基本上涵盖了所有情况( 把上面各种图形 旋转90°、180°、270° )
看出来规律了吗?
什么时候精灵会全部消除?———— 该行或该列 大于等于3!!
产生特效的顺序呢?
>1 如果某行或某列个数 大于等于5 直接产生 五消特效 精灵
BUT,是否要消除 另外一个方向的所有精灵,就要看个数是否大于等于3了。
>2 如果某行或某列个数 大于等于4
先判断 交换精灵 的另一个方向精灵个数 是否大于等于3,
—— ≥3 则,产生爆炸特效精灵,并且全部消除
—— <3 则,产生四消特效精灵,只消除 ≥4 的那个方向的精灵
>3 如果 某行或某列的个数 大于等于3
判断 交换精灵 另一个方向精灵个数 是否大于等于 3
—— ≥3 则,产生 爆炸特效精灵,并且全部消除