【iOS-cocos2d-X 游戏开发之十五】Cocos2dx中响应Android的Back(返回)与Menu(小房子)事件&&Cocos2dx自动释放粒子内存函数!

最后更新于:2022-04-01 10:15:46

本站文章均为[ 李华明Himi ](http://www.himigame.com/about-himi)原创,转载务必在明显处注明: 转载自[【黑米GameDev街区】](http://www.himigame.com/) 原文链接: [http://www.himigame.com/iphone-cocos2dx/792.html](http://www.himigame.com/iphone-cocos2dx/792.html "【iOS-cocos2d-X") [☞ 点击订阅 ☜](http://list.qq.com/cgi-bin/qf_invite?id=acfc24e272cc4a26debf3b3866edb626a9ea3fc80fd8893c) 本博客最新动态!及时将最新博文通知您! 本篇介绍两个常用知识,一个是粒子的自动释放机制函数,因为不少童鞋说cocos2dx为什么没有? 其实是没找到,这里特意拿出来说下!另外一个是如何响应Android的Menu菜单和Back返回事件的方法; 首先对于Cocos2dx中对于粒子自动释放的函数Himi这里给出,不少童鞋都在群里或者论坛有问道! ~~~ //添加一个粒子特效 CCParticleSystem *tempSystem = ARCH_OPTIMAL_PARTICLE_SYSTEM::particleWithFile("test.plist"); //tempSystem.positionType=kCCPositionTypeRelative;//备注1 tempSystem->setPositionType(kCCPositionTypeFree); this->addChild(tempSystem); tempSystem->setIsAutoRemoveOnFinish(true);//这里就是粒子自动释放的函数啦。~ ~~~ 这里setIsAutoRemoveOnFinish(bool bl);函数就是自动释放内存的函数啦,那么这里细心的童鞋会看到**备注1 ,**备注函数是设置粒子的移动类型为相对位置,具体请查看: [【iOS-Cocos2d游戏开发之十】添加粒子系统特效并解决粒子特效与Layer之间的坐标问题;](http://www.himigame.com/iphone-cocos2d/472.html) OK,下面Himi介绍如何在Cocos2dx中处理Android os的设备的Menu和Back案件的响应处理; 其实很简单,步骤如下: 1\.在需要响应的.h 中添加如下两个虚函数: ~~~ virtual void keyBackClicked();//Android 返回键 virtual void keyMenuClicked();//Android 菜单键 ~~~ 2\. .cpp类中实现如上两个函数即可,如下,Himi这里测试使用,World是个Layer ~~~ void World::keyBackClicked(){ CCLog("Android- KeyBackClicked!"); } void World::keyMenuClicked(){ CCLog("Android- keyMenuClicked!"); } ~~~ 3.初始化的时候记得开启:**this->setIsKeypadEnabled(true);** OK,下面Himi将项目编译后运行Android版的项目: 运行结果如下: ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-03-31_56fcd02491e5f.png) 然后Himi尝试点击Menu和Back按键,打印如上图所示,正常处理到了;
';