1. 程式人生 > >cocos2dx3.x 文字模糊解決方法

cocos2dx3.x 文字模糊解決方法

cocos2dx 真是要命啊,由於公司要做跨平臺遊戲,故在windows裡面cocos2dx 經常抽風。

沒辦法啊,本來不想改原始碼的,且改且珍惜啊。

最近又遇到了在windows下面文字模糊的情況,由於字型繪製跟圖片繪製如出一轍,故斷定一定是字型沒有開啟不抗鋸齒功能。

因此只能單步除錯:

找到了字型初始化入口:Texture2D::initWithString

bool Texture2D::initWithString(const char *text, const FontDefinition& textDefinition)
{
    ... ... ...
    _hasPremultipliedAlpha = hasPremultipliedAlpha;

    return ret;
}

好了:不多說,新增不抗鋸齒功能。對所有文字都有效。
bool Texture2D::initWithString(const char *text, const FontDefinition& textDefinition)
{
    ... ... ...
    _hasPremultipliedAlpha = hasPremultipliedAlpha;

    // add by xxj 2014/08/25  16:22:27
    this->setAliasTexParameters();
    return ret;
}

ok,完成。

補充下:微軟雅黑本身是有問題的,這個官方字型建議使用9-12號字型,否則將出現鋸齒或變粗現象。如果真要使用微軟雅黑字型,建議網上去下載個修正的字型

附上一個修正好的字型:http://download.csdn.net/detail/xie1xiao1jun/8071509

順便說下:這個不必改原始碼的,可以對單個字型做開啟據此功能,但是由於我專案是用cocostudio開發的,就這樣讓全部都支援。

順便說下:手機上執行是不會出現這個問題的。

學習交流!!!緊供參考