背景
开发项目的时候,为了是的界面不单调,使其具有动感,希望图片能闪烁,但是又不想改变原来的素材,同时也不能增加其他素材。
实现如下
1、创建全局的变量
//全局的,方便后面调用 cocos2d::Texture2D* m_tTempTexture; Sprite* m_sCannotFollow ; CCAnimation* CannotFollowAnimation;
2、初始化一个精灵,来启动动画,然后初始化一个动画,设置每帧显示时间,循环次数等
//创建一个纹理 //创建一个精灵 m_tTempTexture = m_tTextCache->addImage("CannotFollow.png"); m_sCannotFollow = Sprite::createWithTexture(m_tTempTexture);
//创建一个动画 //通过一个纹理,创建一个闪动动画VOID iniAnimation(){ CannotFollowAnimation = CCAnimation::create(); for (int j = 1; j<=3; j++) { for (int i = 2; i >= 1; i--) { //用全局纹理,分割产生动画 CannotFollowAnimation->addSpriteFrameWithTexture(m_tTempTexture,Rect(0,0,1196 * (i - 1),112 * (i - 1))); } } CannotFollowAnimation->setDelayPerUnit(3.0f / 12.0f); CannotFollowAnimation->setRestoreOriginalFrame(true); CannotFollowAnimation->setLoops(1); AnimationCache::getInstance()->addAnimation(CannotFollowAnimation,"CannotFollow");}
3、调用
VOID SetShowCannotFollow(BOol isShowCannotFollow){ m_sCannotFollow->setVisible(isShowCannotFollow); if (isShowCannotFollow) { CannotFollowAction = CCAnimate::create(AnimationCache::getInstance()->getAnimation("CannotFollow")); m_sCannotFollow->runAction(CannotFollowAction); // 运行精灵对象 } else { CannotFollowAction = CCAnimate::create(AnimationCache::getInstance()->getAnimation("CannotFollow")); m_sCannotFollow->stopAction(CannotFollowAction);//停止动画 } return;}总结
以上是内存溢出为你收集整理的cocos2dx 一张图片的闪烁的动画全部内容,希望文章能够帮你解决cocos2dx 一张图片的闪烁的动画所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)