本篇介绍两个常用知识,一个是粒子的自动释放机制函数,因为不少童鞋说cocos2dx为什么没有? 其实是没找到,这里特意拿出来说下!另外一个是如何响应Android的Menu菜单和Back返回事件的方法;
首先对于Cocos2dx中对于粒子自动释放的函数Himi这里给出,不少童鞋都在群里或者论坛有问道!
1
2
3
4
5
6
|
CCParticleSystem *tempSystem = ARCH_OPTIMAL_PARTICLE_SYSTEM::particleWithFile( "test.plist" );
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 中添加如下两个虚函数:
1
2
|
virtual void keyBackClicked();
virtual void keyMenuClicked();
|
2. .cpp类中实现如上两个函数即可,如下,Himi这里测试使用,World是个Layer
1
2
3
4
5
6
7
|
void World::keyBackClicked(){
CCLog( "Android- KeyBackClicked!" );
}
void World::keyMenuClicked(){
CCLog( "Android- keyMenuClicked!" );
}
|
3.初始化的时候记得开启: this->setIsKeypadEnabled(true);
OK,下面Himi将项目编译后运行Android版的项目:
运行结果如下:

然后Himi尝试点击Menu和Back按键,打印如上图所示,正常处理到了;
本文转自 xiaominghimi 51CTO博客,原文链接:http://blog.51cto.com/xiaominghimi/969776,如需转载请自行联系原作者
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。