cocos2dx 3.x(动态改变精灵的背景图片)

//更换精灵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);
时间: 2024-10-14 14:09:02

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

HTML用ONMOUSEOVER,ONMOUSEOUT改变背景色或背景图片的方法

1.用onmouseout  onmouseover 图像间相互变换: <image src="img1" onmouseover="this.src='img2'" onmouseout="this.src='img1'"> 2.onmouseover  onmouseout 改变文字背景色: <div width="100" height="100" onmouseover="

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

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #703daa } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo } p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #3d1d81 } span.s1 { } span.s2 { color: #00000

jquery动态改变背景颜色插件

GETHUB下载地址 背景颜色用animate方法时时无法改变颜色的 所以要使用插件进行补充. 用法: <!DOCTYPE html> <html> <head> <style> div { background-color: #bada55; width: 100px; border: 1px solid green; } </style> <script src="http://code.jquery.com/jquery-1

导航条——动态改变导航菜单的背景颜色

1.概述 在浏览一些网站时,当鼠标经过导航菜单某一项时,其背景颜色将切换为其他颜色,实现这种简单的效果会更吸引浏览者的注意. 2.技术要点 本实例主要是应用JavaScript方法来动态改变<td>标签的背景颜色实现的.当鼠标经过<td>表示的导航菜单时,会触发onMouseOver事件,然后调用自定义的JavaScript方法改变<td>的背景颜色:当鼠标移出<td>时,会触发onMouseOut事件,调用自定义的JavaScript方法还原背景颜色为初始

【Cocos2D-X 游戏引擎】初窥门径(1) 制作一个动态的精灵

原理: Cocos2D中有个导演控制整个游戏流程,导演将场景添加到屏幕上,场景中有各种各样的演员. 先通过显示一张图片来看看Cocos2D游戏的流程: AppDelegate.cpp [cpp] view plaincopy <EMBED id=ZeroClipboardMovie_1 height=18 name=ZeroClipboardMovie_1 type=application/x-shockwave-flash align=middle pluginspage=http://www

Cocos2d-x优化中关于背景图片优化

由于背景图片长时间在场景中保存,而且图片很多,我们可以对其进行一些优化.我们通过如下几个方面考虑优化:1.不要Alpha通道背景图片的特点是不需要透明的,所以纹理格式可以采用不带有Alpha通道格式,所以RBG565格式比较适合背景图片.2.拼图背景图片与其它的图片纹理格式的不同,我们在创建精灵表的时候,没有办法将RBG565格式的背景图片与其它的纹理图片(如:RGBA4444)做在一个精灵表,所以基于格式的考虑我们可以将多个背景放置在一个精灵表中的,但是要注意这个精灵表拼接成的大图文件不能太大

Cocos2d-x 自定义按钮类控制精灵攻击----之游戏开发《赵云要格斗》

本篇要讲讲怎么自定义按钮类,并通过这个按钮类的对像来控制精灵的攻击.在看本篇之前最好先看看上一篇 Cocos2d-x虚拟摇杆控制精灵上下左右运动----之游戏开发<赵云要格斗>,要素材和项目代码的把邮箱留下吧,因为这个项目还没弄完,我一直在改. 精灵的攻击也是一个动画,只不过,这个动画只播放一次,相当于在界面上加一个按钮,然后你点一次按钮,精灵就播放一次动画. 一.自定义按钮类 按钮可以用COCOS2D-X自带的,想着方便一点,我就自己封装了一个按钮类ControlButton,在里面添加一个

Cocos2dx 3.2 之实现精灵图片放大功能

原文地址 http://blog.csdn.net/jhonlight/article/details/38408351 今天一个群友问我: 我Scene里放置一个Layer,Layer盛放一张图片,即背景图片,我想更换这张图片,而且要求带有系统提供的切换Scene 淡入淡出的效果,于是我用Director类的切换用系统提供的切换动画包装的scene,但是效果是整个scene都被切换了,而我想要的是只有背景变化,其余的不变. 大家都知道,这样做当然不可以,Director(导演)的切换会把制定的

改变cell的背景颜色

#define DARK_BACKGROUND  [UIColor colorWithRed:151.0/255.0 green:152.0/255.0 blue:155.0/255.0 alpha:1.0]; - (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath{    cell.backgroun