Dans votre main.lua vous devez créer une fonction loadAlImages() où vous allez charger vos images HD et 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)
Maintenant, si vous voulez afficher et mettre à jour un autre texte avec un pourcentage qui calcule la quantité de vos actifs d'écran suivants ont chargé, vous devez créer vos images, sprites avec .isVisible = false et quand ils sont tous créés .isVisible = true. Vous pouvez mettre du code qui met à jour le pourcentage de texte après avoir créé certaines images.
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)
Je pense que vous pouvez mettre tous vos fichiers images dans un groupe d'affichage et définissez .isVisible = false sur ce groupe. Cela vous permettra d'économiser quelques lignes de code. La même chose pour .alpha = 0
Il y a plusieurs façons. Vous pouvez déclarer vos variables, puis les créer dans la fonction loadAlImages() ou vous pouvez les placer toutes dans une table et utiliser cette table pour obtenir l'image que vous voulez. Le premier exemple:
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
Exemple avec la table:
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
Plus d'infos:
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
Est-ce que toutes les images et les sprites doivent être locaux? ou mondial? Parce que je veux utiliser certains d'entre eux avec un événement "tap" pour ajouter des fonctionnalités. – user2347313
Merci beaucoup! j'ai voté – user2347313