如题,使用2.1.3时字体描边正常,升级了引擎之后描边的文字都出现了底色,如何解决?
if (needsShadow || needsStroke) {
CCTexture2D *tex = this->getTexture();
m_rdSprite->initWithTexture(tex);
m_rdSprite->setFlipY(false);
ccBlendFunc blend = {GL_ONE, GL_ONE_MINUS_SRC_ALPHA };
m_rdSprite->setBlendFunc(blend);
if (needsStroke){
int italic = strstr(getFontName(), "Italic") ? 2 : 0; // 斜体字
float offsetX = (m_strokeSize * 2 + fabs(m_shadowOffset.x*2)) + italic;
float offsetY = m_strokeSize * 2 + fabs(m_shadowOffset.y*2);
float x=tex->getContentSize().width + offsetX;
float y=tex->getContentSize().height+ offsetY;
m_rdTexture = CCRenderTexture::create(x, y);
m_rdTexture->retain();
m_rdTexture->begin();
{
m_rdSprite->setOpacity(255);
m_rdSprite->setColor(ccWHITE);
renderStrokeTexture(x, y);
}
m_rdTexture->end();
m_rdTexture->getSprite()->setColor(ccc3(m_strokeColor.r, m_strokeColor.g, m_strokeColor.b));
m_rdTexture->getSprite()->setOpacity(opMult(m_strokeColor.a, getOpacity()));
m_rdTexture->getSprite()->setAnchorPoint(ccp(0, 1));
setTextureRect(CCRectMake(-offsetX/2, -offsetY/2, x, y));
}
}