mirror of https://github.com/axmolengine/axmol.git
Merge pull request #2727 from ricardoquesada/callfunction_cplusplus_11_bis
Adds std::function support in CCCallFunc
This commit is contained in:
commit
ef4dd973db
|
@ -38,6 +38,7 @@ CCActionInstant::CCActionInstant() {
|
||||||
}
|
}
|
||||||
|
|
||||||
CCObject * CCActionInstant::copyWithZone(CCZone *pZone) {
|
CCObject * CCActionInstant::copyWithZone(CCZone *pZone) {
|
||||||
|
|
||||||
CCZone *pNewZone = NULL;
|
CCZone *pNewZone = NULL;
|
||||||
CCActionInstant *pRet = NULL;
|
CCActionInstant *pRet = NULL;
|
||||||
|
|
||||||
|
@ -376,6 +377,20 @@ void CCPlace::update(float time) {
|
||||||
//
|
//
|
||||||
// CallFunc
|
// CallFunc
|
||||||
//
|
//
|
||||||
|
|
||||||
|
CCCallFunc * CCCallFunc::create(const std::function<void()> &func)
|
||||||
|
{
|
||||||
|
CCCallFunc *pRet = new CCCallFunc();
|
||||||
|
|
||||||
|
if (pRet && pRet->initWithFunction(func) ) {
|
||||||
|
pRet->autorelease();
|
||||||
|
return pRet;
|
||||||
|
}
|
||||||
|
|
||||||
|
CC_SAFE_DELETE(pRet);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
CCCallFunc * CCCallFunc::create(CCObject* pSelectorTarget, SEL_CallFunc selector)
|
CCCallFunc * CCCallFunc::create(CCObject* pSelectorTarget, SEL_CallFunc selector)
|
||||||
{
|
{
|
||||||
CCCallFunc *pRet = new CCCallFunc();
|
CCCallFunc *pRet = new CCCallFunc();
|
||||||
|
@ -404,6 +419,12 @@ CCCallFunc * CCCallFunc::create(int nHandler)
|
||||||
return pRet;
|
return pRet;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool CCCallFunc::initWithFunction(const std::function<void()> &func)
|
||||||
|
{
|
||||||
|
_function = func;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
bool CCCallFunc::initWithTarget(CCObject* pSelectorTarget) {
|
bool CCCallFunc::initWithTarget(CCObject* pSelectorTarget) {
|
||||||
if (pSelectorTarget)
|
if (pSelectorTarget)
|
||||||
{
|
{
|
||||||
|
@ -441,8 +462,13 @@ CCObject * CCCallFunc::copyWithZone(CCZone *pZone) {
|
||||||
}
|
}
|
||||||
|
|
||||||
CCActionInstant::copyWithZone(pZone);
|
CCActionInstant::copyWithZone(pZone);
|
||||||
pRet->initWithTarget(m_pSelectorTarget);
|
if( m_pSelectorTarget) {
|
||||||
pRet->m_pCallFunc = m_pCallFunc;
|
pRet->initWithTarget(m_pSelectorTarget);
|
||||||
|
pRet->m_pCallFunc = m_pCallFunc;
|
||||||
|
}
|
||||||
|
else if( _function )
|
||||||
|
pRet->initWithFunction(_function);
|
||||||
|
|
||||||
CC_SAFE_DELETE(pNewZone);
|
CC_SAFE_DELETE(pNewZone);
|
||||||
return pRet;
|
return pRet;
|
||||||
}
|
}
|
||||||
|
@ -455,7 +481,8 @@ void CCCallFunc::update(float time) {
|
||||||
void CCCallFunc::execute() {
|
void CCCallFunc::execute() {
|
||||||
if (m_pCallFunc) {
|
if (m_pCallFunc) {
|
||||||
(m_pSelectorTarget->*m_pCallFunc)();
|
(m_pSelectorTarget->*m_pCallFunc)();
|
||||||
}
|
} else if( _function )
|
||||||
|
_function();
|
||||||
if (m_nScriptHandler) {
|
if (m_nScriptHandler) {
|
||||||
CCScriptEngineManager::sharedManager()->getScriptEngine()->executeCallFuncActionEvent(this);
|
CCScriptEngineManager::sharedManager()->getScriptEngine()->executeCallFuncActionEvent(this);
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,6 +28,8 @@ THE SOFTWARE.
|
||||||
#define __CCINSTANT_ACTION_H__
|
#define __CCINSTANT_ACTION_H__
|
||||||
|
|
||||||
#include <string>
|
#include <string>
|
||||||
|
#include <functional>
|
||||||
|
|
||||||
#include "ccTypeInfo.h"
|
#include "ccTypeInfo.h"
|
||||||
#include "CCAction.h"
|
#include "CCAction.h"
|
||||||
|
|
||||||
|
@ -201,6 +203,7 @@ protected:
|
||||||
CCPoint m_tPosition;
|
CCPoint m_tPosition;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
/** @brief Calls a 'callback'
|
/** @brief Calls a 'callback'
|
||||||
*/
|
*/
|
||||||
class CC_DLL CCCallFunc : public CCActionInstant //<NSCopying>
|
class CC_DLL CCCallFunc : public CCActionInstant //<NSCopying>
|
||||||
|
@ -210,13 +213,20 @@ public:
|
||||||
: m_pSelectorTarget(NULL)
|
: m_pSelectorTarget(NULL)
|
||||||
, m_nScriptHandler(0)
|
, m_nScriptHandler(0)
|
||||||
, m_pCallFunc(NULL)
|
, m_pCallFunc(NULL)
|
||||||
|
, _function(NULL)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
virtual ~CCCallFunc();
|
virtual ~CCCallFunc();
|
||||||
|
|
||||||
|
/** creates the action with the callback of type std::function<void()>.
|
||||||
|
This is the preferred way to create the callback.
|
||||||
|
*/
|
||||||
|
static CCCallFunc * create(const std::function<void()>& func);
|
||||||
|
|
||||||
/** creates the action with the callback
|
/** creates the action with the callback
|
||||||
|
|
||||||
typedef void (CCObject::*SEL_CallFunc)();
|
typedef void (CCObject::*SEL_CallFunc)();
|
||||||
|
@deprecated Use the std::function API instead.
|
||||||
*/
|
*/
|
||||||
static CCCallFunc * create(CCObject* pSelectorTarget, SEL_CallFunc selector);
|
static CCCallFunc * create(CCObject* pSelectorTarget, SEL_CallFunc selector);
|
||||||
|
|
||||||
|
@ -228,6 +238,11 @@ public:
|
||||||
typedef void (CCObject::*SEL_CallFunc)();
|
typedef void (CCObject::*SEL_CallFunc)();
|
||||||
*/
|
*/
|
||||||
virtual bool initWithTarget(CCObject* pSelectorTarget);
|
virtual bool initWithTarget(CCObject* pSelectorTarget);
|
||||||
|
|
||||||
|
/** initializes the action with the std::function<void()>
|
||||||
|
*/
|
||||||
|
virtual bool initWithFunction(const std::function<void()>& func);
|
||||||
|
|
||||||
/** executes the callback */
|
/** executes the callback */
|
||||||
virtual void execute();
|
virtual void execute();
|
||||||
//super methods
|
//super methods
|
||||||
|
@ -256,6 +271,9 @@ protected:
|
||||||
|
|
||||||
int m_nScriptHandler;
|
int m_nScriptHandler;
|
||||||
|
|
||||||
|
/** function that will be called */
|
||||||
|
std::function<void()> _function;
|
||||||
|
|
||||||
union
|
union
|
||||||
{
|
{
|
||||||
SEL_CallFunc m_pCallFunc;
|
SEL_CallFunc m_pCallFunc;
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
fb235c551f274fd0fbed6d249d17c8bb2c2f097c
|
e8ebb7f5fd50bd7d91c24ce0aac9d63a92f4f43c
|
|
@ -1 +1 @@
|
||||||
7a57beef4f0e945e6906a31ebd8ee65489e00d3c
|
125800bcfe2802d3c6a965a3aa337147d20bf187
|
|
@ -27,6 +27,7 @@ TESTLAYER_CREATE_FUNC(ActionRepeat);
|
||||||
TESTLAYER_CREATE_FUNC(ActionRepeatForever);
|
TESTLAYER_CREATE_FUNC(ActionRepeatForever);
|
||||||
TESTLAYER_CREATE_FUNC(ActionRotateToRepeat);
|
TESTLAYER_CREATE_FUNC(ActionRotateToRepeat);
|
||||||
TESTLAYER_CREATE_FUNC(ActionRotateJerk);
|
TESTLAYER_CREATE_FUNC(ActionRotateJerk);
|
||||||
|
TESTLAYER_CREATE_FUNC(ActionCallFunction);
|
||||||
TESTLAYER_CREATE_FUNC(ActionCallFunc);
|
TESTLAYER_CREATE_FUNC(ActionCallFunc);
|
||||||
TESTLAYER_CREATE_FUNC(ActionCallFuncND);
|
TESTLAYER_CREATE_FUNC(ActionCallFuncND);
|
||||||
TESTLAYER_CREATE_FUNC(ActionReverseSequence);
|
TESTLAYER_CREATE_FUNC(ActionReverseSequence);
|
||||||
|
@ -76,6 +77,7 @@ static NEWTESTFUNC createFunctions[] = {
|
||||||
CF(ActionRepeatForever),
|
CF(ActionRepeatForever),
|
||||||
CF(ActionRotateToRepeat),
|
CF(ActionRotateToRepeat),
|
||||||
CF(ActionRotateJerk),
|
CF(ActionRotateJerk),
|
||||||
|
CF(ActionCallFunction),
|
||||||
CF(ActionCallFunc),
|
CF(ActionCallFunc),
|
||||||
CF(ActionCallFuncND),
|
CF(ActionCallFuncND),
|
||||||
CF(ActionReverseSequence),
|
CF(ActionReverseSequence),
|
||||||
|
@ -816,13 +818,13 @@ void ActionSequence2::onEnter()
|
||||||
m_grossini->setVisible(false);
|
m_grossini->setVisible(false);
|
||||||
|
|
||||||
CCFiniteTimeAction* action = CCSequence::create(
|
CCFiniteTimeAction* action = CCSequence::create(
|
||||||
CCPlace::create(ccp(200,200)),
|
CCPlace::create(ccp(200,200)),
|
||||||
CCShow::create(),
|
CCShow::create(),
|
||||||
CCMoveBy::create(1, ccp(100,0)),
|
CCMoveBy::create(1, ccp(100,0)),
|
||||||
CCCallFunc::create(this, callfunc_selector(ActionSequence2::callback1)),
|
CCCallFunc::create(std::bind(&ActionSequence2::callback1,this)),
|
||||||
CCCallFuncN::create(this, callfuncN_selector(ActionSequence2::callback2)),
|
CCCallFunc::create(std::bind(&ActionSequence2::callback2,this,m_grossini)),
|
||||||
CCCallFuncND::create(this, callfuncND_selector(ActionSequence2::callback3), (void*)0xbebabeba),
|
CCCallFunc::create(std::bind(&ActionSequence2::callback3,this,m_grossini,(void*)0xbebabeba)),
|
||||||
NULL);
|
NULL);
|
||||||
|
|
||||||
m_grossini->runAction(action);
|
m_grossini->runAction(action);
|
||||||
}
|
}
|
||||||
|
@ -862,6 +864,7 @@ std::string ActionSequence2::subtitle()
|
||||||
//------------------------------------------------------------------
|
//------------------------------------------------------------------
|
||||||
//
|
//
|
||||||
// ActionCallFunc
|
// ActionCallFunc
|
||||||
|
// DEPRECATED. Use the std::function() API instead
|
||||||
//
|
//
|
||||||
//------------------------------------------------------------------
|
//------------------------------------------------------------------
|
||||||
void ActionCallFunc::onEnter()
|
void ActionCallFunc::onEnter()
|
||||||
|
@ -921,12 +924,13 @@ void ActionCallFunc::callback3(CCNode* pTarget, void* data)
|
||||||
|
|
||||||
std::string ActionCallFunc::subtitle()
|
std::string ActionCallFunc::subtitle()
|
||||||
{
|
{
|
||||||
return "Callbacks: CallFunc and friends";
|
return "Callbacks: CallFunc. Old way. Avoid it";
|
||||||
}
|
}
|
||||||
|
|
||||||
//------------------------------------------------------------------
|
//------------------------------------------------------------------
|
||||||
//
|
//
|
||||||
// ActionCallFuncND
|
// ActionCallFuncND
|
||||||
|
// DEPRECATED. Use the std::function() API instead
|
||||||
//
|
//
|
||||||
//------------------------------------------------------------------
|
//------------------------------------------------------------------
|
||||||
void ActionCallFuncND::onEnter()
|
void ActionCallFuncND::onEnter()
|
||||||
|
@ -958,6 +962,83 @@ void ActionCallFuncND::removeFromParentAndCleanup(CCNode* pSender, void* data)
|
||||||
m_grossini->removeFromParentAndCleanup(bCleanUp);
|
m_grossini->removeFromParentAndCleanup(bCleanUp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//------------------------------------------------------------------
|
||||||
|
//
|
||||||
|
// ActionCallFunction
|
||||||
|
//
|
||||||
|
//------------------------------------------------------------------
|
||||||
|
void ActionCallFunction::onEnter()
|
||||||
|
{
|
||||||
|
ActionsDemo::onEnter();
|
||||||
|
|
||||||
|
centerSprites(3);
|
||||||
|
|
||||||
|
|
||||||
|
CCFiniteTimeAction* action1 = CCSequence::create(
|
||||||
|
CCMoveBy::create(2, ccp(200,0)),
|
||||||
|
CCCallFunc::create( std::bind(&ActionCallFunction::callback1, this) ),
|
||||||
|
CCCallFunc::create(
|
||||||
|
// lambda
|
||||||
|
[&](){
|
||||||
|
CCSize s = CCDirector::sharedDirector()->getWinSize();
|
||||||
|
CCLabelTTF *label = CCLabelTTF::create("called:lambda callback", "Marker Felt", 16);
|
||||||
|
label->setPosition(ccp( s.width/4*1,s.height/2-40));
|
||||||
|
this->addChild(label);
|
||||||
|
} ),
|
||||||
|
NULL);
|
||||||
|
|
||||||
|
CCFiniteTimeAction* action2 = CCSequence::create(
|
||||||
|
CCScaleBy::create(2 , 2),
|
||||||
|
CCFadeOut::create(2),
|
||||||
|
CCCallFunc::create( std::bind(&ActionCallFunction::callback2, this, m_tamara) ),
|
||||||
|
NULL);
|
||||||
|
|
||||||
|
CCFiniteTimeAction* action3 = CCSequence::create(
|
||||||
|
CCRotateBy::create(3 , 360),
|
||||||
|
CCFadeOut::create(2),
|
||||||
|
CCCallFunc::create( std::bind(&ActionCallFunction::callback3, this, m_kathia, (void*)42) ),
|
||||||
|
NULL);
|
||||||
|
|
||||||
|
m_grossini->runAction(action1);
|
||||||
|
m_tamara->runAction(action2);
|
||||||
|
m_kathia->runAction(action3);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void ActionCallFunction::callback1()
|
||||||
|
{
|
||||||
|
CCSize s = CCDirector::sharedDirector()->getWinSize();
|
||||||
|
CCLabelTTF *label = CCLabelTTF::create("callback 1 called", "Marker Felt", 16);
|
||||||
|
label->setPosition(ccp( s.width/4*1,s.height/2));
|
||||||
|
|
||||||
|
addChild(label);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ActionCallFunction::callback2(CCNode* sender)
|
||||||
|
{
|
||||||
|
CCSize s = CCDirector::sharedDirector()->getWinSize();
|
||||||
|
CCLabelTTF *label = CCLabelTTF::create("callback 2 called", "Marker Felt", 16);
|
||||||
|
label->setPosition(ccp( s.width/4*2,s.height/2));
|
||||||
|
|
||||||
|
addChild(label);
|
||||||
|
|
||||||
|
CCLOG("sender is: %p", sender);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ActionCallFunction::callback3(CCNode* sender, void* data)
|
||||||
|
{
|
||||||
|
CCSize s = CCDirector::sharedDirector()->getWinSize();
|
||||||
|
CCLabelTTF *label = CCLabelTTF::create("callback 3 called", "Marker Felt", 16);
|
||||||
|
label->setPosition(ccp( s.width/4*3,s.height/2));
|
||||||
|
addChild(label);
|
||||||
|
|
||||||
|
CCLOG("target is: %p, data is: %ld", sender, (long)data);
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string ActionCallFunction::subtitle()
|
||||||
|
{
|
||||||
|
return "Callbacks: CallFunc with std::function()";
|
||||||
|
}
|
||||||
//------------------------------------------------------------------
|
//------------------------------------------------------------------
|
||||||
//
|
//
|
||||||
// ActionSpawn
|
// ActionSpawn
|
||||||
|
@ -998,7 +1079,7 @@ void ActionRepeatForever::onEnter()
|
||||||
|
|
||||||
CCFiniteTimeAction* action = CCSequence::create(
|
CCFiniteTimeAction* action = CCSequence::create(
|
||||||
CCDelayTime::create(1),
|
CCDelayTime::create(1),
|
||||||
CCCallFuncN::create( this, callfuncN_selector(ActionRepeatForever::repeatForever) ),
|
CCCallFunc::create( std::bind( &ActionRepeatForever::repeatForever, this, m_grossini) ),
|
||||||
NULL);
|
NULL);
|
||||||
|
|
||||||
m_grossini->runAction(action);
|
m_grossini->runAction(action);
|
||||||
|
@ -1704,7 +1785,7 @@ void Issue1305::onEnter()
|
||||||
}] );
|
}] );
|
||||||
*/
|
*/
|
||||||
|
|
||||||
m_pSpriteTmp->runAction(CCCallFuncN::create(this, callfuncN_selector(Issue1305::log)));
|
m_pSpriteTmp->runAction(CCCallFunc::create(std::bind(&Issue1305::log, this, m_pSpriteTmp)));
|
||||||
m_pSpriteTmp->retain();
|
m_pSpriteTmp->retain();
|
||||||
|
|
||||||
scheduleOnce(schedule_selector(Issue1305::addSprite), 2);
|
scheduleOnce(schedule_selector(Issue1305::addSprite), 2);
|
||||||
|
@ -1766,13 +1847,13 @@ void Issue1305_2::onEnter()
|
||||||
});
|
});
|
||||||
*/
|
*/
|
||||||
|
|
||||||
CCCallFunc* act2 = CCCallFunc::create(this, callfunc_selector(Issue1305_2::printLog1));
|
CCCallFunc* act2 = CCCallFunc::create( std::bind( &Issue1305_2::printLog1, this));
|
||||||
CCMoveBy* act3 = CCMoveBy::create(2, ccp(0, -100));
|
CCMoveBy* act3 = CCMoveBy::create(2, ccp(0, -100));
|
||||||
CCCallFunc* act4 = CCCallFunc::create(this, callfunc_selector(Issue1305_2::printLog2));
|
CCCallFunc* act4 = CCCallFunc::create( std::bind( &Issue1305_2::printLog2, this));
|
||||||
CCMoveBy* act5 = CCMoveBy::create(2, ccp(100, -100));
|
CCMoveBy* act5 = CCMoveBy::create(2, ccp(100, -100));
|
||||||
CCCallFunc* act6 = CCCallFunc::create(this, callfunc_selector(Issue1305_2::printLog3));
|
CCCallFunc* act6 = CCCallFunc::create( std::bind( &Issue1305_2::printLog3, this));
|
||||||
CCMoveBy* act7 = CCMoveBy::create(2, ccp(-100, 0));
|
CCMoveBy* act7 = CCMoveBy::create(2, ccp(-100, 0));
|
||||||
CCCallFunc* act8 = CCCallFunc::create(this, callfunc_selector(Issue1305_2::printLog4));
|
CCCallFunc* act8 = CCCallFunc::create( std::bind( &Issue1305_2::printLog4, this));
|
||||||
|
|
||||||
CCFiniteTimeAction* actF = CCSequence::create(act1, act2, act3, act4, act5, act6, act7, act8, NULL);
|
CCFiniteTimeAction* actF = CCSequence::create(act1, act2, act3, act4, act5, act6, act7, act8, NULL);
|
||||||
|
|
||||||
|
@ -1871,15 +1952,15 @@ void Issue1327::onEnter()
|
||||||
spr->setPosition(ccp(100, 100));
|
spr->setPosition(ccp(100, 100));
|
||||||
addChild(spr);
|
addChild(spr);
|
||||||
|
|
||||||
CCCallFuncN* act1 = CCCallFuncN::create(this, callfuncN_selector(Issue1327::logSprRotation));
|
CCCallFunc* act1 = CCCallFunc::create( std::bind(&Issue1327::logSprRotation, this, spr));
|
||||||
CCRotateBy* act2 = CCRotateBy::create(0.25, 45);
|
CCRotateBy* act2 = CCRotateBy::create(0.25, 45);
|
||||||
CCCallFuncN* act3 = CCCallFuncN::create(this, callfuncN_selector(Issue1327::logSprRotation));
|
CCCallFunc* act3 = CCCallFunc::create( std::bind(&Issue1327::logSprRotation, this, spr));
|
||||||
CCRotateBy* act4 = CCRotateBy::create(0.25, 45);
|
CCRotateBy* act4 = CCRotateBy::create(0.25, 45);
|
||||||
CCCallFuncN* act5 = CCCallFuncN::create(this, callfuncN_selector(Issue1327::logSprRotation));
|
CCCallFunc* act5 = CCCallFunc::create( std::bind(&Issue1327::logSprRotation, this, spr));
|
||||||
CCRotateBy* act6 = CCRotateBy::create(0.25, 45);
|
CCRotateBy* act6 = CCRotateBy::create(0.25, 45);
|
||||||
CCCallFuncN* act7 = CCCallFuncN::create(this, callfuncN_selector(Issue1327::logSprRotation));
|
CCCallFunc* act7 = CCCallFunc::create( std::bind(&Issue1327::logSprRotation, this, spr));
|
||||||
CCRotateBy* act8 = CCRotateBy::create(0.25, 45);
|
CCRotateBy* act8 = CCRotateBy::create(0.25, 45);
|
||||||
CCCallFuncN* act9 = CCCallFuncN::create(this, callfuncN_selector(Issue1327::logSprRotation));
|
CCCallFunc* act9 = CCCallFunc::create( std::bind(&Issue1327::logSprRotation, this, spr));
|
||||||
|
|
||||||
CCFiniteTimeAction* actF = CCSequence::create(act1, act2, act3, act4, act5, act6, act7, act8, act9, NULL);
|
CCFiniteTimeAction* actF = CCSequence::create(act1, act2, act3, act4, act5, act6, act7, act8, act9, NULL);
|
||||||
spr->runAction(actF);
|
spr->runAction(actF);
|
||||||
|
@ -1917,18 +1998,18 @@ void Issue1398::onEnter()
|
||||||
|
|
||||||
this->runAction(
|
this->runAction(
|
||||||
CCSequence::create(
|
CCSequence::create(
|
||||||
CCCallFuncND::create(this, callfuncND_selector(Issue1398::incrementIntegerCallback), (void*)"1"),
|
CCCallFunc::create( std::bind(&Issue1398::incrementIntegerCallback, this, (void*)"1")),
|
||||||
CCCallFuncND::create(this, callfuncND_selector(Issue1398::incrementIntegerCallback), (void*)"2"),
|
CCCallFunc::create( std::bind(&Issue1398::incrementIntegerCallback, this, (void*)"2")),
|
||||||
CCCallFuncND::create(this, callfuncND_selector(Issue1398::incrementIntegerCallback), (void*)"3"),
|
CCCallFunc::create( std::bind(&Issue1398::incrementIntegerCallback, this, (void*)"3")),
|
||||||
CCCallFuncND::create(this, callfuncND_selector(Issue1398::incrementIntegerCallback), (void*)"4"),
|
CCCallFunc::create( std::bind(&Issue1398::incrementIntegerCallback, this, (void*)"4")),
|
||||||
CCCallFuncND::create(this, callfuncND_selector(Issue1398::incrementIntegerCallback), (void*)"5"),
|
CCCallFunc::create( std::bind(&Issue1398::incrementIntegerCallback, this, (void*)"5")),
|
||||||
CCCallFuncND::create(this, callfuncND_selector(Issue1398::incrementIntegerCallback), (void*)"6"),
|
CCCallFunc::create( std::bind(&Issue1398::incrementIntegerCallback, this, (void*)"6")),
|
||||||
CCCallFuncND::create(this, callfuncND_selector(Issue1398::incrementIntegerCallback), (void*)"7"),
|
CCCallFunc::create( std::bind(&Issue1398::incrementIntegerCallback, this, (void*)"7")),
|
||||||
CCCallFuncND::create(this, callfuncND_selector(Issue1398::incrementIntegerCallback), (void*)"8"),
|
CCCallFunc::create( std::bind(&Issue1398::incrementIntegerCallback, this, (void*)"8")),
|
||||||
NULL));
|
NULL));
|
||||||
}
|
}
|
||||||
|
|
||||||
void Issue1398::incrementIntegerCallback(CCNode* pSender, void* data)
|
void Issue1398::incrementIntegerCallback(void* data)
|
||||||
{
|
{
|
||||||
this->incrementInteger();
|
this->incrementInteger();
|
||||||
CCLog("%s", (char*)data);
|
CCLog("%s", (char*)data);
|
||||||
|
|
|
@ -36,6 +36,7 @@ enum
|
||||||
ACTION_ROTATEJERK_LAYER,
|
ACTION_ROTATEJERK_LAYER,
|
||||||
ACTION_CALLFUNC_LAYER,
|
ACTION_CALLFUNC_LAYER,
|
||||||
ACTION_CALLFUNCND_LAYER,
|
ACTION_CALLFUNCND_LAYER,
|
||||||
|
ACTION_CALLFUNCTION_LAYER,
|
||||||
ACTION_REVERSESEQUENCE_LAYER,
|
ACTION_REVERSESEQUENCE_LAYER,
|
||||||
ACTION_REVERSESEQUENCE2_LAYER,
|
ACTION_REVERSESEQUENCE2_LAYER,
|
||||||
ACTION_ORBIT_LAYER,
|
ACTION_ORBIT_LAYER,
|
||||||
|
@ -299,6 +300,18 @@ public:
|
||||||
void removeFromParentAndCleanup(CCNode* pSender, void* data);
|
void removeFromParentAndCleanup(CCNode* pSender, void* data);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class ActionCallFunction : public ActionsDemo
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
virtual void onEnter();
|
||||||
|
virtual std::string subtitle();
|
||||||
|
|
||||||
|
void callback1();
|
||||||
|
void callback2(CCNode* pTarget);
|
||||||
|
void callback3(CCNode* pTarget, void* data);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
class ActionFollow : public ActionsDemo
|
class ActionFollow : public ActionsDemo
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
@ -426,7 +439,7 @@ class Issue1398 : public ActionsDemo
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
void incrementInteger();
|
void incrementInteger();
|
||||||
void incrementIntegerCallback(CCNode* pSender, void* data);
|
void incrementIntegerCallback(void* data);
|
||||||
virtual void onEnter();
|
virtual void onEnter();
|
||||||
virtual std::string subtitle();
|
virtual std::string subtitle();
|
||||||
virtual std::string title();
|
virtual std::string title();
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
c12820b10f5bb33955c15eaf4cae17a4628455f8
|
dd49000446b982d873b507d09499340ea5735400
|
|
@ -1 +1 @@
|
||||||
1ecba86ffd5c89b2e005f581c9bf60f334b9ce01
|
647c786f7e749b31546a70420232f01ca7c89f6f
|
|
@ -11,7 +11,7 @@ android_headers = -I%(androidndkdir)s/platforms/android-14/arch-arm/usr/include
|
||||||
android_flags = -D_SIZE_T_DEFINED_
|
android_flags = -D_SIZE_T_DEFINED_
|
||||||
|
|
||||||
clang_headers = -I%(clangllvmdir)s/lib/clang/3.1/include
|
clang_headers = -I%(clangllvmdir)s/lib/clang/3.1/include
|
||||||
clang_flags = -nostdinc -x c++
|
clang_flags = -nostdinc -x c++ -std=c++11
|
||||||
|
|
||||||
cocos_headers = -I%(cocosdir)s/cocos2dx/include -I%(cocosdir)s/cocos2dx/platform -I%(cocosdir)s/cocos2dx/platform/android -I%(cocosdir)s/cocos2dx -I%(cocosdir)s/cocos2dx/kazmath/include
|
cocos_headers = -I%(cocosdir)s/cocos2dx/include -I%(cocosdir)s/cocos2dx/platform -I%(cocosdir)s/cocos2dx/platform/android -I%(cocosdir)s/cocos2dx -I%(cocosdir)s/cocos2dx/kazmath/include
|
||||||
cocos_flags = -DANDROID -DCOCOS2D_JAVASCRIPT
|
cocos_flags = -DANDROID -DCOCOS2D_JAVASCRIPT
|
||||||
|
|
|
@ -11,7 +11,7 @@ android_headers = -I%(androidndkdir)s/platforms/android-14/arch-arm/usr/include
|
||||||
android_flags = -D_SIZE_T_DEFINED_
|
android_flags = -D_SIZE_T_DEFINED_
|
||||||
|
|
||||||
clang_headers = -I%(clangllvmdir)s/lib/clang/3.1/include
|
clang_headers = -I%(clangllvmdir)s/lib/clang/3.1/include
|
||||||
clang_flags = -nostdinc -x c++
|
clang_flags = -nostdinc -x c++ -std=c++11
|
||||||
|
|
||||||
cocos_headers = -I%(cocosdir)s/cocos2dx/include -I%(cocosdir)s/cocos2dx/platform -I%(cocosdir)s/cocos2dx/platform/android -I%(cocosdir)s/cocos2dx -I%(cocosdir)s/cocos2dx/kazmath/include -I%(cocosdir)s/extensions
|
cocos_headers = -I%(cocosdir)s/cocos2dx/include -I%(cocosdir)s/cocos2dx/platform -I%(cocosdir)s/cocos2dx/platform/android -I%(cocosdir)s/cocos2dx -I%(cocosdir)s/cocos2dx/kazmath/include -I%(cocosdir)s/extensions
|
||||||
cocos_flags = -DANDROID -DCOCOS2D_JAVASCRIPT
|
cocos_flags = -DANDROID -DCOCOS2D_JAVASCRIPT
|
||||||
|
|
Loading…
Reference in New Issue