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

翻译 2015年11月19日 21:22:15

大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处.
如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;)


为了完成需要的效果,我们将使用如下策略:

  1. 我们将首先绘制掩饰精灵,源的颜色(mask)设置为GL_ONE,目的颜色(一个空的缓存)设置为GL_ZERO.所以我们基本上原样显示掩饰图片.
  2. 我么将绘制日历精灵,源颜色(日历精灵)为GL_DST_ALPHA.你可以把它想象为好比是”根据当前缓存中alpha的值(the mask).当它为不透明时,让日历显示出来,如果是透明的,则不显示任何东西!”.目的颜色(the mask)为GL_ZERO,so之前绘制已存在的掩码好像消失了一样.

太好了!你可能认为你只要一个接一个的在Cocos2D中绘制如上2个精灵,并且设置合适的混合模式就可以了搞定了 — 但是你错了.

问题是上面的混合算法在运行中如果在你绘制的精灵下面有其他东西 — 比如背景或其他精灵,就会发生问题.这是因为它假设在第1步之后的图片缓存中只有mask图片 — 没有其他图片数据.

所以我们需要一些办法在绘制掩饰纹理的时候有一块”空白石板”(blank slate).这就得靠我们的CCRendererTexture朋友来拯救我们了!

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

大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 尝试编译运行,在你每一次点击屏幕的时候,你将看到我可爱的妻...
  • mydo
  • mydo
  • 2015年11月19日 21:06
  • 1092

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

大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 让我们开始吧打开Xcode,从New Project中选择...
  • mydo
  • mydo
  • 2015年11月19日 20:56
  • 1079

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

大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 掩饰一个精灵:实现代码打开HelloWorldLayer....
  • mydo
  • mydo
  • 2015年11月20日 09:08
  • 932

cocos2d_android 向布景层添加一个精灵对象

所谓精灵,就是游戏中能动d

【iphone游戏开发】iphone-Cocos2d游戏开发之四:精灵实现缩放,旋转,跳动,移动等动画

转自:http://blog.csdn.net/qiaoshe/article/details/6947470 // 增加动画 // **缩放效果** ...

【iphone游戏开发】iphone-Cocos2d游戏开发之四:精灵实现缩放,旋转,跳动,移动等动画

// 增加动画 // **缩放效果** id actionScale1 = [CCScaleBy actionWithDuration:2]; ...
  • qiaoshe
  • qiaoshe
  • 2011年11月08日 12:05
  • 4626

cocos2d-android学习四 ---- 精灵的创建

上篇文章我们创建了一个黑乎乎的界面,下面我们就给它加入一个精灵。

Cocos2D将v1.0的tileMap游戏转换到v3.4中一例(四)

大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 现在打开MainScene.m文件,首先设置实例变量:@i...
  • mydo
  • mydo
  • 2015年11月21日 11:06
  • 1037
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何在Cocos2D 1.0 中掩饰一个精灵(四)
举报原因:
原因补充:

(最多只允许输入30个字)