【问题标题】:Distorted Fonts扭曲的字体
【发布时间】:2012-06-14 06:01:15
【问题描述】:

我在 Cocos2D 中的 CCLabelBMFont 标签出现了一些奇怪的失真,如下所述:

扭曲出现在 iPad 设备和模拟器上。值得注意的一点:

  • 我有其他标签使用相同的字体文件,但没有显示这个
  • 我已经确保标签的坐标都是整数,没有浮点数
  • 标签没有缩放
  • 我试过有没有[label.texture setAliasTexParameters];没有区别
  • 如果我将标签移动到不同的坐标,它有时会纠正失真

知道会发生什么吗?

更新:我将标签更改为 TTF 标签,但问题仍然存在!即使不使用字体文件,也会出现失真。

【问题讨论】:

    标签: cocos2d-iphone


    【解决方案1】:

    在 Cocos2d 论坛上的一些挖掘让我添加了这个:

    [[CCDirector sharedDirector] setProjection:CCDirectorProjection2D];

    似乎可以解决问题。任何人都知道这是否有其他不良副作用,因为这不是 Cocos2d 中的默认投影。

    更新这仅解决了我在 iOS 4 上的问题,但我的问题在 iOS 5 上仍然存在。我现在看到可以通过调整标签的锚点来消除失真,所以它似乎受其影响。可能是一个错误?

    更新 2 原来我的症状是由两种不同的原因引起的。事实上,投影确实对某种失真和所有 iOS 版本产生了影响,所以上面的代码很有用。但其次,我发现了一个设置字体标签位置的条件语句,它并不总是创建整数坐标。因此,通过将(int) 放在坐标的xy 部分前面,问题就解决了。 Sprites 可以处理浮点坐标而不失真,但 CClabels 似乎不能。

    【讨论】:

    • 事实上,我很难找到有关使用不同投影类型的原因的任何文档。任何帮助表示赞赏。
    • 好问题,我自己也一直在想。新问题(我的用例):stackoverflow.com/questions/11030664/…
    【解决方案2】:

    在每个字符周围添加一些间距。这通常是由纹理图集中的其他附近字形由于纹理过滤而“渗入”另一个造成的。 Glyph Designer 和 Hiero 都允许您指定间距,通常每个字形之间两个像素的值就足以止血。

    【讨论】:

    • 事实证明我更改投影类型的解决方案仅解决了 iOS 4 上的问题,但它仍然存在于 iOS 5 上,所以我尝试了您的建议并通过间距和填充来增加,但不幸的是我的问题仍然存在.奇怪的是,它不会影响使用该字体的所有标签,即使所有标签的设置完全相同。
    • 我已经进一步确认,即使我使用 TTF 标签并且没有字体文件,问题也是相同的,所以这毕竟不是因为间距
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-22
    • 2021-08-04
    • 2013-05-02
    • 1970-01-01
    • 1970-01-01
    • 2018-07-22
    • 2010-10-15
    相关资源
    最近更新 更多