Cocos2dx 流星效果实现

DionysosLai(906391500@qq.com) 2014/8/28

         对于用来衬托唯美的意境,与其天空中,点点一闪而过的流星,莫不是说最适合了。对于痴情儿女,私定终身就在这一刻良辰美景中了。今天,我等糙人就来“糟蹋”这一个美好的事物。

        

         功能需求:

1.      实现流星效果。达到的效果与下图一致:

                                                            

 

         功能分析:

         1.      通过图片分析,可以简化成下图所示:

                                                                                                                           

         不变部分:流星头;

         拖尾部分:流星尾巴,注意流星尾巴是一头粗糙,一头尖,同时从头到尾,颜色会变化,变化幅度取决于位置。

         粒子部分:在流星尾巴区域,可以适当一些细碎的小星星。

 

         因此,流星的制作:就是精灵移动+拖尾效果+细碎的小星星粒子效果

 

         功能实现:

         重点部分,就是流星拖尾部分制作,置于小星星的粒子效果,就是自己慢慢调了。

         实现流星拖尾:

         这里采用的cocos2dx自带的CCMotionStreak类。对于CCMotionStreak的应用,可以看引擎自带测试例子。

         核心代码如下所示:

m_pMoStar = CCMotionStreak::create(0.5f, 1, 7, ccWHITE,"page9/steak.png" );
m_pMoStar->setPosition(CCPointZero);
m_pMoStar->setVisible(false);
addChild(m_pMoStar);

         然后再update中不停的更新其位置即可。

         这里面的一些数值是根据图片调出来,拖尾图片如下所示:

                                                                                                                         

         这里的图片有出路,原来是用在切水果游戏中的刀光效果。在实际使用时,图片应该是一头粗,一头细,同时尾巴有其他颜色。

         详细代码和资源路径,请访问这里: https://github.com/DionysosLai/cocoEffect/tree/master/%E6%B5%81%E6%98%9F 。

         明天中秋,祝大家节日快乐!
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Cocos2d-x中实现流光效果可以使用shader来进行渲染。首先,我们需要创建一个自定义的shader,并将其应用于需要实现流光效果的节点上。 在使用Cocos2d-x的过程中,我们可以使用GLSL语言编写shader代码。在实现流光效果的shader中,我们可以通过改变像素的颜色和透明度来创建流动的效果。 首先,我们定义一个uniform变量time,用于控制流光的移动速度。然后,在片段着色器中,通过改变颜色和透明度的计算公式来实现流动的效果。我们可以使用sin函数或者其他数学函数来计算出每个像素点的颜色和透明度,然后将其应用到节点上。 在节点的渲染流程中,我们将这个自定义的shader应用到节点上,然后传入时间参数,即更新uniform变量time的值。随着时间的增加,我们就可以看到节点上的流光效果在不断地移动。 为了实现更加逼真的流光效果,我们可以尝试给流光添加一些额外的效果,比如模糊、叠加等。通过调整shader代码中的计算公式和传入的参数,我们可以根据自己的需求来调整流光效果的强度和样式。 总结起来,在Cocos2d-x中实现流光效果需要创建一个自定义的shader,并将其应用于需要实现效果的节点上。通过改变颜色和透明度的计算公式、传入时间参数等,我们可以实现一个流光效果,使节点看起来具有流动的动画效果
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值