上一篇基本已经实现了连连看的整个游戏。
这一篇讲加一个倒计时和一个Game Over的界面,当游戏结束的时候弹出Game Over的对话框,还可以Play again。
倒计时很简单,就是一个时间进度条。
// 时间条背景框
auto progressFrame = Sprite::createWithTexture(textureCache->getTextureForKey(s_time_slot));
// 锚点,左下角
progressFrame->setAnchorPoint(Vec2(0, 0));
progressFrame->setPosition(120, wSize.height-50);
addChild(progressFrame);
// 时间条精灵
auto pSprite = Sprite::createWithTexture(textureCache->getTextureForKey(s_time_bars));
progress = ProgressTimer::create(pSprite);
// 锚点,左下角
progress->setAnchorPoint(Vec2(0, 0));
// 类型,条形
progress->setType(ProgressTimer::Type::BAR);
progress->setPosition(120, wSize.height - 50);
// 水平变化
progress->setMidpoint(Vec2(0, 0));
// 一次一个单位
progress->setBarChangeRate(Vec2(1, 0));
// 初始100
progress->setPercentage(100);
addChild(progress);
// 时间数字
numberTime = Label::createWithSystemFont(100, Thonburi, 24);
numberTime->setAnchorPoint(Vec2(0, 0));
numberTime->setPosition(400, wSize.height - 50);
numberTime->setColor(Color3B::BLACK);
addChild(numberTime);
然后倒计时每一秒减少一格,每秒调一次update()函数