***************************************转载请注明出处:http://blog.csdn.net/lttree********************************************
这个,要说一下,
本系列文章,我是边写边发,所以可能前后有些改动。
上篇文章,已经做到了 游戏场景,点击星星,使其高亮状态。
这篇文章,将游戏逻辑玩法搞定:
> 星星 高亮状态 再次点击,消除
> 星星消除后,剩下的星星整合(下落或左移)
> 检测是否有可消除的星星,没有则跳转到 游戏结束界面
正文:
1. 星星 高亮状态下的消除
触摸事件函数 onTouchBegan需要重写一下:
// 触摸事件
bool GameScene::onTouchBegan(Touch *touch, Event *unused) {
auto location = touch->getLocation();
Star* sta;
sta = starOfPoint(&location);
// 当前对象不为空
if( sta ) {
// 看该 星星 处于什么状态
if( sta->getDisplayMode() == DISPLAY_MODE_NORMAL ) {
// 初始化记忆地图mapR+恢复普通状态
for( int i = 0 ; i < ROWS ; i++ ) {
for( int j = 0 ; j <COLS ; j++ ) {
mapR[i][j] = false