在 spine-phaser 中,.png 文件的路径是相对于 .atlas 文件所在位置解析的。当你在 .atlas 文件中使用完整的 URL 时,spine-phaser 会将其与 atlas 文件的目录路径拼接,导致出现 https://A/https://B/spine.png 这样的错误路径。
根据上下文信息,有以下解决方案:
方案1:修改 .atlas 文件的图片名称(推荐)
将 .atlas 文件第一行改为相对路径,而不是完整的 URL。例如:
../B/spine.png
或者使用完整路径但去掉协议部分:
/B/spine.png
方案2:使用 rawDataURIs 加载图片
spine-phaser 没有直接的 rawDataURIs 配置(这个功能在 Spine Web Player 中可用),但你可以考虑预加载图片纹理,然后手动处理。
方案3:调整文件结构
最简单的方法是调整你的文件结构,将所有 Spine 资源(.skel、.atlas、.png)放在同一个目录下,或者确保 .png 文件相对于 .atlas 文件的路径是正确的。
方案4:修改 .atlas 文件使用相对路径
如果 https://B 和 https://A 在同一域名下的不同路径,你可以在 .atlas 文件中使用相对路径:
../../B/spine.png
这样 spine-phaser 会正确解析为从 https://A/ 到 https://B/ 的相对路径。
注意:如果使用跨域的绝对 URL,请确保服务器已启用 CORS。
推荐使用方案1,在 .atlas 文件中使用合适的相对路径来引用 .png 文件。