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

本文介绍了如何使用cocos2d-x实现树叶飘落的3D效果,包括下落、摆动和旋转动作的综合运用。通过设置精灵的锚点、旋转和翻转动作,以及利用随机数生成不同的飘落参数,营造出逼真的树叶飘落场景。同时,文章还提到了解决精灵遮挡问题的方法。
摘要由CSDN通过智能技术生成

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

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

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


       

  1.      void resetLeafPos(CCNode* sender);//叶片位置重置函数  
  2.      void playLeafAnim(CCSprite *spriteLeaf);//下落过程实现函数  
  3.    1:第一次初始化;2:落叶动作的实现;3:下落动作完成重新设定落叶开始。
    1.    <span style="font-size:12px;">bool Leaf::init()    
    2.   {  
    3.     CCSprite *spriteLeaf1 = CCSprite::spriteWithFile("img_yezi_1.png");  
    4.     spriteLeaf1->setRotation(30);//旋转角度  
    5.     spriteLeaf1->setAnchorPoint(ccp(0.5, 3));//设置精灵锚点  
    6.     spriteLeaf1->setPosition(ccp(450, 500));//叶子1第一次初始位置  
    7.     spriteLeaf1->setScale(0.5);//设置叶片大小  
    8.   
    9.     this->addChild(spriteLeaf1,100,TAG_LEAF1);  
    10.     this->playLeafAnim(spriteLeaf1);//调用play函数播实现叶动作  
    11.        
    12.     CCSprite *spriteLeaf2 = CCSprite::spriteWithFile("img_yezi_2.png");  
    13.     spriteLeaf2->setRotation(50);  
    14.     spriteLeaf2->setAnchorPoint(ccp(0.5, 3));  
    15.     spriteLeaf2->setPosition(ccp(200, 540));  
    16.     spriteLeaf2->setScale(0.5);  
    17.   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值