文章撰寫日期︰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專案又遇到同樣的問題。



沒有留言 :
張貼留言