COCOS 2dx setColor(Color3B::GREEN) 不工作

COCOS 2dx setColor(Color3B::GREEN) is not working

当我尝试将 ios 游戏发布到 android 时,setColor(Color3B::GREEN) 不工作,字体颜色不正确

l_answer = Label::createWithTTF(label_config,str_numberStr );
l_answer->setColor(Color3B::GREEN);
l_answer->enableOutline(Color4B(0,0,0,255),255);
l_answer->enableGlow(Color4B(0,0,0,225));
l_answer->setScale(0.0f);

字体颜色不正确。

您不能在标签上设置多个效果。在 ccTypes.henum class LabelEffect 中定义的效果,它们相互抵消。现在你只能看到发光效果,但是如果你交换 enableOutline() and enableGlow(),你将只能看到轮廓效果。
例如,代码

Label* lbSomeText = Label::createWithTTF("sometext", "fonts/junegull_rg.ttf", 100);
lbSomeText->setPosition(Vec2(winSize.width * 0.5f, winSize.height * 0.5f));
lbSomeText->setColor(230,110,180); // I set for more contrast with green
lbSomeText->enableGlow(Color4B(0,0,0,255));
lbSomeText->enableOutline(Color4B(0,255,0,255), 15);
this->addChild(lbSomeText);

结果是:

求代码

...
lbSomeText->enableOutline(Color4B(0,255,0,255), 15);
lbSomeText->enableGlow(Color4B(0,0,0,255));
...

结果是:

接下来,如果想看到GREEN效果,需要将Color4B(r, g, b, alpha)设置为Color4B(0, 255, 0, 255)。现在你有 (0, 0, 0, 255),结果是 BLACK 颜色。例如,这里是 lbSomeText->enableGlow(Color4B(0,255,0,255));

的结果

如你所见,绿色和黑色发光的区别很小,因为你不能设置发光的宽度。因此,如果您需要更多发光效果,更好的方法是在 Photoshop 等设计器程序中使用标签文本制作精灵,然后在此程序中手动添加更多发光效果。
我希望,我回答了你的问题。现在您可以选择最适合您的选项了。