runaction 旋转_仿真树叶飘落效果的实现(精灵旋转、翻转、钟摆运动等综合运用)...

ufolr原创,转载请注明:

最近项目中需要一个落叶的效果,本来想用粒子特效来实现,但是几经调试,虽然调出了落叶的效果,但是并不是十分理想,最大的不足就是落叶是平面的,没有立体感,虽然把落叶做小之后却是立体感的感觉会有所缓解,但总不能把树叶无限的缩小吧,而且立体感的缺失在粒子特效中确实是一个始终存在的问题。作为一个最求品质的程序猿,最终还是决定自己设精灵动作来实现。

在分析了粒子特效实现的原理并在国内外论坛上爬了半天,最后边实验边修改,终于完成了一个可行的仿真感较强的立体的落叶效果,现在就拿出来跟大家分享一下。

原理->树叶飘落动作分析:

树叶下落过程分解为:下落+摆动+叶片自传。

也就是只要将这三个动作实现,并同时执行就可以实现树叶飘落的效果。

下面就拿出代码具体解析实现过程:

老规矩,先上.h的内容,.h就不多解释了:

#ifndef __LEAF_H__

#define __LEAF_H__

#include "cocos2d.h"

USING_NS_CC;

classLeaf :publiccocos2d::CCLayer

{

public:

virtualboolinit();

voidresetLeafPos(CCNode* sender);//叶片位置重置函数

voidplayLeafAnim(CCSprite *spriteLeaf);//下落过程实现函数

LAYER_NODE_FUNC(Leaf);

};

#endif // __LEAF_H__

接下来是具体的实现,为了我们能不断的产生自然、随和的落叶,我们分三步来完成:

1:第一次初始化;2:落叶动作的实现;3:下落动作完成重新设定落叶开始。

上代码,先看看用到的头文件:

#include 

#include 

#include 

#include"Leaf.h"

usingnamespacestd;

enum{TAG_LEAF1 = 101, TAG_LEAF2};

初始化树叶精灵的设定:</

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值