0

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

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

有什么我在这里遗漏的东西,还是另一种解决这个问题的方法?setColor()在我决定使用哪个 StrokeFont 并且我正确地看到了笔画之后,我已经注释掉了这些调用,所以我知道它被setColor()调用覆盖了。

4

1 回答 1

2

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

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

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

于 2013-06-19T18:18:32.017 回答