确实是这样,感谢
“fixAlphaTransparencyArtifacts”: false, 消除伪影
这个属性对远程下载的图片需要怎么设置
第一次启动才会?在浏览器预览出现的?
第一次开始播放后会黑一下,然后循环播放正常,在Android真机上正常,在浏览器才会出现
手机浏览器也正常?
手机浏览器也会黑一下,但是没有警告,nickmk给了一个demo可以试试
是的,电脑浏览器,手机浏览器,手机微信浏览器的情况是一样的,apk没有问题。上面压缩包是demo
js_cc_middleware_MiddlewareManager_update崩溃问题,建议参考 cocos 2.x 最新代码。
使用layout+多个label渲染,最终效果如图
this.skillDescCtn.removeAllChildren();
const values = [[30,2,4,20],[30,2,4,23],[30,2,4,26],[30,2,4,29],[30,2,4,32]];
const desc = '宙斯投射闪电枪,对最近敌人造成<color=#62B14E>{0}%</color>伤害,弹射<color=#62B14E>{1}</color>次,并造成<color=#62B14E>{2}</color>秒<color=#EA7600>麻痹</color>,每秒造成<color=#62B14E>{3}%</color>麻痹伤害';
for(let i = 0; i < values.length; i++){
// 2. 格式化字符串:将 {0}, {1}... 替换为真实数值
let formattedString = desc.replace(/{(\d+)}/g, (match, index) => {
const valueIndex = parseInt(index, 10);
return values[i][valueIndex] !== undefined ? String(values[i][valueIndex]) : match;
});
// console.log(formattedString);
const regex = /(<color=.*?>.*?<\/color>)/;
const segments = formattedString.split(regex).filter(text => text); // filter(text => text) 用于移除空字符串
// console.log(segments);
const descNode = instantiate(this.descItem);
// 4. 生成 Label 节点
for (const segment of segments) {
const colorTagMatch = segment.match(/<color=(.+?)>(.+?)<\/color>/);
let textContent: string;
let textColor: Color | null = null;
if (colorTagMatch) {
// 这是带颜色标签的片段
const colorHex = colorTagMatch[1];
textContent = colorTagMatch[2];
// 尝试将十六进制颜色字符串转换为 Color 对象
try {
textColor = new Color().fromHEX(colorHex.startsWith('#') ? colorHex : '#' + colorHex);
} catch (e) {
console.warn(`无效的颜色值: ${colorHex}`, e);
textColor = Color.WHITE; // 使用默认颜色作为后备
}
} else {
// 这是普通文本片段
textContent = segment;
}
// 5. 实例化并配置 Label 节点
const labelNode = instantiate(this.textItem);
const labelComponent = labelNode.getComponent(i18nLabel);
if (labelComponent) {
labelComponent.string = textContent;
if (textColor) {
labelComponent.color = textColor;
}
// 你可以在这里设置模板原有的默认颜色
// else {
// labelComponent.color = Color.WHITE;
// }
labelNode.setParent(descNode);
} else {
console.error("模板节点 'descItem' 上缺少 Label 组件!");
}
}
descNode.setParent(this.skillDescCtn);
}

请先修改 spine/assembler/simple.ts ADJUST_SIZE_RATE 这个值调大点,可以调1.5看下,我试过1.8没有报错。这个之前是为了修复多个实例合批引入的。会再下个版本修复
要把engine仓库下,bin/.cache 删除
这个是正式的修复 PR
[.WebGL-0x440bc700] GL_INVALID_OPERATION: Error: 0x00000502, in …\third_party\angle\src\libANGLE\renderer\d3d\VertexDataManager.cpp, rx::VertexDataManager::reserveSpaceForAttrib:523. Internal error: 0x00000502: Vertex buffer is not big enough for the draw call.
这个是在windows出现的? 引擎上能复现?





