-
CCLabelTTF::enabelStroke() ignore stroke color parameters on android, the color is always black.
I find it caused by the following java code in line 175 of org.cocos2dx.lib.Cocos2dxBitmappaintStroke.setARGB(255, (int)strokeR * 255, (int)strokeG * 255, (int)strokeB * 255);
Type conversion from float to int happens before the multiplication to 255, not after
strokeR, strokeG, strokeB are float in [0, 1], after type conversion they are all zero, so the color is always black.
I fixed this bug by changing this line to
paintStroke.setARGB(255, Math.round(strokeR * 255), Math.round(strokeG * 255), Math.round(strokeB * 255));
-
CCLabelTTF do not paint stroke on IOS built by IOS7 SDK, IOS6 SDK is ok.
-
why android set the stroke width to half of the incoming width (line 174, org.cocos2dx.lib.Cocos2dxBitmap) ? This makes the stroke width on android is much thinner than IOS.
paintStroke.setStrokeWidth(strokeSize * 0.5f);