从纹理地图集掩盖精灵



我需要掩盖一个精灵。我遵循了本教程:http://www.raywenderlich.com/4428/how-to-mask-a-sprite-with-cocos2d-2-2-0,但是问题是当我创建Sprite不是来自单个PNG文件,而是从单个PNG文件中创建时从带有" initwithspriteframename"方法的Sprite表格。

蒙版文件遮盖了大雪碧的纹理,而不是小精灵的纹理。

有什么线索我该如何修复?

欢呼,Marcin

这里的问题是您的精灵和面具都使用了相同的Tex坐标。

您需要通过每个顶点发送两个紫外线坐标,这些坐标适合您的面具。

为这些蒙版坐标创建另一个变化的V_MaskTexcoord,然后在哪里进行:

vec4 texColor = texture2D(u_texture, v_texCoord);
vec4 maskColor = texture2D(u_mask, v_texCoord);

将其更改为

vec4 texColor = texture2D(u_texture, v_texCoord);
vec4 maskColor = texture2D(u_mask, v_maskTexCoord);

最新更新