【Defold】ダウンロードしたテクスチャをインスタンス化する
外部のリソースをダウンロードしてテクスチャを作成できます。
-- ロード処理完了コールバック
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/