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)

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

类继承图

其主要函数除了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)//根据节点批量生成精灵

cocos2d-X学习之主要类介绍:精灵角色(CCSprite)的更多相关文章

  1. cocos2d-X学习之主要类介绍:场景(CCScene)

    场景(CCScene) 类结构: CCScene主要有以下两个函数: bool  init () //初始化函数 static CCScene *  node (void) //生CCScene 作为 ...

  2. cocos2d-X学习之主要类介绍:布景:CCLayer

    类继承图:  CCLayer 是CCNode的子类 ,实现了TouchEventsDelegate接口,继承了CCNode所有的特性,并且附加了一些自己的特性,它能够接收iPhone的触摸事件,也能够 ...

  3. cocos2d-X学习之主要类介绍:动作:CCAction

    引用自:http://www.cnblogs.com/lhming/archive/2012/07/01/2572238.html 类继承图: 主要函数: virtual CCObject *  co ...

  4. cocos2d-X学习之主要类介绍:摄像机(CCCamera)

    在cocos2d-x中,每个节点(CCNode)都需要用到,即当节点发生旋转.缩放和位置变化等时,都需要覆盖CCCamera,然后这个节点通过CCCamera重新渲染. 类结构: 其主要函数如下: c ...

  5. cocos2d-X学习之主要类介绍:CCDirector

    在cocos2d-x里面,游戏的任何时间,只有一个场景对象实例处于运行状态,该对象可以作为当前游戏内容的整体包对象 Cocos2d-x引擎除了提供了CCDirector,还提供了一个CCDisplay ...

  6. [原创]cocos2d-x研习录-第二阶 概念类之精灵类(CCSprite)

    上一节说布景层CCLayer是小容器,那么精灵类CCSprite就是容器添加的内容,它是构成游戏的主要元素.精灵这个名称应该是游戏专用,它表示游戏中玩家操作的主角.敌人.NPC(Non Player ...

  7. cocos2d-x实战 C++卷 学习笔记--第5章 精灵

    前言: 精灵类是Sprite类.它的子类有PhysicsSprite 和 Skin. PhysicsSprite 是物理引擎精灵类,而Skin是皮肤精灵类,用于骨骼动画. 创建Sprite精灵对象 创 ...

  8. Unity3D核心类介绍

    脚本介绍与Unity核心类介绍 -------------------------------------------------------------------------------- 脚本介 ...

  9. Typescript 学习笔记一:介绍、安装、编译

    前言 整理了一下 Typescript 的学习笔记,方便后期遗忘某个知识点的时候,快速回忆. 为了避免凌乱,用 gitbook 结合 marketdown 整理的. github地址是:ts-gitb ...

随机推荐

  1. 点滴记录:input的value不能放值

     以前我写登录框交互的时候,总是在focus和blur时,把input的value值为空或显示,也一直认为对的没有争议.可是,今天,后台同学告诉我这个不好使了?!我一时没听明白,后来他亲自演示后,我才 ...

  2. Android View Attributes

    ImageView android:adjustViewBounds  Set this to true if you want the ImageView to adjust its bounds ...

  3. ASP.NET CORE 学习之原生DI实现批量注册

    以前使用Autofac的时候,只需一句AsImplementInterfaces()就可以很轻松实现批量注册功能.而asp.net core内置的DI框架没有现成的批量注册方法,考虑到替换Autofa ...

  4. SVN安装配置及安全注意事项

    两个脚本: svn遍历脚本.zip wooyun上也是已经有非常多的svn泄露网站信息的事件,有的甚至由此导致整个服务器沦陷: WooYun: [盛大180天渗透纪实]第四章.SVN猎手 (某站SVN ...

  5. 如何借助Monit搭建服务器监控系统?(1)

    许多Linux管理员依赖一种集中式远程监控系统(比如Nagios或Cacti),检查网络基础设施的健康状况.虽然集中式监控系统为管理员在处理许多主机和设备时简化了工作,但专用的监控设备显然成了单一故障 ...

  6. iOS获取当前设备方向

    三种方式: self.interfaceOrientation [[UIApplication sharedApplication] statusBarOrientation] [[UIDevice ...

  7. 150. Best Time to Buy and Sell Stock II【medium】

    Say you have an array for which the ith element is the price of a given stock on day i. Design an al ...

  8. Angular js ie 7,8 兼容性

    Angularjs  官网有云: 1)在html 里面 ,有ng-app 的标签里需要定义个id ,id='ng-app'; 2)ie 7及以下版本需要json2.js或json3.js,主要用来解析 ...

  9. python 的__FILE__,__LINE__功能实现

    在C语言里,__FILE__和__LINE__给调试提供了很大的方便,今晚在写PYTHON的时候想到,PYTHON是否有类似的功能实现呢? GOOGLE一番发现两个方法,试验一下下面这句:print ...

  10. Master Sudoku:Get The Skill

    自己做的小游戏 google play store: https://play.google.com/store/apps/details?id=com.ffipp.sodoku app store: ...