fix the hash value for the label outline opacity is not being calculated correctly.

This commit is contained in:
段旭东 2025-01-08 20:43:57 +08:00 committed by SmallMain
parent 5277bb6fca
commit e1c2158287
2 changed files with 10 additions and 10 deletions

View File

@ -459,8 +459,8 @@ class LetterAtlases {
fontDesc: labelInfo.fontDesc, fontDesc: labelInfo.fontDesc,
fontSize: labelInfo.fontSize, fontSize: labelInfo.fontSize,
margin: labelInfo.margin, margin: labelInfo.margin,
out: labelInfo.out.toHEX(), out: labelInfo.out.toHEX('#rrggbbaa'),
color: labelInfo.color.toHEX(), color: labelInfo.color.toHEX('#rrggbbaa'),
isOutlined: labelInfo.isOutlined, isOutlined: labelInfo.isOutlined,
}; };
Label._canvasPool.put(canvas); Label._canvasPool.put(canvas);
@ -549,10 +549,10 @@ class LetterAtlases {
function computeHash (labelInfo) { function computeHash (labelInfo) {
let hashData = '|'; let hashData = '|';
let color = labelInfo.color.toHEX(); let color = labelInfo.color.toHEX('#rrggbbaa');
let out = ''; let out = '';
if (labelInfo.isOutlined && labelInfo.margin > 0) { if (labelInfo.isOutlined && labelInfo.margin > 0) {
out = out + labelInfo.margin + labelInfo.out.toHEX(); out = out + labelInfo.margin + labelInfo.out.toHEX('#rrggbbaa');
} }
return hashData + labelInfo.fontSize + labelInfo.fontFamily + color + out; return hashData + labelInfo.fontSize + labelInfo.fontFamily + color + out;

View File

@ -101,7 +101,7 @@ export default class TTFAssembler extends Assembler2D {
updateRenderData (comp) { updateRenderData (comp) {
super.updateRenderData(comp); super.updateRenderData(comp);
if (!comp._vertsDirty) return false; if (!comp._vertsDirty) return false;
this._updateProperties(comp); this._updateProperties(comp);
@ -297,7 +297,7 @@ export default class TTFAssembler extends Assembler2D {
if (_shadowComp) { if (_shadowComp) {
this._setupShadow(); this._setupShadow();
} }
if (_outlineComp) { if (_outlineComp) {
this._setupOutline(); this._setupOutline();
} }
@ -387,19 +387,19 @@ export default class TTFAssembler extends Assembler2D {
frame._texture._uuid = _fontDesc frame._texture._uuid = _fontDesc
+ _overflow + _overflow
+ (_premultiply ? 'P' : 'NP') + (_premultiply ? 'P' : 'NP')
+ comp.node.color.toHEX() + comp.node.color.toHEX('#rrggbbaa')
+ (_enableUnderline ? 'UL' : 'NUL') + (_enableUnderline ? 'UL' : 'NUL')
+ _string; + _string;
if (_outlineComp) { if (_outlineComp) {
frame._texture._uuid += _outlineComp.color.toHEX() frame._texture._uuid += _outlineComp.color.toHEX('#rrggbbaa')
+ ',' + ','
+ _outlineComp.width + _outlineComp.width
+ ','; + ',';
} }
if (_shadowComp) { if (_shadowComp) {
frame._texture._uuid += _shadowComp.color.toHEX() frame._texture._uuid += _shadowComp.color.toHEX('#rrggbbaa')
+ _shadowComp.offset.x + _shadowComp.offset.x
+ ',' + ','
+ _shadowComp.offset.y + _shadowComp.offset.y
@ -476,7 +476,7 @@ export default class TTFAssembler extends Assembler2D {
_calculateShrinkFont (paragraphedStrings) { _calculateShrinkFont (paragraphedStrings) {
let paragraphLength = this._calculateParagraphLength(paragraphedStrings, _context); let paragraphLength = this._calculateParagraphLength(paragraphedStrings, _context);
let i = 0; let i = 0;
let totalHeight = 0; let totalHeight = 0;
let maxLength = 0; let maxLength = 0;