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

来源:互联网 发布:监控干扰器软件 编辑:程序博客网 时间:2024/06/02 11:11


cocos2d-x游戏开发5中创建精灵方法:


方法一:直接创建精灵

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


Sprite * sprite = Sprite::create("Icon.png");
上面那句话也可以根据需要这样来写:





String* fileName = String::createWithFormat("Icon_%d.jpg", flag);
Sprite* sprite = Sprite::create(fileName->getCString());
sprite->setPosition(ccp(100, 100));
 
this->addChild(sprite);

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

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




Sprite * sprite = Sprite::create("Icon.png",RectMake(0, 0, 30, 30));
sprite->setPosition(ccp(100, 100));
this->addChild(sprite);

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

适合于plist打包好的文件





SpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("test_icon.plist");
Sprite * sprite = Sprite::createWithSpriteFrameName("Icon.png");
sprite->setPosition(ccp(100, 100));
this->addChild(sprite);

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

适合于做帧动画使用





SpriteFrame * frame = SpriteFrame::create("Icon.png", RectMake(0, 0, 40, 30));
Sprite * sprite = Sprite::createWithSpriteFrame(frame);
sprite->setPosition(ccp(310, 150));
addChild(sprite);

方法五:利用纹理

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







SpriteBatchNode* spriteTexture = SpriteBatchNode::create("iocn.png");
spriteTexture->setPosition(PointZero);
addChild(spriteTexture);
Sprite* sprite = Sprite::createWithTexture(spriteTexture->getTexture());
sprite->setPosition(ccp(visiblesize.width/2, 100));
spriteTexture->addChild(sprite, 2);
0 0