本文整理汇总了C++中CCCallFunc类的典型用法代码示例。如果您正苦于以下问题:C++ CCCallFunc类的具体用法?C++ CCCallFunc怎么用?C++ CCCallFunc使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了CCCallFunc类的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: CCCallFunc
CCObject* CCCallFunc::copyWithZone ( CCZone* pZone )
{
CCZone* pNewZone = KD_NULL;
CCCallFunc* pRet = KD_NULL;
if ( pZone && pZone->m_pCopyObject )
{
pRet = (CCCallFunc *) pZone->m_pCopyObject;
}
else
{
pRet = new CCCallFunc ( );
pZone = pNewZone = new CCZone ( pRet );
}
CCActionInstant::copyWithZone ( pZone );
pRet->initWithTarget ( m_pSelectorTarget );
pRet->m_pCallFunc = m_pCallFunc;
if ( m_nScriptHandler > 0 )
{
pRet->m_nScriptHandler = CCScriptEngineManager::sharedManager ( )->getScriptEngine ( )->reallocateScriptHandler ( m_nScriptHandler );
}
CC_SAFE_DELETE ( pNewZone );
return pRet;
}
示例2: callfunc_selector
void ProgressBar::progressBy(float delta)
{
float maxPercentage = 100.0f;
bool isFinished = false;
float nextPercentage = delta + this->getPercentage();
if(nextPercentage >= maxPercentage){
nextPercentage = maxPercentage;
isFinished = true;
}
this->stopActionByTag(k_Progress_Action);
CCArray *actions = CCArray::createWithCapacity(2);
float duration = delta/this->getSpeed();
CCProgressTo* to = CCProgressTo::create(duration, nextPercentage);
actions->addObject(to);
if(isFinished){
CCCallFunc* callfunc = CCCallFunc::create(this, callfunc_selector(ProgressBar::loadingFinished));
actions->addObject(callfunc);
}
CCFiniteTimeAction* seq = CCSequence::create(actions);
CCCallFunc* updatePercentage = CCCallFunc::create(this, callfunc_selector(ProgressBar::updatePercentage));
updatePercentage->setDuration(duration);
CCSpawn* spawn = CCSpawn::createWithTwoActions(seq, updatePercentage);
spawn->setTag(k_Progress_Action);
this->runAction(spawn);
}
示例3: CCCallFunc
CCCallFunc * CCCallFunc::actionWithTarget(SelectorProtocol* pSelectorTarget, SEL_CallFunc selector)
{
CCCallFunc* pCallFunc = new CCCallFunc();
pCallFunc->autorelease();
pCallFunc->initWithTarget(pSelectorTarget);
pCallFunc->m_pCallFunc = selector;
return pCallFunc;
}
示例4: CCCallFunc
CCCallFunc* CCCallFunc::actionWithScriptFuncName(const char* pszFuncName) {
CCCallFunc *pRet = new CCCallFunc();
if (pRet && pRet->initWithScriptFuncName(pszFuncName)) {
pRet->autorelease();
return pRet;
}
CC_SAFE_DELETE(pRet);
return NULL;
}
示例5: onLinkMenuItemClicked
void CCRichLabelTTF::onLinkMenuItemClicked(CCObject* sender) {
CCMenuItemColor* item = (CCMenuItemColor*)sender;
CCCallFunc* func = (CCCallFunc*)item->getUserData();
if(func){
CCCallFuncO *funcO = dynamic_cast<CCCallFuncO*>(func);
if(funcO){
funcO->setObject(CCInteger::create(item->getTag() - START_TAG_LINK_ITEM));
}
func->execute();
}
}
示例6: CCCallFunc
CCCallFunc * CCCallFunc::create(ccScriptFunction nHandler)
{
CCCallFunc *pRet = new CCCallFunc();
if (pRet && pRet->initWithScriptTarget(nHandler)) {
CC_SAFE_AUTORELEASE(pRet);
return pRet;
}
CC_SAFE_DELETE(pRet);
return NULL;
}
示例7: CCCallFunc
CCCallFunc * CCCallFunc::actionWithTarget(SelectorProtocol* pSelectorTarget, SEL_CallFunc selector)
{
CCCallFunc *pRet = new CCCallFunc();
if(pRet->initWithTarget(pSelectorTarget))
{
pRet->m_pCallFunc = selector;
pRet->autorelease();
return pRet;
}
CC_SAFE_DELETE(pRet);
return NULL;
}
示例8: CCCallFunc
CCCallFunc * CCCallFunc::create(int nHandler)
{
CCCallFunc *pRet = new CCCallFunc();
if (pRet) {
pRet->m_nScriptHandler = nHandler;
pRet->autorelease();
}
else{
CC_SAFE_DELETE(pRet);
}
return pRet;
}
示例9: CCCallFunc
CCObject * CCCallFunc::copyWithZone(CCZone *pZone) {
CCZone* pNewZone = NULL;
CCCallFunc* pRet = NULL;
if (pZone && pZone->m_pCopyObject) {
//in case of being called at sub class
pRet = (CCCallFunc*) (pZone->m_pCopyObject);
} else {
pRet = new CCCallFunc();
pZone = pNewZone = new CCZone(pRet);
}
CCActionInstant::copyWithZone(pZone);
pRet->initWithTarget(m_pSelectorTarget);
pRet->m_pCallFunc = m_pCallFunc;
if (m_nScriptHandler > 0 ) {
CCLuaEngine::defaultEngine()->reallocateScriptHandler(m_nScriptHandler);
}
CC_SAFE_DELETE(pNewZone);
return pRet;
}