cocos2dx3.x 文字模糊解決方法
阿新 • • 發佈:2019-02-10
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開發的,就這樣讓全部都支援。
順便說下:手機上執行是不會出現這個問題的。
學習交流!!!緊供參考