如何在Cocos2D 1.0 中掩饰一个精灵(五)

时间:2022-03-03 09:23:08

大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处.

如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;)


掩饰和CCRenderTexture

CCRenderTexture是一个让你在屏幕以外缓存中绘制的类.

它的便捷有很多理由 — 你可以使用它去在你的游戏中截屏,用户绘制更为高效的缓存,在运行时动态创建精灵表集(sheets),或者我们将用来这个目的 — 帮助我们掩饰一个精灵.

为了使用CCRenderTexture,你要执行以下步骤:

  1. 创建CCRenderTexture对象,设置纹理像素单位的宽和高.
  2. 向CCRenderTexture调用绘制开始方法
  3. 发出OpenGL命令给绘制物件 — 但是不是往屏幕而是往CCRenderTexture发送
  4. 当你完成时调用绘制完成方法,并且CCRenderTexture将现在拥有一个你可以使用的精灵资源的纹理(但注意它是上下翻转的).或者你可以直接像一个子节点那样添加CCRenderTexture.

不要害怕第三步 — 因为你使用Cocos2D,你通常不需要必须自己手动写OpenGL的命令!如果你要绘制一个节点,所有你要做的就是调用[myNode visit]方法,并且它将为你运行所有合适的OpenGL命令!

这里仅有一个窍门就是节点需要放置在渲染纹理的坐标系中.0,0是渲染纹理的左下位置,所以确保你在那个合适空间的内部放置所有东西.

好吧,你可能厌倦了我的唠叨,渴望看到一些代码.满足你的愿望 — 让我们回到代码中去!