Topic Général Sur Le Lua


zouzzz
 Share

Messages recommandés

Salut,

J'ai décidé de créer un topic sur la programmation LUA pour que les membres qui développent, modifient... des homebrews appli ou jeu à partir de ce type de langage puissent s'entre-aider. Personnellement, je suis novice.

Pour ceux qui veulent se lancer dans la programmation LUA, vous trouverez dans les liens ci-dessous des tutos, en anglais certes mais accéssibles. Ces derniers sont plutôt bien faits et d'autres devraient s'y ajouter.

Ici pour les tutoriaux LUA : réalisés par la Team Pspmillionare

Sinon ya ceux-là aussi : réalisés par ps2dev.org.

"Programmer en Lua (1) : Les fondamentaux" en français par Jean-Marc de PSP'nGO.

Cours de programmation LUA en français par benja32

Le manuel du LUA 5.0 : Manuel "officiel"

Un tutorial de Luaplayerwindows : Tutorial luaplayerwindows.

En bref : des questions, des réactions, des lignes de codes, des scripts... en langage LUA c'est ici.

Modifié par zouzzz
Lien vers le commentaire
Partager sur d'autres sites

  • Réponses 152
  • Created
  • Dernière réponse

Top Posters In This Topic

salut, je suis programmeur lua depuis 10 h00 XD .

pour l'instant je suis sur un jeu de strategie qui avance pas mal ;)

si je peux avoir de l'aide comme un designer ou un codeur pk pas ^^.

mes competences : php, javascrit, actionscript 1 et 2 ( c du flash ), c, basic, et le language preferer des prepa le mapple ( je c sa sert a rien )

je connais adobe photoshop .

Lien vers le commentaire
Partager sur d'autres sites

XD trop bon la psp ^^ la vitesse de calcul fait plaisir!

bon le jeux est quasiment achevé, enfin la partie code, il reste plus qu'a mettre des niveaux etc...

donc c'est plutot un designer que je recherche pour l'instant.

et sinon voici une question :

est ce qu'on peut proteger notre code ?

genre compiler le lua ? c'est possible ? merci ^^

Lien vers le commentaire
Partager sur d'autres sites

est ce qu'on peut proteger notre code ?

genre compiler le lua ? c'est possible ? merci ^^

