Tag Archives: cocos2dx

cocos2dx小号字体显示模糊的解决方案

cocos2dx对于小字号的字体显示效果实在是一般,字号越小越模糊。

尝试过使用setAliasTexparameters(),但效果不理想。

最后搜到一个非常取巧的解决方案:

如果你要使用14号的字体,那么你实际将之设置为28,也就是x2。然后再setScale(0.5f)。这样效果就会好很多了。如果还不够好,可以尝试x4,然后scale 0.25。

将这个技巧反过来使用还可以得到字体的模糊效果。╮( ̄▽ ̄)╭

Cocos2dx项目Android Studio打包趟坑记录

问题描述:

游戏一直用Windows环境打包Android版本,临时需要用Mac打包,但是报错。

解决方法:

Mac下默认安装的是JDK 10,换成JDK 8即可。(也可能与Android Studio或者Gradle的版本有关系)

下载安装JDK 8并删除JKD 10。

小技巧:

Android Studio的报错信息不一定有用,直接在Android Studio的命令行(Terminal)下输入:./gradlew build 来编译,这样输出的错误信息更有参考价值。

Android Studio打包APK报错collect2.exe: error: ld returned 5 exit status的解决办法

因为cocos2dx 3.16版本,官方只支持到NDK(14),所以只能用这个版本。

但是用这个版本打包APK时会报这个错误:

collect2.exe: error: ld returned 5 exit status

解决方法:

下载最新版本NDK(17),将其中的ld.exe复制出来,覆盖NDK(14)中的对应文件。

将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