【iOS-cocos2d-X 游戏开发之十五】Cocos2dx中响应Android的Back与Menu&释放粒子内存
16lz
2021-01-26
本篇介绍两个常用知识,一个是粒子的自动释放机制函数,因为不少童鞋说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之间的坐标问题;
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版的项目:
运行结果如下:
然后Himi尝试点击Menu和Back按键,打印如上图所示,正常处理到了;
更多相关文章
- 在 Android(安卓)4.4.4 上,分析 input -- android framework 部分
- Android热修复技术总结
- 分享Android(安卓)recovery updater-script进度条函数的使用经验
- Android(安卓)P zygote 原理分析之app_process
- 完全理解android事件分发机制
- Looper中的睡眠等待与唤醒机制
- Android程式编写及调试新手入门-3
- 星云精准测试对安卓底层驱动代码的测试案例分析
- Android音频系统之AudioTrack起播线与underrun问题研究(Android(