PDA

Voir la version complète : [PSP][Tutorial] LUA, les bases partie 1


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.

Bobby Sixkilla
01/09/2007, 19h33
Excellent! :)

jbskateur
01/09/2007, 19h36
:) Comme j'ai viens de finir les bases, je ferai surement les mouvement dans pas longtemps et à venir la gestion des sprites etc...

Ass-Itch
01/09/2007, 19h42
Félicitations pour l'initiative, ça fera sûrement des heureux ;)
Si tu ne l'a pas envisagé, des screens seraient peut-être les bienvenus pour les parties plus complexes. Et j'ai au passage corrigé quelques fautes d'ortographes ^^

jbskateur
01/09/2007, 19h44
lol merci pour la correction, sinon pour les screens.... je fais les tuto comme ca sur le moment sans me servir de ma psp, mais pour l'instant il n'y a rien de complexe, j'en ferai pour les tutos complexes ;)

Tembargo
01/09/2007, 20h00
Très très bonne initiative :D
C'est bien présenté, ça peut motiver certaines personnes ;D !

heaveN.
02/09/2007, 13h15
Bon courage pour la suite et bravo pour tout ce que tu nous offres :)

adrientoub
25/12/2007, 23h51
J'ai une question le "EBOOT.PBP" est compatible avec quelles PSP ? Les slims & lite ou les standard ?
Voila sinon très bon tuto !

Solevis
26/12/2007, 12h06
Psp Phat je pense.

Rhav
17/04/2008, 16h37
:)Très bon tuto pour débuter en Lua !

Cependant une question me turlupine: Peut on executer un programme lua sur une psp slim avec un firmware officielle ??:hum:

Bobby Sixkilla
17/04/2008, 21h43
Avec le firmware officiel 1.5, oui. Au delà, non. Il faut alors un "Custom firmware". ^^