其实整个消灭星星开发也差不多了,为了使游戏好看些,不如为游戏添加一些特效
1.星星消除
有没有人发现,如果仅仅用简单的removeFromParentAndCleanUp方法来消除星星,会一下子消失,如果我们想一颗颗星星挨个地消失,不妨可以采用一下方法
在StarMatrix的update函数里面加入一个参数delta,这与cocos2dx的update函数的一样表示上一帧到这一帧的间隔时间,当间隔时间达到一定时间后,消除星星。
void StarMatrix::updateStar(float delta){
for(int i = 0;i < ROW_NUM;i++){
for(int j = 0;j< COL_NUM;j++){
if(stars[i][j]!=nullptr){
stars[i][j]->updatePosition();
}
}
}
if(needClear){
clearSumTime += delta;
if(clearSumTime > ONE_CLEAR_TIME){
clearMatrixOneByOne();
clearSumTime = 0;
}
}
}
needClear是一个flag,当游戏判断不能再继续后(看上一节),这个flag变为true,开始消除剩下的星星
clearSumTime是一个累加器
ONE_CLEAR_TIME就是每颗星星消除的时间
2.连击加分信息
一般消除一次星星都会有连击信息和加多少分的信息。我是采用一个固定在GameLayer的Label