Corona SDK вызывает loadRemoteImage с дополнительными параметрами

У меня есть сцена с несколькими изображениями, загруженными удаленно. Я вызываю эти изображения на сцене: show и в их слушателе проверяю, находится ли пользователь на этой сцене, если нет, я просто удаляю event.target.

Моя проблема в том, что пользователь может войти-> выйти-> войти в сцену достаточно быстро, чтобы слушатель мог загрузить и показать изображения с первого входа.

Я хотел бы иметь возможность передавать идентификатор, когда я вызываю loadRemoteImage, чтобы, когда он возвращается в слушатель, я мог проверить, по-прежнему ли он актуален.

Есть идеи?

1 ответ

Решение

Вы можете попробовать обернуть loadRemoteImage в новую функцию, которая переопределяет обратный вызов, как это

function loadRemoteImgWithData(data, url, method, listener, params, destFilename, baseDir, x, y)

    if type(data) ~= "table"  then
        error("first argument must be data table", 2)
    end

    if type(params) ~= "table" then
        y = x
        x = baseDir
        baseDir = destFilename
        destFilename = params
        params = nil
    end

    local function listenerOverride(event)
        event.data = data
        listener(event)
    end

    display.loadRemoteImage( url, method, listenerOverride, params, destFilename, baseDir, x, y )
end
Другие вопросы по тегам