cocos2dx.3.x之重要类分析(5)——Sprite

Sprite

可以通过一个图像或一个图像的矩形裁剪部分创建Sprite

为了优化Sprite渲染,请遵循以下最佳用法:

  • 所有Sprite放入同一个SpriteSheet
  • 所有Sprite使用相同的渲染混合函数(BlendFunc)
  • 使得渲染器(Renderer)自动批量处理("batch")Sprite (将会在一次OpenGL调用内绘制完成)

为了获得额外5%~10的渲染优化效果,你可以把Sprite作为子节点加入到SpriteBatchNode中, 但这么做有以下限制:

  • Alias/Antialias属性属于SpriteBatchNode,不能单独设置Sprite的Alias属性。
  • 渲染混合函数(BlendFunc)属于SpriteBatchNode,不能单独设置Sprite的渲染混合函数(BlendFunc)。
  • 不支持ParallaxNode,不过可以使用代理("proxy")Sprite模拟实现。
  • Sprite的子节点只能是其它Sprite(或Sprite的子类)

Sprite的默认锚点(anchorPoint)为(0.5, 0.5)


继承图示


精灵一般定义为一个二维图像 在很多情况下 比如我们要做一个敌人 我一般会选择继承node 应为node没有sprite这么臃肿 且包含了基本操作功能 而为了将敌人显示在屏幕上 我只需用到 sprite的显示功能 所以我会采用组合的方法 将sprite作为 敌人类的一个成员变量

你可能感兴趣的:(cocos2dx.3.x之重要类分析(5)——Sprite)