转载自:http://www.jb51.cc/article/p-etvxqupr-bcs.html
Texture是保存在GPU缓冲中的一张纹理。是由一张图片创建获得的。
SpriteFrame是Texture+Rect,根据一张纹理材质来剪切获得。
SpriteFrame *spFrame = SpriteFrame::createWithTexture(texture,rect);
createWithTexture函数的定义如下:
- SpriteFrame*SpriteFrame::createWithTexture(Texture2D*texture,constRect&rect)
- {
- SpriteFrame*spriteFrame=newSpriteFrame();
- spriteFrame->initWithTexture(texture,rect);
- spriteFrame->autorelease();
- returnspriteFrame;
- }
使用SpriteFrame 我们可以创建想要见到的Sprite。
Sprite *sp = Sprite::createWithSpriteFrame(spFrame);
这样就通过剪切的Texture创建出了我们想要的Sprite。
Sprite可以动态的改变它的spFrame,这样就形成了精灵帧。
sp->setDisplayFrame(spFrame2);
请看setDisplayFrame的定义:
- voidsetDisplayFrame(SpriteFrame*newFrame){setSpriteFrame(newFrame);}
- voidsetSpriteFrame(SpriteFrame*frame)
- {
- CC_SAFE_RETAIN(frame);
- CC_SAFE_RELEASE(_spriteFrame);
- _spriteFrame=frame;
- }
这样就动态修改了Sprite的表现了。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。