本文整理汇总了C++中CCScale9Sprite::runAction方法的典型用法代码示例。如果您正苦于以下问题:C++ CCScale9Sprite::runAction方法的具体用法?C++ CCScale9Sprite::runAction怎么用?C++ CCScale9Sprite::runAction使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CCScale9Sprite
的用法示例。
在下文中一共展示了CCScale9Sprite::runAction方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
LFToast::LFToast(string msg,float during)
{
CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize();
CCScale9Sprite* base = CCScale9Sprite::create("toast.png");
CCLabelTTF* lable = CCLabelTTF::create(
msg.c_str(),
fontStr_kaiti,
30,
CCSize(base->getContentSize().width - 10,0),
kCCTextAlignmentLeft);
lable->setAnchorPoint(ccp(0,0.5f));
addChild(base);
base->setContentSize(CCSizeMake(base->getContentSize().width,lable->getContentSize().height + 20));
base->setOpacity(0);
base->addChild(lable);
lable->setPosition(ccp(10,base->getContentSize().height/2));
base->setPosition(ccp(visibleSize.width/2,base->getContentSize().height + 20));
base->runAction(CCSequence::create(
CCFadeTo::create(0.2f,255),
CCDelayTime::create(during),
CCFadeTo::create(0.1f,0),
CCCallFuncN::create(this,SEL_CallFuncN(&LFToast::removeToast)),
NULL
));
}
示例2: showImmediately
void AchievementNotification::showImmediately(Achievement a)
{
mShowing = true;
CCTexture2D* tex = CCTextureCache::sharedTextureCache()->textureForKey(fileName.c_str());
if (tex == NULL)
{
tex = CCTextureCache::sharedTextureCache()->addImage(fileName.c_str());
}
CCSize winSize = CCDirector::sharedDirector()->getWinSize();
CCScale9Sprite* pBoard = CCScale9Sprite::create(CCRectMake(tex->getContentSize().width/2, 0, 2, tex->getContentSize().height), fileName.c_str());
addChild(pBoard,0,Tag_Board);
pBoard->setPosition(ccp(winSize.width/2,winSize.height + pBoard->getContentSize().height) );
CCSprite* pJinBei = CCSprite::create(ResManager::getManager()->getFilePath(g_public+"CJ_icon_jiangbei.png").c_str());
pBoard->addChild(pJinBei, 1);
pJinBei->setPosition(ccp(pJinBei->getContentSize().width, pBoard->getContentSize().height/2));
CCLabelTTF* pName = CCLabelTTF::create(a.name.c_str(), fontStr_KlavikaBold, 40);
pName->setColor(fontColor_Acheivement_TTF);
CCSprite* pIcon = CCSprite::create(ResManager::getManager()->getFilePath(g_public+"CJ_icon_wancheng.png").c_str());
int x = pName->getContentSize().width + pIcon->getContentSize().width - 420;
if (x > 0)
{
pBoard->setContentSize(ccp(pBoard->getContentSize().width+x, pBoard->getContentSize().height));
}
pBoard->addChild(pName);
int xoffset = 10;
pName->setPosition(ccp(pBoard->getContentSize().width/2 + pIcon->getContentSize().width/2 + xoffset, pBoard->getContentSize().height/2));
pBoard->addChild(pIcon);
pIcon->setPosition(ccp(pName->getPositionX() - pName->getContentSize().width/2 - pIcon->getContentSize().width/2 - xoffset, pName->getPositionY()));
Achievement* achievementCopy = new Achievement(a);
// *achievementCopy = a;
temp_Must_Delete.insert(temp_Must_Delete.end(),achievementCopy);
pBoard->runAction(CCSequence::create(
CCMoveTo::create(0.5f,ccp(pBoard->getPositionX(),winSize.height-pBoard->getContentSize().height/2)),
CCDelayTime::create(0.1f),
CCCallFuncND::create(this,SEL_CallFuncND(&AchievementNotification::boardShowing),achievementCopy),
CCDelayTime::create(1.3f),
CCMoveTo::create(0.2f,ccp(pBoard->getPositionX(),winSize.height+pBoard->getContentSize().height)),
CCFadeTo::create(0.1f,0),
CCCallFuncN::create(this,SEL_CallFuncN(&AchievementNotification::boardShowEnd)),NULL));
createPar(ccp(winSize.width/2,winSize.height),parFileName.c_str(),pBoard->getContentSize().width * 1.2f,pBoard->getContentSize().height);
Music::sharedMusicPlayer()->playEffectSound("achievement.wav");
CCLog("AchievementNotification::showImmediately name = %s" ,a.name.c_str());
}
示例3: setIndicator
void CAIndicator::setIndicator(const CCSize& parentSize, const CCRect& childrenFrame)
{
CCScale9Sprite* indicator = dynamic_cast<CCScale9Sprite*>(m_pIndicator);
int x = (int)indicator->getCenterOrigin().x * 10;
int y = (int)indicator->getCenterOrigin().y * 10;
if (m_eType == CAIndicatorTypeHorizontal)
{
float size_scale_x = parentSize.width / childrenFrame.size.width;
size_scale_x = MIN(size_scale_x, 1.0f);
float lenght_scale_x = parentSize.width / 2 - childrenFrame.origin.x;
lenght_scale_x /= childrenFrame.size.width;
CCSize size = m_obContentSize;
size.width *= size_scale_x;
if (lenght_scale_x < size_scale_x / 2)
{
size.width *= lenght_scale_x / (size_scale_x / 2);
}
if (1 - lenght_scale_x < size_scale_x / 2)
{
size.width *= (1 - lenght_scale_x) / (size_scale_x / 2);
}
size.width = MAX(size.height, size.width);
indicator->setPreferredSize(size);
CCPoint point = m_obContentSize;
point.y *= 0.5f;
point.x *= lenght_scale_x;
point.x = MAX(point.x, size.width/2);
point.x = MIN(point.x, m_obContentSize.width - size.width/2);
indicator->setCenterOrigin(point);
}
else if (m_eType == CAIndicatorTypeVertical)
{
float size_scale_y = parentSize.height / childrenFrame.size.height;
size_scale_y = MIN(size_scale_y, 1.0f);
float lenght_scale_y = parentSize.height / 2 - childrenFrame.origin.y;
lenght_scale_y /= childrenFrame.size.height;
CCSize size = m_obContentSize;
size.height *= size_scale_y;
if (lenght_scale_y < size_scale_y / 2)
{
size.height *= lenght_scale_y / (size_scale_y / 2);
}
if (1 - lenght_scale_y < size_scale_y / 2)
{
size.height *= (1 - lenght_scale_y) / (size_scale_y / 2);
}
size.height = MAX(size.height, size.width);
indicator->setPreferredSize(size);
CCPoint point = m_obContentSize;
point.x *= 0.5f;
point.y *= lenght_scale_y;
point.y = MAX(point.y, size.height/2);
point.y = MIN(point.y, m_obContentSize.height - size.height/2);
indicator->setCenterOrigin(point);
}
do
{
if (x == (int)indicator->getCenterOrigin().x * 10 && y == (int)indicator->getCenterOrigin().y * 10)
{
CC_BREAK_IF(indicator->getActionByTag(0xfff));
CC_BREAK_IF(indicator->getOpacity() < 255);
CCDelayTime* delayTime = CCDelayTime::create(0.2f);
CCFadeOut* fadeOut = CCFadeOut::create(0.3f);
CCEaseSineOut* easeSineOut = CCEaseSineOut::create(fadeOut);
CCSequence* actions = CCSequence::create(delayTime, easeSineOut, NULL);
actions->setTag(0xfff);
indicator->runAction(actions);
}
else
{
CC_BREAK_IF(indicator->getOpacity() == 255);
indicator->stopAllActions();
indicator->setOpacity(255);
}
}
while (0);
}