Tag Archives: cocos2dx

将Sprite绘制到RenderTexture指定位置的方法

有时候我们想要复制一个Sprite或者Node,不但复制其自身还要包含其子元件。最直接的办法就是使用RenderTexture,将Sprite及其子元件都绘制到RenderTexture上。但是Sprite在RenderTexture上的位置是不能直接指定的,我们又不想改变Sprite的位置。解决方法如下:

 

给cocos2dx中的spine骨骼动画添加shader效果

之前使用过给Sprite添加shader效果,具体方法参考这里。但是同样的方法在Spine的SkeletonAnimation上却不好用。

经过google发现只需要小改一下shader程序。

把.vsh中的

改为

即可。

最后,移除shader的时候,别忘了使用SHADER_NAME_POSITION_TEXTURE_COLOR而不是SHADER_NAME_POSITION_TEXTURE_COLOR_NO_MVP。

cocos2dx中Tiled地图拼接缝隙问题的正确解决方法

今天尝试使用Tiled编辑地图并在cocos2dx中使用,根据教程流程走的很顺,但是最终显示时,在地砖之间出现了一些黑色的缝隙,也就是贴图之间结合的不紧密。在网上查到很多解决方法,最终找到了唯一的完美方案。

方法一:setAntiAliasTexParameters,设置贴图反锯齿,无效。

方法二:设置ccConfig.h中的CC_FIX_ARTIFACTS_BY_STRECHING_TEXEL参数为1,有效,但是此方法以细微拉伸贴图为前提,不完美。

完美方法:使用TexturePacker的Extrude功能(或者使用其它的图片编辑工具),为每一个Tile的四边再加1个相同的像素(作为边缘像素的延伸)。最后别忘了在Tiled中需要将多余的1像素计算为spacing。

[转]用cocos2d-x 3实现全屏shader效果

简单记录以留备用

原文地址:

http://afsharious.wordpress.com/2014/07/04/gotchas-post-shader-effects-in-cocos2d-x/

代码:

https://github.com/saeedafshari/ShaderLayer.git

用法:

 

[转]在cocos2dx 3中使用Shader实现Sprite的灰度显示

 

gray.vsh

 

gray.fsh

转自:http://discuss.cocos2d-x.org/t/how-to-use-opengl-shader-in-cocos2d-x3-0/12430