文章撰寫日期︰2013/03/20 10:35 cocos2dx使用版本︰v 2.0.4
cocosBuilder使用版本︰v 2.0 alpha 1
一、問題
針對CCLabelTTF設定setDimensions,想要做到文字過長會自動換行的效果,
在IOS上能正常顯示,
Android上卻會被截掉每一行的最後一個字元的問題。
請參見下圖示意的題目的部份
畫面在IOS上的樣子 |
畫面在Android上的樣子 |
"一條尾巴"後面的"逗號"在Android上不見了。
二、解決方法
與Cocos2dX開發人員詢問後,發現此問題是2.0.x的一個bug,
已經在cocos2d-x 2.1.x獲得改善,
可參見它們的更新LOG #1610。
Bug #1610: fix a bug that CCLabelTTF will lost a character at the end of a line
解決方法是將cocos2d-x在Android上的一個類別
Cocos2dxBitmap.java line 298
while (pString.indexOf(i++) == ' ') { ; }改成
while (pString.indexOf(i) == ' ') { ++i; }記得,
cocos2dx/cocos2dx/platform/android/java/src/org/cocos2dx/lib/Cocos2dxBitmap.java也要改掉。
免得之後建立的新Android-Cocos2dx專案又遇到同樣的問題。
沒有留言 :
張貼留言