cocos2d-x 如何添加粒子效果
来源:互联网 发布:农村淘宝电商培训资料 编辑:程序博客网 时间:2024/05/21 22:45
自己做cocos2d-x的程序已经是两年前的事了,现在突然心血来潮想写一下。
之前我在做一个游戏的时候,我在知道有粒子效果这个东西后,果断的想到了把它加到我的splash中,之前有一个很好用的粒子效果的一个软件,但是无奈,我现在已经不知道叫做什么名字,而且好像我也已经没有了资源。但是最近又找到了一个可以用的粒子效果器。ParticleDesigner Mac 提取码: p57i 点击可以进行下载。解压后只有两个文件,一个进行注册一下,另一个就可以使用。具体我不再说怎么使用了。
唠叨了大半天,,,正式进入主题
示例一
1.首先你得确认你是要将粒子效果加载到什么里面,如首先,可以进行测试一下,就是直接点击一个btn,然后释放粒子效果。代码如下:
//我在这里设置了一个btn回调事件,在点按btn时,将会触发事件发生。 这个写在cpp文件中,同时你应该在头文件中进行声明。
void HelloWorld::btnCallFunc(Ref *target){ auto _emiter =ParticleSystemQuad::create("res/test.plist"); //设置离子的纹理 test.plist就是你从粒子效果器中下载的粒子效果并加入到你创建的文件的 res文件下的 auto texture = Director::getInstance()->getTextureCache()->addImage("res/mo_3.png");
//textture在这里的作用是设置了你的粒子效果最终呈现的形态,我在这里加了一个小方块图片,最终将会让我的小方块以粒子效果呈现。 _emiter->setTexture(texture); _emiter->setStartColor(Color4F(1,0,0,1)); _emiter->setStartColorVar(Color4F(0,0,0,0)); _emiter->setEndColor(Color4F(1,0,0,1)); _emiter->setEndColorVar(Color4F(0,0,0,0)); //以上都只是设置粒子效果的一些简单函数以及参数,在cocos2d-x中你可以查看各个函数的作用以及应该是什么样子的参数
_emiter->setPosition(Vec2(700,600));//设置粒子效果坐标 this->addChild(_emiter);//将此加载到本场景上}
如上图所示。。。图有点丑。。。勿介意 。。以上就是简单的加载粒子效果。
-------------------------------------------------------------------------------------------------------------------------------------------------------------
以上是分割线
之前说了我自己之前在做游戏时,把粒子加到了splash中,虽然有点不可取,因为正常我们是非常讨厌splash这个设定的。
但是我还是要说一下,如何加入到splash中。。。。
示例二
可以看到以下是一个动作的回调动作,到底是一个什么样的动作呢,这个可以由你自己决定,不要忘了在头文件中加上函数声明。
void SplashScene::actionSplashCallback(){ auto visibleSize = Director::getInstance()->getVisibleSize();//此处是获得当前屏幕的大小
auto _emiter =ParticleSystemQuad::create("res/splash.plist");//设置离子的纹理 auto texture = Director::getInstance()->getTextureCache()->addImage("b.jpg"); _emiter->setTexture(texture); _emiter->setPosition(Vec2(visibleSize.width/2,visibleSize.height/2+200)); this->addChild(_emiter);}
比如当前场景fadein,然后在完全结束fadein的时候,你就可以进行动作回调。
auto callFuncSplash = CallFunc::create(CC_CALLBACK_0(SplashScene::actionSplashCallback, this));//可以在setUi的函数下进行编写代码,创建一个在当前场景的回调事件,auto actionSplash = Sequence::create(fadeInBackground,delaySplash,callFuncSplash, NULL);//并将其创建动作回调函数callFuncSplash只是其中的一个回调动作而已,当然也可以只有这一个动作,也可以添加像是delaySplash 自命名的延迟几秒出现splash之类的动作回调事件,找机会我再补充。。。spriteSplash->runAction(actionSplash);//再将这个动作回调加载到动作场景队列中即可
以上就是当时我设计的游戏的splash的最终效果图,粒子效果就是你能看到的小方块,从主logo背后散发出来。
0 0
- cocos2d-x 如何添加粒子效果
- 【初学】cocos2d-x-粒子效果添加
- Cocos2d-x粒子效果
- cocos2d-x 粒子效果
- cocos2d-x 粒子效果优化
- cocos2d-x 的粒子效果
- cocos2d-x Particle粒子效果
- cocos2d-x 粒子效果particledesign
- Cocos2d-x 粒子系统----实现下雪效果
- Cocos2d-x 粒子系统----实现下雪效果
- cocos2d-x自定义五角星粒子效果
- Cocos2d-x教程(6)-粒子效果
- Cocos2d-x教程(6)-粒子效果
- Cocos2d-X 定义系统的粒子效果
- cocos2d-x粒子效果plist文件编写教程
- cocos2d---粒子效果1
- cocos2d 粒子效果2
- cocos2d-iphone粒子效果
- Huawei Suite无法在win10上使用问题解决
- lvs
- 移动端多指操作方法封装
- nginx
- Linux下获取进程PID并杀掉进程
- cocos2d-x 如何添加粒子效果
- rsync服务
- PLSQL 複合Trigger 1
- iptables总结
- 从零开始编写简易python爬虫:每日房价的获取
- iptables
- Lucene实践:全文检索的基本原理
- chrome 护眼夜间模式
- rsyslog