Note: Ceci est la suite d'
un tutoriel que j'ai écris il y a longtemps. Je l'ai retrouvé cette après-midi et j'ai décidé de le poster car il me semble bien écrit. Je vais cependant y apporter quelques corrections.
[PSP]Les couleurs et le texte.
Commençons la programmation avec quelque chose de simple. Nous allons afficher une ligne de texte.
I) Les couleurs
Le texte ne s'affichera pas si nous ne lui avons pas assigné une couleur. Il faut donc créer une couleur avant de l'afficher. Voici le code de base pour appeler une couleur:
- Code:
-
NomDeLaCouleur = Color.new(Rouge,Vert,Bleu)
Cette variable s'insèrera dans la partie Initialisation. Il faut comprendre que
"NomDeLaCouleur" est le nom de votre variable qui représentera une couleur grace à la partie
"Color.new".
Notez bien que chaque espaces et majuscules sont importantes dans un code Lua. Ainsi, le C de Color.new devra toujours être en majuscule sinon vous aurez une erreur. Ce qu'il y as dans
(Rouge,Vert,Bleu) représente le taux de rouge, de vert et de bleu présent dans votre couleur.
Pour mieux vous situez, ouvrez un logiciel de dessin (dans notre cas, il s’agit de paint). Sélectionnez le menu "Couleurs" et "Modifier les couleurs". Cliquez ensuite sur "Définir les couleurs personnalisées" et vous tomberez sur une palette de couleur.
Choisissez une couleur et regarder en bas à droite. Vous obtiendrez les information à propos du taux de Rouge, Vert, Bleu que vous pourrez insérer dans votre Color.new(Rouge,Vert,Bleu). Notez bien vous devez entrer des nombres entre 0 et 255 (0 était transparent et 255 étant fort).
Ainsi donc, si je veux du vert, j'écrirai :
- Code:
-
Vert = Color.new(0,255,0)
J'ai donc mon code couleur qui devra allez dans la partie "initialisation" du code.
II) La boucle conditionnelle
Le texte ne pourra pas s'afficher s’il n'est pas dans une boucle conditionnelle. Voici une boucle conditionnelle simple:
- Code:
-
while true do
[...]
screen.flip()
screen.waitVblankStart()
end
La boucle conditionnelle sépare la partie affichage de la partie initialisation car tout ce que l’on doit afficher à l'écran s'y trouve.
"screen.flip()" va afficher les actions seulement une fraction de seconde.
"while true do" va répété les actions à l'infini tant qu'elle est respecté, c'est à dire tant qu'elle n'arrive pas à
"screen.waitVblankStart()" et
"end" qui vont fermés la boucle.
Toutes les actions se situes entre
"while true do" et
"screen.flip()".
III) Le texte
Voici les 2 codes qui concernent le texte:
- Code:
-
NomDuTexte = "Votre texte ici."
screen:print(PositionX,PositionY,NomDuTexte,NomDeLaCouleur)
"NomDuTexte" est le nom de la variable qui portera le texte. Le texte se trouve dans les guillemets et remplace
Votre texte ici. Ce code va dans l'initialisation.
"screen:print" imprime votre texte à l'écran.
"PositionX" et
"PositionY" indique à quelle position des abscisses et des ordonnées de l'écran sera imprimer votre texte.
"NomDuTexte" contient le nom de la variable qui porte votre texte dans le code précédant.
"NomDeLaCouleur" est simplement le nom de la variable qui porte votre couleur. Ce code va dans la boucle conditionnelle.
Le résultat pour moi est :
- Code:
-
Intro = "Ce tuto est une présentation du CBNA."
screen:print(10,10,Intro,Vert)
Une fois que tout est mis ensemble, mon Code source final pour afficher mon texte à l'écran ressemble donc à :
- Code:
-
Vert = Color.new(0,255,0)
Intro = "Ce tuto est une présentation du CBNA."
while true do
screen:print(10,10,Intro,Vert)
screen.flip()
screen.waitVblankStart()
end
Voici donc la conclusion de notre premier tutorial qui introduit la programmation!