cocos2d-x 跨平台退出应用程序时的不同设置

来源:互联网 发布:徐佳莹 唱功 知乎 编辑:程序博客网 时间:2024/06/05 20:07

在win32下,当点击退出按钮退出cocos2d-x程序时,调用的是

voidHelloWorld::menuCloseCallback(CCObject* pSender)

{

    // "close" menu item clicked

    CCDirector::sharedDirector()->end();

}

即可成功退出。今天移植代码到Xcode中,退出时总是抛异常,百思不得其解。后来,在Xcode下新建coco2d-x应用,点击退出按钮,没有任何错。然后查看代码,发现是这样写的。

voidHelloWorld::menuCloseCallback(CCObject* pSender)

{

    // "close" menu item clicked

    CCDirector::sharedDirector()->end();

    #if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS)

       exit(0);

    #endif

}

多了三行预处理命令。恍然大悟!原来如果为iOS平台,则需另外执行exit(0).cocos2d-x的移植性真是没有想象的那么简单啊,花费了数日,才真正移植成功。其中遇到了

1.头文件路径问题(解决方案,使用绝对路径)

2.资源文件读取不到(解决方案,参考:http://www.cnblogs.com/wt616/archive/2012/12/04/2800729.html,正确移植vs代码和资源到Xcode下)

3.横屏竖屏问题(解决方案见我之前博客);

再就是这个异常退出问题了,这几天搞的头都大了。总算现在有点眉目了。