【Defold】ダウンロードしたテクスチャをインスタンス化する

Defold, DEVELOP

外部のリソースをダウンロードしてテクスチャを作成できます。

-- ロード処理完了コールバック
local function on_load_finish(self, id, res)
    -- ステータスコードのチェック。
    if res.status ~= 200 and res.status ~= 304 then 
        print("Unable to get image\n".. res.response)
        return
    end
    -- 画像リソースの作成
    local img = image.load(res.response) 
    if not img then 
        print("Unable to load image: " .. self.texture_url)
        return
    end
    -- アプリで使用できる様、テクスチャの生成
    if gui.new_texture(self.texture_url, img.width, img.height, img.type, img.buffer) then 
        print("LOADED: " .. self.texture_url)
        -- TODO:UIのオブジェクトに設定するなど行う。
    else
        print("Unable to create texture")
    end
end
-- テクスチャのロードリクエスト
local function load_request(self)
	self.texture_url = "https://storage.googleapis.com/defold-examples/random_images/1.png"
	http.request(self.texture_url, "GET", on_load_finish)
end

https://www.defold.com/examples/gui/load_texture/:https://www.defold.com/examples/gui/load_texture/

Posted by kazupon