В вашем main.lua вы должны создать функцию loadAlImages() где вы будете загружать все изображения высокой четкости и spritesheets.
local loadingText = display.newText("LOADING ...", 0, 0, native.systemFont, 24)
myText:setTextColor(255, 255, 255)
local function loadAlImages()
--create all your images here.
--remove LOADING text
end
--if you still see black screen at the start try to increase delay > 500 ms
timer.performWithDelay(500, loadAlImages, 1)
Теперь, если вы хотите, чтобы показать и обновить другой текст с процентом, который вычисляет, сколько ваш следующий экран активы загружены, вы должны создавать изображения, спрайты с .isVisible = ложным и когда они все созданы изменения .isVisible = true. Вы можете поместить код, который обновляет процентный текст после создания некоторых изображений.
local loadingText = display.newText("LOADING ...", 0, 0, native.systemFont, 24)
myText:setTextColor(255, 255, 255)
local function loadAlImages()
--create some images here.
--update text's percentage to 20%
--create some images here.
--update text's percentage to 50%
--create some sprites here.
--update text's percentage to 90%
--change **.isVisible=true** for all your created files but **.alpha=0**
--update text's percentage to 100%
--remove LOADING text
--transition .alpha of all images to 1
end
timer.performWithDelay(500, loadAlImages, 1)
Я думаю, что вы можете поместить все ваши файлы изображений в одной группе дисплея и установить .isVisible = ложный на этой группе. Это сэкономит вам несколько строк кода. То же самое для & alpha; = 0
Есть много способов. Вы можете объявить свои переменные, а затем создать их в функции loadAlImages(), или вы можете поместить их все в таблицу и использовать эту таблицу для получения нужного изображения. Первый пример:
local image
local function loadAlImages()
--create some images here.
image = display.newImageRect("image.png", 100, 100)
image:setReferencePoint(display.CenterReferencePoint)
image.x = display.contentCenterX
image.y = display.contentCenterY
--create some sprites here.
end
Пример с таблицей:
local imagesTable = { }
local function loadAlImages()
--create some images here.
local image = display.newImageRect("image.png", 100, 100)
image:setReferencePoint(display.CenterReferencePoint)
image.x = display.contentCenterX
image.y = display.contentCenterY
imagesTable.image = image
--create some sprites here.
end
Подробнее:
http://lua-users.org/wiki/ScopeTutorial
http://www.coronalabs.com/blog/2011/06/21/understanding-lua-tables-in-corona-sdk/
http://lua-users.org/wiki/TablesTutorial
Должны ли все изображения и спрайты быть локальными? или глобальной? Потому что я хочу использовать некоторые из них с событием «нажмите», чтобы добавить функциональность. – user2347313
Большое спасибо! я голосовал – user2347313