精灵对象可以是游戏中的主角,也可以是汽车,也可以是一棵树。哪怕是一片树叶或者是一只鸟,都是一个精灵对象。从技术的角度来看,精灵对象就是一个可以不断变化的图片。精灵本身具备了一些特殊的属性,比如纹理、尺寸、翻转、透明度以及角度。
/* CCSprite类对象创建函数 */// 创建精灵对象static CCSprite *create();// 以图片文件来创建精灵对象static CCSprite *create(const char *pszfilename);// 以图片文件中一块区域来创建精灵对象static CCSprite *create(const char *pszfilename,const CCRect &rect);// 以精灵帧来创建精灵对象static CCSprite *create(CCSpriteFrame *pSpriteFrame);// 以精灵帧名字来创建精灵对象static CCSprite *createWithSpriteFramename(const char *pszSpriteFramefilename);// 以纹理图片来创建精灵对象static CCSprite *create(CCTexture2D *pTexture);// 以纹理图片中的矩形区域来创建精灵对象static CCSprite *create(CCTexture2D *pTexture,const CCRect &rect);
/* CCSpriteBatchNode精灵集合 */// 以纹理里创建一个精灵集合对象static CCSpriteBatchNode *create(CCTexture2D *pTexture,unsigned int capacity = 29);// 以图片文件来创建一个精灵集合static CCSpriteBatchNode *create(const char *fileImage,unsigned int capacity = 29);
/* CCSpriteFrame精灵帧类的属性 */CCPoint m_obOffset; // 偏移量CCSize m_obOriginalSize; // 纹理原始尺寸CCRect m_obRectInPixels; // 纹理像素尺寸bool m_obrotated; // 是否旋转CCRect m_obRect; // 矩形区域CCPoint m_obOffsetInPixels; // 像素单位的偏移量CCSize m_obOriginalSizeInPixels; // 像素单位的原始尺寸CCTexture2D *m_pobTexture; // 纹理对象std::string m_strTexturefilename; // 纹理名称
/* CCSpriteFrame精灵帧对象的创建函数 */// 以纹理对象中的矩形区域来创建精灵帧static CCSpriteFrame *create(CCTexture2D *pobTexture,const CCRect &rect);// 以纹理图片中的矩形区域来创建精灵帧static CCSpriteFrame *create(const char *filename,const CCRect &rect);// 以纹理对象中的矩形区域来创建精灵帧,包含属性初始化参数static CCSpriteFrame *create(CCTexture2D *pobTexture,const CCRect &rect,bool rotated,const CCPoint &offset,const CCSize &originalSize);// 以纹理图片中的矩形区域来创建精灵帧,包含属性初始化参数static CCSpriteFrame *create(const char *filename,const CCSize &originalSize);
/* CCSpriteFrameCache精灵帧缓冲函数 */ // 从pList文件中加载多个精灵帧 voID addSpriteFrameWithfile(const char *pszPList); // 从pList文件中加载多个精灵帧,参数为纹理图片 voID addSpriteFrameWithfile(const char *pList,const char *texturefilename); // 从pList文件中加载多个精灵帧,参数为纹理对象 voID addSpriteFrameWithfile(const char *pszPList,CCTexture2D *pobTexture); // 将按照参数中的名字添加一个精灵帧 voID addSpriteFrame(CCSpriteFrame *pobFrame,const char *pszFramename); // 清除所有精灵帧对象 voID removeSpriteFrames(voID); // 清楚未使用的精灵帧对象 voID removeUnUsedSpriteFrames(voID); // 按照参数中的名字来清除精灵帧对象 voID removeSpriteFrameByname(const char *pszname); // 按照pList文件内容,来清除精灵帧 voID removeSpriteFramesFromfile(const char *pList); // 按照纹理对象来清除精灵帧 voID removeSpriteFramesFromTexture(CCTexture2D *texture);
voID HelloWorld::spriteHandle(){ CCSprite *sprite = CCSprite::create("Icon-57.png"); sprite->setposition(ccp(75,150)); this->addChild(sprite); // 旋转角度 sprite->setRotation(100.0f); // 整体缩放 sprite->setScale(0.5); // 对X轴缩放 sprite->setScaleX(0.5); // 对Y轴缩放 sprite->setScaleY(0.5); // 对X轴镜像 sprite->setFlipX(true); // 对Y轴镜像 sprite->setFlipY(true); // 设置透明度 sprite->setopacity(100); // 设置是否可见 sprite->setVisible(true); // 设置锚点 sprite->setAnchorPoint(ccp(1.0,1.0)); // 设置颜色 sprite->setcolor(ccc3(100,100,100));}总结
以上是内存溢出为你收集整理的Cocos2d-x_CCSprite(精灵类)介绍全部内容,希望文章能够帮你解决Cocos2d-x_CCSprite(精灵类)介绍所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)