cocos2dx 一张图片的闪烁的动画

前端之家收集整理的这篇文章主要介绍了cocos2dx 一张图片的闪烁的动画前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

背景
开发项目的时候,为了是的界面不单调,使其具有动感,希望图片能闪烁,但是又不想改变原来的素材,同时也不能增加其他素材。

实现如下

1、创建全局的变量

  1. //全局的,方便后面调用
  2. cocos2d::Texture2D* m_tTempTexture
  3. Sprite* m_sCannotFollow
  4. CCAnimation* CannotFollowAnimation

2、初始化一个精灵,来启动动画,然后初始化一个动画,设置每帧显示时间,循环次数

  1. //创建一个纹理
  2. //创建一个精灵
  3. m_tTempTexture = m_tTextCache->addImage("CannotFollow.png");
  4.  
  5. m_sCannotFollow = Sprite::createWithTexture(m_tTempTexture);
  1. //创建一个动画
  2. //通过一个纹理,创建一个闪动动画
  3. VOID iniAnimation()
  4. {
  5. CannotFollowAnimation = CCAnimation::create();
  6. for (int j = 1; j<=3; j++)
  7. {
  8.  
  9. for (int i = 2; i >= 1; i--)
  10. {
  11. //用全局纹理,分割产生动画
  12. CannotFollowAnimation->addSpriteFrameWithTexture(m_tTempTexture,Rect(0,0,1196 * (i - 1),112 * (i - 1)));
  13. }
  14. }
  15. CannotFollowAnimation->setDelayPerUnit(3.0f / 12.0f);
  16. CannotFollowAnimation->setRestoreOriginalFrame(true);
  17. CannotFollowAnimation->setLoops(1);
  18. AnimationCache::getInstance()->addAnimation(CannotFollowAnimation,"CannotFollow");
  19. }

3、调用

  1. VOID SetShowCannotFollow(BOOL isShowCannotFollow)
  2. {
  3. m_sCannotFollow->setVisible(isShowCannotFollow);
  4. if (isShowCannotFollow)
  5. {
  6. CannotFollowAction = CCAnimate::create(AnimationCache::getInstance()->getAnimation("CannotFollow"));
  7. m_sCannotFollow->runAction(CannotFollowAction); // 运行精灵对象
  8. }
  9. else
  10. {
  11. CannotFollowAction = CCAnimate::create(AnimationCache::getInstance()->getAnimation("CannotFollow"));
  12. m_sCannotFollow->stopAction(CannotFollowAction);//停止动画
  13. }
  14. return;
  15. }

猜你在找的Cocos2d-x相关文章