在setColor()之后覆盖Strokefont笔画颜色

时间:2013-06-19 03:47:45

标签: android andengine

我有一些文字,我有时想要黑色轮廓,有时候是绿色。我想我可以通过两个StrokeFonts实现这一点,一个是黑色轮廓,一个是绿色轮廓,然后当我实例化我的Text对象时,我只使用我想要的字体。

问题是,之后,我还需要根据其他条件设置字体的主色(内部,而不是笔画)。虽然我的逻辑有效,但当我setColor()时,笔划总是黑色,使我的第一个逻辑变得毫无用处。

这里是否有我遗漏的东西,或者其他方式来解决这个问题?在我决定使用哪个StrokeFont之后我已经注释了setColor()个调用,并且我正确地看到了中风,所以我知道它被setColor()调用覆盖了。

1 个答案:

答案 0 :(得分:2)

设置颜色乘以现有颜色的值。所以黑色(值0)永远不会改变颜色。但白色会变成你想要的任何颜色。 因此,如果你想制作一个可以呈现任何颜色的精灵或文本,它必须以白色开始。

我认为你可能仍然有问题,因为笔划字体的笔划被绘制为与填充相同的纹理,因此对笔划进行的任何颜色调整都会同样地填充填充。

您要么需要更多字体,要么选择其他方式来渲染它们,例如使用轮廓字体和填充字体来实际显示两个Text对象。 无论哪种方式,如果您了解setColor将值乘以现有值,您应该能够找到自己的方式。