0

ここに記載されているように、Cocos2DのCCLabelBMFontラベルに奇妙な歪みが生じています。

例 例

歪みは、iPadデバイスとシミュレーターの両方に表示されます。これに関する注目すべき点:

  • これを表示していない同じフォントファイルを使用している他のラベルがあります
  • ラベルの座標がすべて整数であり、浮動小数点数がないことを確認しました
  • ラベルのスケーリングはありません
  • 私は[label.texture setAliasTexParameters];違いなしで試してみました
  • ラベルを別の座標に移動すると、歪みが修正されることがあります

何が起こっているのか考えてみませんか?

更新:ラベルをTTFラベルに変更しましたが、問題は解決していません。フォントファイルを使用しない場合でも、歪みが発生します。

4

2 に答える 2

2

Cocos2dフォーラムを掘り下げて、これを追加しました。

[[CCDirector sharedDirector] setProjection:CCDirectorProjection2D];

問題を解決しているようです。これはCocos2dのデフォルトの投影ではないため、これに他の望ましくない副作用があるかどうかは誰でも知っています。

更新これにより、iOS 4でのみ問題が解決しましたが、iOS 5でも問題が解決します。ラベルのアンカーポイントを調整することで歪みを取り除くことができるので、影響を受けているようです。おそらくバグ?

UPDATE2私の症状は2つの異なる原因によって引き起こされたことがわかりました。実際、このプロジェクションは、ある種の歪みやすべてのiOSバージョンで違いを生んだので、上記のコードは便利です。しかし、2番目に、フォントラベルの位置を設定する条件ステートメントを見つけました。これは、常に整数座標を作成しているわけではありません。そのため、座標のと部分の(int)前に配置することで、問題は解決しました。スプライトは歪みなしで浮動小数点座標を処理できますが、CClabelsは処理できないようです。xy

于 2012-06-14T07:28:34.850 に答える
1

各文字の周りにスペースを追加します。これは通常、テクスチャアトラスからの近くにある他のグリフがテクスチャフィルタリングによって相互に「ブリード」することによって発生します。Glyph DesignerとHieroはどちらも間隔を指定できます。通常、各グリフ間の2ピクセルの値で、出血を止めるのに十分です。

于 2012-06-14T09:38:13.187 に答える