Non, je ne crois pas (j'en suis quasi sur même).

J'en profite pour mettre des screenshots de mon futur homebrew "Blork and Destroy" :

screenshot0.png

screenshot2.png

---------------------

Les screenshots sont réalisés avec ces lignes de codes :

A l'initialisation entrez :

sccnt=0

Puis dans la répartition des touches, entrer le code :

	if pad:select() then		screen:save("screenshot/screen"..sccnt..".png")		sccnt=sccnt+1	end

(remplacez select par la touche voulue)

(donnez la direction que vous voulez...)

En résumé : les screenshot seront pris à chaque pression de la touche select (pour l'exemple) et seront stockés dans le dossier screenshot et s'appelleront succéssivement screen0, puis screen1, screen2...

Modifié par zouzzz
Lien vers le commentaire
Partager sur d'autres sites

salut

Le gros desavantage par rapport a vous c'est que je suis en 2.60 donc je ne peux tester mes essais en LUA

bon après quelques recherches infructueuses, je me decide de faire appel à vous pour quelques trucs :

Afficher une image durant un temps donné (environ 3 secondes), je pensais mettre ceci :

>>> pour afficher une image <<<

pad = Controls.read()

if pad:square() then

picture = Image.load (picture.bmp)

end

mais je ne sais pas ou et comment insérer la ligne du temps, je pensais à inserer cette ligne :

Timer Timer.new(3000)

Afficher le pourcentage restant de la batterie en haut a droite de l'écran, je pensais mettre ceci mais je n'ai pas trop de piste :

System.powerGetBatteryLifePercent() et je suis sur que cela ne suffit pas

JE REPETE QUE JE NE PEUX TESTER MES MINI CREATIONS, JE SUIS EN 2.60 :wacko:

j'ai une idée de programme débile certains diront et tres peu utile mais cela me permet de me familiariser avec le code LUA, je débute également

c'est un player de .wav :marteau:

en esperant qu'un jour LUA PLAYER MARCHERA SUR 2.60

chinese

Lien vers le commentaire
Partager sur d'autres sites

Utilise la fonction delay :

function delay(seconds)	time=seconds*60	for i=1, time do		screen.waitVblankStart()	end

Puis place delay où tu le desires :

screen:blit(moumoute1er)screen:print(175,160,"Votre score :", red)screen:print(285,160,score, green)screen.flip()delay(8)

Je traquis le code : "affiche l'image nommé moumoute1er, sur cette image écrire "Votre score" en rouge (couleur définie précédement dans l'initialisation) au point X=175 et Y=160 et insrire le score en vert (couleur définie précédement dans l'initialisation) au point X=285 et Y=160. Le tout pour une durée de 8 secondes.

Lien vers le commentaire
Partager sur d'autres sites

re tout d'abord merci ouasse pour le lien

mais je n'arrive pas a le faire fonctionner depuis l'invite de commandes

voici ce que j'obtiens

la fenetre LUA s'affiche puis se ferme sans rien me montrer et me balance ce message

sanstitre1sl.png

je ne comprends pas pourquoi, j'utilise Windows XP Pro et le chemin que je donne est bon

merci chinese

Lien vers le commentaire
Partager sur d'autres sites

mais je n'arrive pas a le faire fonctionner depuis l'invite de commandes

voici ce que j'obtiens

la fenetre LUA s'affiche puis se ferme sans rien me montrer et me balance ce message

dans le menu démarrer tu cliques sur executer...

tu tapes : cmd

tu valides ...

là il t'ouvre une fenetre dos ...

tu vas dans ton repertoire ou luaplayer est installer ...

ensuite tu tapes: luaplayer test.lua

et là ce se lance ...

Lien vers le commentaire
Partager sur d'autres sites

je viens de le refaire

il se lance

attends un peu

et se ferme

je ne comprends pas pourquoi :huh:

chinese

PS : peux tu me faire un screen, si tu l'utilises je me trompe peut etre en tappant <_< mais je ne vois pas ou alors :(

chinese

EDIT : l'exemple fourni dans le zip nommé test.lua fonctionne tres bien je pense que cela vient donc de mon code

Et d'ailleurs que se passe t'il lorsque le code est mauvais, la fenetre ne se fermerait t'elle pas toute seule sans rien n'afficher ???

chinese

Lien vers le commentaire
Partager sur d'autres sites

slt

bon après quelques recherches et à partir de vos aides, j'ai confectionné un début de code qui ne sert à rien mais permet de se familiariser plus ou moins avec le LUA, il y a surement pas mal d'incohérences et d'erreurs, c'est pour cela que je publie ce que j'ai fait, afin que je le finisse grace à votre aide. Il est bientot fini je pense.

My first LUA ProgramAuthor : 80Y.frSystem.usbDiskModeActivate()background = Image.load("background.png")	// arrière planscreen:blit(0,0,background)screen.flip()bootsound = Sound.load(”bootsound.wav”)bootsound:play()function delay(seconds)	time=seconds*60	for i=1, time do		screen.waitVblankStart()	endgreen = Color.new(0, 255, 0)screen : print(100, 50,"I just wanna tell you Hello World",green)screen : print(50, 75,"Press X to Exit",green)screen : print(50, 100,"Press [] to display picture",green)screen : print(50, 125,"Press O to take a screenshot",green)screen.flip()while true doscreen:clear()pad = Controls.read()if pad:square() then	// affichage image		picture = Image.load ("picture.png")	enddelay(4)if pad:circle() then	// faire un screenshot		screen:save("screenshot/new"..sccnt..".png")		sccnt=sccnt+1	endif pad:cross() then		// Quitter		break	end	while true do	screen.waitVblankStart()end

Sinon je cherche autre chose que je n'ai pas trouvé :

lorsque que l'on veut afficher quelque chose on donn des coordonnées, j'aurais donc voulu savoir quel était le minimum et maximum en hauteur et largeur

chinese

Lien vers le commentaire
Partager sur d'autres sites

Sinon je cherche autre chose que je n'ai pas trouvé :

lorsque que l'on veut afficher quelque chose on donn des coordonnées, j'aurais donc voulu savoir quel était le minimum et maximum en hauteur et largeur

chinese

En longueur : 0 mini, 420 maxi, tu peux mettre plus mais ça n'apparaitra pas à l'écran

En largueur : 0 mini, 272 maxi, tu peux mettre plus mais ça n'apparaitra pas à l'écran

Modifié par zouzzz
Lien vers le commentaire
Partager sur d'autres sites

slt zouzzz :)

merci pour les coordonnées

Que penses tu de mon code ? :fouf:

Voudrais tu m'aider un peu, voir si ya des trucs qui clochent ?

chinese

Je ne vais pas pouvoir regarder ton code et t'aider avant lundi soir (peut etre dimanche en fin de soirée)... désolé, aujourd'hui c'est le jour de la miss d'avoir la psp, l'ordi et tout le bins de plus ce week end je suis pas là.

Lien vers le commentaire
Partager sur d'autres sites

je viens de le refaire

il se lance

attends un peu

et se ferme

je ne comprends pas pourquoi :huh:

chinese

PS : peux tu me faire un screen, si tu l'utilises je me trompe peut etre en tappant <_< mais je ne vois pas ou alors :(

chinese

EDIT : l'exemple fourni dans le zip nommé test.lua fonctionne tres bien je pense que cela vient donc de mon code

Et d'ailleurs que se passe t'il lorsque le code est mauvais, la fenetre ne se fermerait t'elle pas toute seule sans rien n'afficher ???

chinese

J'ai fait un petit tuto pour cette appli : http://gueux-forum.net/index.php?s=&showto...ndpost&p=673804

Modifié par zouzzz
Lien vers le commentaire
Partager sur d'autres sites

Salut,

8OY si le code que tu as écrit est exactement le même que tu as exécuté c'est normal.

En lua les commentaires sont avec " -- " et pas "//"

Et je crois qu'il manque un "end" pour un boucle while.

Ensuite je te conseille de recopier l'exécutable du test.lua fournie avec LPW et de [clic D] -> Modifier

et là à la place de test.lua tu dois écrire le noim de ton prog. Ensuite tu exécute direct !

Modifié par Nems
Lien vers le commentaire
Partager sur d'autres sites

Voila g matter un peu ton code 8oy et j'ai fait quelques modif :

==================================================

--My first LUA Program

--Author : 80Y.fr

System.usbDiskModeActivate()

background = Image.createEmpty(480, 272) --arrière plan (!!vierge pour les test!!)

green = Color.new(0, 255, 0)

Music.playFile("sound.xm", true) -- fonction play (on peut aussi rajouter la gestion de la zic)

screen : print(100, 50,"I just wanna tell you Hello World",green)

screen : print(50, 75,"Press X to Exit",green)

screen : print(50, 100,"Press [] to display picture",green)

screen : print(50, 125,"Press O to take a screenshot",green)

screen.flip()

function delay(seconds)

time=seconds*60

for i=1, time do

screen.waitVblankStart()

end

while true do

screen:clear()

pad = Controls.read()

end

if pad:square() then -- affichage image

picture = Image.load ("picture.png")

end

delay(4)

if pad:circle() then -- faire un screenshot

screen:save("screenshot/new"..sccnt..".png")

sccnt=sccnt+1

end

screen.waitVblankStart()

screen.flip()

screen:clear()

end

======================================================

-> Apres quelques modif il fonctionne sous lua0.16 avec ma PSP1.5, seulement g comme mon log a moi un Bug chelou : le prog s'active impecable, le text ou la zic se lance, mais le prog s'éteind subitement...(en gros il dure même pas 1s!!) je dois avoir mal codé quelques part... :shuriken:

Lien vers le commentaire
Partager sur d'autres sites

re c'est encore moi

est ce que quelqu'un peut me dire pourquoi mon code ne marche pas sous le lecteur lua windows, je ne comprends pas :huh:

Y a t il une erreur ? SVP dites moi je ne peux tester sur ma PSP elle est en 2.60 ^_^

-- My first LUA Program-- Author : 80Y.frSystem.usbDiskModeActivate()background = Image.createEmpty(480, 272) --arrière plan (!!vierge pour les test!!)Music.playFile("bootsound.wav", true) -- fonction play (on peut aussi rajouter la gestion de la zic)green = Color.new(0, 255, 0)screen : print(100, 50,"I just wanna tell you Hello World",green)screen : print(50, 75,"Press X to exit",green)screen : print(50, 100,"Press [] to display picture",green)screen : print(50, 125,"Press O to take a screenshot",green)screen.flip()function delay(seconds) --fonction delaytime=seconds*60for i=1, time doscreen.waitVblankStart()endwhile true doscreen:clear()pad = Controls.read()endif pad:square() then -- affichage image		picture = Image.load ("picture.png")	enddelay(4)if pad:circle() then -- faire un screenshot		screen:save("screenshot/new"..sccnt..".png")		sccnt=sccnt+1	end	if pad:cross() then -- Quitter		break	endscreen.waitVblankStart()screen.flip()screen:clear()end

zouzzz j'ai suivi ton tuto

Modifié par 80Y
Lien vers le commentaire
Partager sur d'autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
 Share

Annonces