我在Cocos2D中得到了一些奇怪的CCLabelBMFont标签失真,如下所示:
iPad设备和模拟器上都会出现扭曲现象。值得注意的一点:
[label.texture setAliasTexParameters];
无差异知道会发生什么事吗?
更新:我将标签更改为TTF标签,问题仍然存在!即使没有使用字体文件,也会出现失真。
答案 0 :(得分:2)
在Cocos2d论坛上的一些挖掘让我添加了这个:
[[CCDirector sharedDirector] setProjection:CCDirectorProjection2D];
似乎解决了这个问题。任何人都知道这是否有其他不良副作用,因为这不是Cocos2d中的默认投影。
UPDATE 这解决了我在iOS 4上的问题,但我的问题仍然存在于iOS 5.我现在看到可以通过调整标签的锚点来消除失真,所以它似乎受此影响。可能是一个错误?
更新2 事实证明,我的症状是由两种不同的事情引起的。实际上,投影确实对某些类型的失真和所有iOS版本产生了影响,因此上面的代码很有用。但其次,我找到了一个条件语句来设置字体标签的位置,并不总是创建整数坐标。因此,通过将(int)
放在坐标的x
和y
部分前面,问题就解决了。精灵可以处理浮点坐标而不会失真,但似乎CClabels不能。
答案 1 :(得分:1)
在每个角色周围添加一些间距。这通常是由纹理图集中其他附近的字形引起的,这些字形由于纹理过滤而“渗透”到另一个。 Glyph Designer和Hiero都允许您指定间距,通常每个字形之间的两个像素的值足以止血。