cocos2d-x 实现按Home和待机键后,再进入游戏显示暂停界面

转自:http://www.cocos2dev.com/?p=96

猴子原创,欢迎转载。转载请注明: 转载自Cocos2D开发网--Cocos2Dev.com,谢谢!

原文地址: http://www.cocos2dev.com/?p=96

要实现按Home和待机键后,再进入游戏显示暂停界面,其实很简单的。

cocos2d已经实现了按Home和待机键后暂停游戏,当再进入游戏时直接调用了resume,恢复游戏,所以你看到的是再进去后马上接着退出前的画面继续。

现在我们要实现的是再次进入游戏后,不要马上继续游戏,而是显示我们自己的暂停界面,很多游戏都是这样设计的。

首先,看看如何暂停游戏和恢复游戏。

//暂停游戏

cocos2d::CCDirector::sharedDirector()->pause();

//恢复游戏

cocos2d::CCDirector::sharedDirector()->resume();

很简单吧,cocos2d暂停游戏时保存当前的状态。

实现代码知道了,现在就剩下在游戏中按Home和待机键,再次进入游戏时,先显示暂停UI,当按下继续按建后,调用resume,

在AppController.mm中我们可以看到这样的代码:

游戏中按下Home和待机键会调用改方法,里面其实就是调用了pause

- (void)applicationWillResignActive:(UIApplication *)application {

cocos2d::CCDirector::sharedDirector()->pause();

}

//再次进入后,会调用这个方法,里面实现显示一个暂停UI,当点下继续按钮时,才调用resume。

- (void)applicationDidBecomeActive:(UIApplication *)application {

cocos2d::CCDirector::sharedDirector()->resume();

}


========================================割

再说一下和android + cocos2d-x这边的使用

接口都是自动生成的,Cocos2dxRenderer里的nativeOnPause和nativeOnResume,在cocos2d-x那边的main.cpp里加上相关函数就行了

模仿

void Java_org_cocos2dx_lib_Cocos2dxRenderer_nativeInit(JNIEnv*  env, jobject thiz, jint w, jint h)

应该是

void Java_org_cocos2dx_lib_Cocos2dxRenderer_nativeOnPause(JNIEnv*  env, jobject thiz)

{

cocos2d::CCDirector::sharedDirector()->pause();

}

void Java_org_cocos2dx_lib_Cocos2dxRenderer_nativeOnResume(JNIEnv*  env, jobject thiz)

{

cocos2d::CCDirector::sharedDirector()->resume();

}




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值