void SkillButton::cool(float time) { ProgressTimer *prog = static_cast<ProgressTimer *>(this->getChildByTag(PROGRESS_TAG)); //判断之前是否已经设置了冷却效�? if (!prog) { prog = ProgressTimer::create(Sprite::create("image/1.png")); prog->setType( ProgressTimer::Type::RADIAL); prog->setTag(PROGRESS_TAG); this->addChild(prog); prog->setAnchorPoint(Vec2(0.f, 0.f)); prog->setPosition(0.f, 0.f); prog->setScale(this->getContentSize().width / prog->getContentSize().width); //调整到和图标一样大�? } auto to1 = Sequence::createWithTwoActions(ProgressTo::create(0, 100.f), ProgressTo::create(time, 0.f)); prog->runAction(to1); }
ProgressTimer* TransitionProgressRadialCW::progressTimerNodeWithRenderTexture(RenderTexture* texture) { Size size = Director::getInstance()->getWinSize(); ProgressTimer* node = ProgressTimer::create(texture->getSprite()); // but it is flipped upside down so we flip the sprite node->getSprite()->setFlippedY(true); node->setType( ProgressTimer::Type::RADIAL ); // Return the radial type that we want to use node->setReverseDirection(true); node->setPercentage(100); node->setPosition(Vector2(size.width/2, size.height/2)); node->setAnchorPoint(Vector2(0.5f,0.5f)); return node; }
ProgressTimer* TransitionProgressOutIn::progressTimerNodeWithRenderTexture(RenderTexture* texture) { Size size = Director::getInstance()->getWinSize(); ProgressTimer* node = ProgressTimer::create(texture->getSprite()); // but it is flipped upside down so we flip the sprite node->getSprite()->setFlippedY(true); node->setType( ProgressTimer::Type::BAR ); node->setMidpoint(Vector2(0.5f, 0.5f)); node->setBarChangeRate(Vector2(1, 1)); node->setPercentage(100); node->setPosition(Vector2(size.width/2, size.height/2)); node->setAnchorPoint(Vector2(0.5f,0.5f)); return node; }