(转载)cocos2d-X学习之主要类介绍:精灵角色(CCSprite)

news/2024/7/5 7:35:33

      转载之:http://www.cnblogs.com/lhming/archive/2012/07/01/2572236.html

 

CCSprite是一副2D图像,CCSprite可以通过图像或者图像中的一个矩形子区域创建 如果它的父节点或者任意继承树上的节点是CCspriteBatchNode则具有下述特性:

父节点是CCSpriteBatchNode时具有的特性: 更快的渲染速度,特别时CCSpriteBatchNode有很多子节点的情况下,但有以下限制:

A、不支持照相功能(例如:CCOrbitCamera动作不能执行)

B、不支持基于网格的动作(例如:CCLens,CCRipple,CCTwirl)

C、Alias / Antialias属性属于CCSpriteBatchNode,所以你不能单独设置aliase属性

D、渲染函数属性属于CCSpriteBatchNode,所以你不能单独设置渲染函数属性

E、不支持视差滚动,但是可以通过“代理”精灵模拟 如果它的父节点时普通CCNode,那么CCSprite具有和其它任何CCNode一样的行为。

虽然有以上限制,但它也有以下优点:

A、支持渲染(Blending)功能

B、支持Alias / Antialias • 但是渲染速度会比较慢,每次只渲染一个子节点 CCSprite默认的锚点时(0.5, 0.5)

可以说,所有与图片有关系的,都可以用这个来处理,主要是提供图片的加载展示,可以加载序列帧,以便动画播放

类继承图

wps_clip_image-21583

 

其主要函数除了CCNode继承下来的函数外,还有以下函数:

virtual void  setTexture (CCTexture2D *texture)//设置精灵的纹理

virtual CCTexture2D *  getTexture (void)//获取精灵的纹理

bool  initWithTexture (CCTexture2D *pTexture)//根据纹理初始化精灵

bool  initWithTexture (CCTexture2D *pTexture, const CCRect &rect)//根据纹理指定的区域初始化精灵

bool  initWithSpriteFrame (CCSpriteFrame *pSpriteFrame)//根据SpriteFrame初始化精灵

bool  initWithSpriteFrameName (const char *pszSpriteFrameName)//根据spriteFrame的名称初始化精灵

bool  initWithFile (const char *pszFilename)//根据plist文件初始化精灵

bool  initWithFile (const char *pszFilename, const CCRect &rect)//根据plist文件初始化精灵

bool  initWithBatchNode (CCSpriteBatchNode *batchNode, const CCRect &rect)//批量根据节点初始化精灵

void  setDisplayFrameWithAnimationName (const char *animationName, int frameIndex)

static CCSprite *  spriteWithTexture (CCTexture2D *pTexture) //根据纹理生成精灵

static CCSprite *  spriteWithTexture (CCTexture2D *pTexture, const CCRect &rect)//根据纹理指定的区域生成精灵

static CCSprite *  spriteWithTexture (CCTexture2D *pTexture, const CCRect &rect, const CCPoint &offset)//根据纹理指定的区域和点偏移生成精灵

static CCSprite *  spriteWithSpriteFrame (CCSpriteFrame *pSpriteFrame)//根据SpriteFrame生成精灵

static CCSprite *  spriteWithSpriteFrameName (const char *pszSpriteFrameName)//根据SpriteFrame的名称生成精灵

static CCSprite *  spriteWithFile (const char *pszFileName)//根据plist文件按生成CCSprite

static CCSprite *  spriteWithFile (const char *pszFileName, const CCRect &rect)//根据plist文件生成精灵

static CCSprite *  spriteWithBatchNode (CCSpriteBatchNode *batchNode, const CCRect &rect)//根据节点批量生成精灵

 


http://www.niftyadmin.cn/n/3094098.html

相关文章

Linux 学习日记 6: 简单文本处理

2019独角兽企业重金招聘Python工程师标准>>> 1.tr 命令 tr 命令可以用来删除一段文本信息中的某些文字。或者将其进行转换。 使用方式: tr [option]... SET1 [SET2] 常用的选项有: 选项 说明 -d 删除和set1匹配的字符&am…

求不小于N且二进制串包含K个1的最小的数字

给定正整数N,求一个最小正整数M(M>N),使得M中连续1的个数不小于K。 输入格式:N K 其中N为大整数,只能进行字符串处理 首先要把N化为二进制串,考察这个二进制串的最后K位; 直接把这…

(转载)cocos2d-X学习之引擎源码目录结构介绍

转载之:http://www.cnblogs.com/lhming/archive/2012/07/01/2572262.html Cocos2d-x的目录结构如下: 目录的具体结构介绍如下: Box2D:物理引擎Box2D的相关源文件 Chipmunk:物理引擎chipmunk的相关源文件 cocos2dx&a…

Java 反射(二)

作者:郑剑锋链接:https://www.zhihu.com/question/24304289/answer/147529485来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。首先我们了解一下JVM,什么是JVM,Java的虚拟机…

简单提高数据库查询效率的办法

为什么80%的码农都做不了架构师?>>> 全局表 所谓全局表,就是有可能系统中所有模块都可能会依赖到的一些表。比较类似我们理解的“数据字典”。为了避免跨库join查询,我们可以将这类表在其他每个数据库中均保存一份。同时&#xf…

(转载)cocos2d-X学习之坐标系统

转载之:http://www.cnblogs.com/lhming/archive/2012/07/01/2572272.html 在cocos2d-x中有两种坐标系,分别是屏幕坐标系和open gl坐标系。 屏幕坐标系:x轴朝右,y轴朝下。默认原点在左上角,如下图: 这个是一…

微信小程序真机预览体验测试教程

前言 从小程序内测开始,有很多优秀的创意、想法已经在内测阶段开发完成。目前小程序开始公测,开放了小程序的申请和注册,但是还无法正式发布。那么我们在未正式发布之前,能不能在真机上体验一回微信小程序呢。答案是肯定的。如有微…

转MFC 消息机制

本文转载之博客园 梦想SKY 文章,在此,感谢原作者的书写,原文地址:http://www.cnblogs.com/dsky/archive/2012/05/28/2520853.html ---- MFC是Windows下程序设计的最流行的一个类库,但是该类库比较庞杂,尤其是它的消…