jbskateur
01/09/2007, 19h24
Voici un petit tuto pour apprendre son premier programme et comprendre le lua.
Tout d'abord, de quel logiciel avez vous besoin ? :S Vous l'avez déjà ! Un simple éditeur de texte suffit comme le bloc-note sous windows ou encore kate, kwrite... sous linux etc.... mais je vous recommande vivement LUAide qui est très bien.
Un petit programme facultatif est le luaplayer windows qui sert à essayer votre programme sur votre ordinateur que vous pourrez télécharger à cette adresse http://www.luaplayer.org/.
Enfin pour exécuter votre code sur la psp, il vous faudra le luaplayer dispo ici :
http://jbskateur.site.voila.fr/jeu.rar
(pour lancer votre jeu, mettez votre code source nommé script.lua à coté de l'EBOOT), bon passons à la pratique:
Voici pour commencer un code source extrémement simple :
--couleur
bleu=Color.new(0,0,255)
--boucle principale
while true do
screen:print(100,20,"Mon premier programme en LUA",bleu)
screen.waitVblankStart()
screen.flip()
end
le "--" sert a mettre un repère ( ou commentaire) dans votre code source de façon a vous repérer mais ça n'est que facultatif
ensuite nous avons bleu=..... bleu est le nom que je donne a la variable qui vient après le "=" et après ce "=" on définit une couleur, pour celà j'ai fait "Color.new" (et on respecte les majuscules !) qui indique qu'on "fabrique une couleur".
Une couleur sur tous les programme est composée de 3 couleurs de bases plus ou moins nuancées pour obtenir une couleur finale, ces couleurs sont (dans l'ordre) rouge, vert, bleu et les nuances vont de 0 a 255 . Pour du bleu cela sera donc 0,0,255 , pour du vert 0,255,0, pour du rouge 255,0,0 et pour du noir rien 0,0,0 et le blanc, on met tout ! 255,255,255. On passe à la suite ?
Nous arrivons a la boucle principale, c'est la partie visible à l'écran de votre psp.
Pour commencer, vous avez "while true do" , il sert a faire une boucle, explications :
On souhaite afficher "BOUJOUR", sans while true do , "bonjour" ne s'affichera qu'un millième de seconde ! On ne le verrai donc pas, while true do vient pour répéter l'action et donc "boujour" reste affiché.
Maintenant nous arrivons à cette ligne :
screen:print(200,20,"Mon premier programme en LUA",bleu)
cette ligne sert à afficher " Mon premier programme en lua ", vous aurez donc compris que screen:print sert à afficher du texte à l'écran, maintenant après screen:print vous avez (100,20..
Qu'est-ce donc ? Vous avez déjà fait des maths ? Mais oui bien sûr ! Shocked les repère ! 100 c'est les abscisses (x) et 20 les ordonnées (y) cela sert donc à positionnner le texte.
Ensuite pour écrire notre texte, nous le mettrons entre " " puis ensuite nous venons a "bleu" , c'est la couleur qu'aura notre texte ! et ce bleu à été défini plus haut, rappelez-vous le "bleu=Color.new... "
Pour clôturer ce code source on a :
screen.waitVblankStart()
screen.flip()
end
screen.waitVblankStart() veut dire qu'on fini le programme, end sert à fermer le while et screen.flip() sert "écrire" sur l'écran les données qui ont été programmées dans la boucle.
Voila j'espère que ce tuto est clair. Si vous avez des questions, n'hésitez pas.
Tout d'abord, de quel logiciel avez vous besoin ? :S Vous l'avez déjà ! Un simple éditeur de texte suffit comme le bloc-note sous windows ou encore kate, kwrite... sous linux etc.... mais je vous recommande vivement LUAide qui est très bien.
Un petit programme facultatif est le luaplayer windows qui sert à essayer votre programme sur votre ordinateur que vous pourrez télécharger à cette adresse http://www.luaplayer.org/.
Enfin pour exécuter votre code sur la psp, il vous faudra le luaplayer dispo ici :
http://jbskateur.site.voila.fr/jeu.rar
(pour lancer votre jeu, mettez votre code source nommé script.lua à coté de l'EBOOT), bon passons à la pratique:
Voici pour commencer un code source extrémement simple :
--couleur
bleu=Color.new(0,0,255)
--boucle principale
while true do
screen:print(100,20,"Mon premier programme en LUA",bleu)
screen.waitVblankStart()
screen.flip()
end
le "--" sert a mettre un repère ( ou commentaire) dans votre code source de façon a vous repérer mais ça n'est que facultatif
ensuite nous avons bleu=..... bleu est le nom que je donne a la variable qui vient après le "=" et après ce "=" on définit une couleur, pour celà j'ai fait "Color.new" (et on respecte les majuscules !) qui indique qu'on "fabrique une couleur".
Une couleur sur tous les programme est composée de 3 couleurs de bases plus ou moins nuancées pour obtenir une couleur finale, ces couleurs sont (dans l'ordre) rouge, vert, bleu et les nuances vont de 0 a 255 . Pour du bleu cela sera donc 0,0,255 , pour du vert 0,255,0, pour du rouge 255,0,0 et pour du noir rien 0,0,0 et le blanc, on met tout ! 255,255,255. On passe à la suite ?
Nous arrivons a la boucle principale, c'est la partie visible à l'écran de votre psp.
Pour commencer, vous avez "while true do" , il sert a faire une boucle, explications :
On souhaite afficher "BOUJOUR", sans while true do , "bonjour" ne s'affichera qu'un millième de seconde ! On ne le verrai donc pas, while true do vient pour répéter l'action et donc "boujour" reste affiché.
Maintenant nous arrivons à cette ligne :
screen:print(200,20,"Mon premier programme en LUA",bleu)
cette ligne sert à afficher " Mon premier programme en lua ", vous aurez donc compris que screen:print sert à afficher du texte à l'écran, maintenant après screen:print vous avez (100,20..
Qu'est-ce donc ? Vous avez déjà fait des maths ? Mais oui bien sûr ! Shocked les repère ! 100 c'est les abscisses (x) et 20 les ordonnées (y) cela sert donc à positionnner le texte.
Ensuite pour écrire notre texte, nous le mettrons entre " " puis ensuite nous venons a "bleu" , c'est la couleur qu'aura notre texte ! et ce bleu à été défini plus haut, rappelez-vous le "bleu=Color.new... "
Pour clôturer ce code source on a :
screen.waitVblankStart()
screen.flip()
end
screen.waitVblankStart() veut dire qu'on fini le programme, end sert à fermer le while et screen.flip() sert "écrire" sur l'écran les données qui ont été programmées dans la boucle.
Voila j'espère que ce tuto est clair. Si vous avez des questions, n'hésitez pas.