图像已加载

Image Loaded Event 当您在 HTML5 上或通过 URL 将图像加载到 GameMaker 时,会触发此事件。例如,假设您要加载精灵图像,并且仅在加载后将实例的当前精灵更改为新精灵。您将在创建事件 (或任何其他事件) 中拥有类似的内容:

var _url = "http://www.angusgames.com/game/background1.png";
spr = sprite_add(_url, 0, false, false, 0, 0);

这现在将开始将图像加载到设备或浏览器中,但在等待加载文件时不会阻止 GameMaker。相反,GameMaker 将继续正常运行,直到图像被加载并且 回调 触发 图像加载事件 ,其中创建了 DS Map 并将其存储在特殊变量中async_load。地图包含以下信息:

然后,在此事件中将新加载的图像分配给精灵。以下代码示例演示如何使用返回的信息:

if (ds_map_find_value(async_load, "id") == spr)
{
    if (ds_map_find_value(async_load, "status") >= 0)
    {
        sprite_index = spr;
    }
}

上面的代码将首先检查已创建的DS映射的id,然后检查回调的状态。如果值大于或等于0(表示成功),则结果来自然后将使用回调将精灵索引设置为新加载的图像。