如何在phaser3中使用base64加载图集?



我正在制作一个phaser3可播放广告,并要求将图像和其他资产放在一个HTML文件中。我可以使用纹理加载图像。addBase64,但我如何使用base64加载地图集。此外,如果你能告诉我如何把JSON在HTML文件,以便我可以参考它,而加载地图集。谢谢🙂

未经个人测试,但看看这个解决方案

private loadBase64Atlas(key: string, data: string, json: object): void {
const imageElement = new Image();
imageElement.onload = () => {
this.scene.textures.addAtlas(key, imageElement, json);
this.onAssetLoaded();
};
const spriteBlob = this.base64ToBlob(data.split(',')[1], 'image/png');
imageElement.src = URL.createObjectURL(spriteBlob);
}

如果你不使用TypeScript,可以根据需要调整。下面是base64ToBlog的实现

如果需要在base64中嵌入JSON对象,则JSON对象可以在base64和base64之间来回弹跳:

// get the base64 string to embed in the ad and physically store it
const atlasJSON64 = btoa(JSON.stringify(atlasJSON)); 
[...]
const objectatlasJSON64 = JSON.parse(atob(atlasJSON64));

相关内容

  • 没有找到相关文章

最新更新