在 Phaser 中从其他服务器加载图像资源

load images assets from other server in phaser

本文关键字:加载 图像 资源 服务器 其他 Phaser      更新时间:2023-09-26

我正在尝试从报表服务器加载图像,但是当我将其添加到精灵中时,它没有显示。

preload: function () {
    game.load.baseURL = 'http://somthing.com/';
    game.load.crossOrigin = 'anonymous';
},
create: function () {
    var data = new Image();
    data.src = sessionStorage.getItem("game_icon0");
    game.load.image('newIcon','game_icon0',data);
    game.add.sprite(0, 0, 'newIcon');
},

当我尝试将其加载到游戏中时,它没有显示在那里。 请帮忙

首先,虽然它可能按原样工作,但最佳实践指出,您应该将资产加载移动到预加载函数中。这可确保它们在使用之前可用。

下一个问题是远程加载图像。如果会话项目已经具有该项目的URL,我认为您应该能够直接加载它。

preload: function () {
    game.load.baseURL = 'http://somthing.com/';
    game.load.crossOrigin = 'anonymous';
    game.load.image('newIcon',sessionStorage.getItem("game_icon0"));
},
create: function () {
    game.add.sprite(0, 0, 'newIcon');
},

以其他方式(例如设置变量或创建对象)处理从会话中获取信息可能是有意义的,具体取决于您需要进行多少次 API 调用。