Cocos2d-x 创建精灵的五种方法

精灵是cocos2d-x游戏开发中不可或缺的元素,创建方法不尽相同,本文将介绍五种较为实用的方法,让开发者可以简便迅速的完成精灵的“塑造”。

方法一:直接创建精灵

适合于要显示的是这张图片的全部区域,

1
CCSprite * sprite = CCSprite::create( "Icon.png" );
上面那句话也可以根据需要这样来写:
1
2
3
4
5
CCString* fileName = CCString::createWithFormat( "Icon_%d.jpg" , flag);
CCSprite* sprite = CCSprite::create(fileName->getCString());
sprite->setPosition(ccp(100, 100));
 
this ->addChild(sprite);

方法二:参数 图片名称 矩形区域

适合于需要显示此图片的部分区域

1
2
3
CCSprite * sprite = CCSprite::create( "Icon.png" ,CCRectMake(0, 0, 30, 30));
sprite->setPosition(ccp(100, 100));
this ->addChild(sprite);

方法三: 利用帧缓存中的一帧的名称声称一个对象

适合于plist打包好的文件

1
2
3
4
CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile( "test_icon.plist" );
CCSprite * sprite = CCSprite::createWithSpriteFrameName( "Icon.png" );
sprite->setPosition(ccp(100, 100));
this ->addChild(sprite);

方法四: 利用另外一帧生成一个精灵对象 

适合于做帧动画使用

1
2
3
4
CCSpriteFrame * frame = CCSpriteFrame::create( "Icon.png" , CCRectMake(0, 0, 40, 30));
CCSprite * sprite = CCSprite::createWithSpriteFrame(frame);
sprite->setPosition(ccp(310, 150));
addChild(sprite);

方法五:利用纹理

适合于需要频繁使用的图片

1
2
3
4
5
6
CCSpriteBatchNode* spriteTexture = CCSpriteBatchNode::create( "iocn.png" );
spriteTexture->setPosition(CCPointZero);
addChild(spriteTexture);
CCSprite* sprite = CCSprite::createWithTexture(spriteTexture->getTexture());
sprite->setPosition(ccp(visiblesize.width/2, 100));
spriteTexture->addChild(sprite, 2);
 

转载于:https://www.cnblogs.com/linguoqiu/p/4798288.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值