Hi all,
I am new here (Cocos2D-X and NDK also ), I’m trying to create a very simple game with pause and resume functions. Here is my code:
`void GameLayer::pauseGame() {
// Stop all layer updates
CCLayer::onExit();
// Add the Pause layer
PauseLayer *pause = PauseLayer::createWithGameLayer(this);
pause->setPosition(CCPointZero);
this->getParent()->addChild(pause);
}
void GameLayer::resumeGame() {
// Resume all action and selectors
this->onEnter();
}
void PauseLayer::resumeGameCallback()
{
this->removeFromParentAndCleanup(true);
_gameLayer->resumeGame();
}
`
this code works well on iPhone, but doesn’t work on Android. Here is crash logs:
Build fingerprint: ‘generic/sdk/generic:4.1.2/MASTER/495790:eng/test-keys’
pid: 3396, tid: 3410, name: UNKNOWN >>> me.ngoclt.me <<<
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0000023c
Stack frame #00 pc 00180a34 /data/data/me.ngoclt.me/lib/libgame.so (cocos2d::CCLayer::onEnter()+28): Routine onEnter in /Users/ngoclt/Dirox/TETGAME/cocos2d-2.1beta3-x-2.1.1/TetGame/proj.android/…/…/cocos2dx/layers_scenes_transitions_nodes/CCLayer.cpp:337
Stack frame #01 pc 000fdbd8 /data/data/me.ngoclt.me/lib/libgame.so (GameLayer::resumeGame()+56): Routine resumeGame in jni/…/…/Classes/GameLayer.cpp:315
Stack frame #02 pc 00100e84 /data/data/me.ngoclt.me/lib/libgame.so (PauseLayer::resumeGameCallback()+164): Routine resumeGameCallback in (null):0
Stack frame #03 pc 00191c44 /data/data/me.ngoclt.me/lib/libgame.so (cocos2d::CCMenuItem::activate()+200): Routine activate in /Users/ngoclt/Dirox/TETGAME/cocos2d-2.1beta3-x-2.1.1/TetGame/proj.android/…/…/cocos2dx/menu_nodes/CCMenuItem.cpp:114
Stack frame #04 pc 00192344 /data/data/me.ngoclt.me/lib/libgame.so (cocos2d::CCMenuItemLabel::activate()+92): Routine activate in /Users/ngoclt/Dirox/TETGAME/cocos2d-2.1beta3-x-2.1.1/TetGame/proj.android/…/…/cocos2dx/menu_nodes/CCMenuItem.cpp:227
Stack frame #05 pc 0018dc20 /data/data/me.ngoclt.me/lib/libgame.so (cocos2d::CCMenu::ccTouchEnded(cocos2d::CCTouch**, cocos2d::CCEvent**)+228): Routine ccTouchEnded in /Users/ngoclt/Dirox/TETGAME/cocos2d-2.1beta3-x-2.1.1/TetGame/proj.android/…/…/cocos2dx/menu_nodes/CCMenu.cpp:255
Stack frame #06 pc 002005f4 /data/data/me.ngoclt.me/lib/libgame.so (cocos2d::CCTouchDispatcher::touches(cocos2d::CCSet**, cocos2d::CCEvent**, unsigned int)+788): Routine touches in /Users/ngoclt/Dirox/TETGAME/cocos2d-2.1beta3-x-2.1.1/TetGame/proj.android/…/…/cocos2dx/touch_dispatcher/CCTouchDispatcher.cpp:377
Stack frame #07 pc 00200ca8 /data/data/me.ngoclt.me/lib/libgame.so (cocos2d::CCTouchDispatcher::touchesEnded(cocos2d::CCSet**, cocos2d::CCEvent**)+56): Routine touchesEnded in /Users/ngoclt/Dirox/TETGAME/cocos2d-2.1beta3-x-2.1.1/TetGame/proj.android/…/…/cocos2dx/touch_dispatcher/CCTouchDispatcher.cpp:507
Stack frame #08 pc 001adbb8 /data/data/me.ngoclt.me/lib/libgame.so (cocos2d::CCEGLViewProtocol::handleTouchesEnd(int, int**, float**, float**)+124): Routine handleTouchesEnd in /Users/ngoclt/Dirox/TETGAME/cocos2d-2.1beta3-x-2.1.1/TetGame/proj.android/…/…/cocos2dx/platform/CCEGLViewProtocol.cpp:307
Stack frame #09 pc 001be35c /data/data/me.ngoclt.me/lib/libgame.so : Routine Java_org_cocos2dx_lib_Cocos2dxRenderer_nativeTouchesEnd in /Users/ngoclt/Dirox/TETGAME/cocos2d-2.1beta3-x-2.1.1/TetGame/proj.android/…/…/cocos2dx/platform/android/jni/TouchesJni.cpp:42
I’m using:
**Platform:* iOS, Android.
SDK version: Android 4.0
Version of cocos2d-x: cocos2d-2.1beta3-x-2.1.1
Thanks in advance for your help!