Nella tua main.lua si dovrebbe creare una funzione loadAlImages() dove potrete caricare tutte le immagini HD e 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)
Ora, se si desidera visualizzare e aggiornare un altro testo con una percentuale che calcola quanto il vostro patrimonio schermata successiva hanno caricato è necessario creare le immagini, sprite con .isVisible = false e quando vengono creati tutti i cambiamenti .isVisible = true. È possibile inserire del codice che aggiorna il testo percentuale dopo aver creato alcune immagini.
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)
penso che si può mettere tutti i file immagini in un unico gruppo di visualizzazione e impostare .isVisible = false su questo gruppo. Questo ti farà risparmiare alcune righe di codice. Lo stesso vale per alfa = 0
Ci sono molti modi. Puoi dichiarare le tue variabili e poi crearle nella funzione loadAlImages() oppure puoi metterle tutte in una tabella e usare quella tabella per ottenere l'immagine che desideri. Il primo esempio:
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
Esempio con la tavola:
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
Maggiori informazioni:
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
Tutte le immagini e gli sprite dovrebbero essere locali? o globale? Perché voglio usarne alcuni con un evento "tap" per aggiungere funzionalità. – user2347313
Grazie mille! ho votato – user2347313