Programmer en Lua – Débutant – Cours n°3 : Afficher une image

Vous visitez actuellement un de nos cours pour programmer en Lua. Pour voir la liste des cours disponibles sur le site, cliquez ici.

Vous savez maintenant afficher du texte sur votre PSP, maintenant il va falloir afficher une image. Certains passages que nous avons vu dans le dernier cours ne serons donc pas repris.

Tout d’abord, nous allons ajouter une variable. Une variable permet d’enregistrer des nombres, des strings(voir le deuxième cours) mais aussi enregistrer des valeurs retournés par certaines fonctions. Ici, nous allons utiliser la fonction suivante :

image.load()

Cette fonction ci-dessus permet de charger une image au format .png, .jpg ou bien .gif. Attention, on ne peut pas charger des images supérieur à 512*512 pixels et les animations des images au format .gif ne sont pas supportés.

Pour notre cours nous allons utiliser l’image ci-dessous: faites clique droit, enregistrez sous…, et placez la dans le dossier ou se trouve le script.lua et l’EBOOT.PBP. Nous utilisons une image blanche car il faut savoir que le reste de l’écran sera noir…

logo-psp-cours3 

Vous devriez normalement avoir tous ces fichiers présents dans votre dossier.

lesfichiersluacours3 

Très bien, passons au chose sérieuse, ouvrez donc votre fichier script.lua si cela n’est pas déjà fait et commencez par charger l’image dans la mémoire RAM(mémoire temporaire) de votre PSP.

notreimage = image.load("logo.png")--Chargement de l'image

Maintenant la variable notreimage contient l’image « logo.png ».

Ensuite nous faisons comme dans le deuxième cours, on crée une boucle while true do.

while true do--Début de notre boucle

Puis on affiche  l’image sur l’écran de votre PSP avec la fonction suivante :

image.blit(image,x,y)

Comme avec la fonction d’affichage de texte, nous allons mettre notre variable, puis la position X et Y où nous voulons placer notre image sur l’écran de la PSP. Ce qui donnera :

image.blit(notreimage,100,100)--Affiche l'image

Puis on rafraîchie l’écran et on ferme la boucle.

screen.flip()--Rafraichissement de l'écran
end--Fin de la boucle

Enregistrez votre fichier script.lua et lancer votre programme depuis votre PSP, vous devrez normalement obtenir ceci :

screen-cours3

Code en entier:

notreimage = image.load("logo.png")--Chargement de l'image

while true do--Début de la boucle

image.blit(notreimage,100,100)--Affichage de l'image

screen.flip()--Rafraichissement de l'écran

end--Fin de la boucle

 

Vous pourrez retrouvez dans d’autre section, des usages plus complexes des fonctions liés aux images, n’hésitez pas à y jeter un coup d’oeil si vous avez le niveau adéquate ;)