• 28 Mars 2024, 14:21:04


Auteur Sujet: [Résolu]Les boucles  (Lu 1888 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne ~CG~FatalTerror

  • *
  • Criminel
  • Messages: 41
    • Voir le profil
[Résolu]Les boucles
« le: 21 Septembre 2011, 15:38:30 »
Salut tout le monde!

Voila je fessait un nouveau panel admin très sympas niveau design. Après je m'attaque au code.
Jusque-là la rien de problématique.
Puis pour aller plus vite j'ai voulu créer une fonction qui va créer un bouton a une position précise dans mon menu, 1ere position, 2eme etc...
Mais avant de créer le bouton faut que j'ai les coordonnées de sa position.
J'ai fait plein de calcules mais ... Je suis une catastrophe en maths.
Donc j'ai opté pour la boucle.

Code pour créer le bouton:
function createBouton(text, position)
background_bouton = {}
text_bouton = {}
if text then
local positionBouton = calculPosition(position)
background_bouton[1] = guiCreateStaticImage(4,positionBouton,175,35,"img/input.png",false,menu_panel)
text_bouton[1] = guiCreateLabel(14,positionBouton,175,35,""..text.."",false,menu_panel)
guiLabelSetColor(text_bouton[1],190, 190, 190)
guiLabelSetHorizontalAlign(text_bouton[1],"center",false)
guiSetFont(text_bouton[1],"default-bold-small")
-- Faites pas attention a sa :D return background_bouton[1], text_bouton[1], true
end
end
function calculPosition( position )
local nombreDepart = 5
for k, i in ipairs ( position )do
nombreDepart = nombreDepart+40
end
return nombreDepart
end

La position du bouton 1 doit être 5, bouton 2 45, bouton 3 85 etc... sa ajoute 40 a chaque fois
Mais malheureusement ce code ne marche pas xD

A ce qu'il parait c'est pour les tables... Comment faire une boucle X fois ???

Merci de m'aider please xD
« Modifié: 23 Septembre 2011, 18:33:42 par ~CG~FatalTerror »

Hors ligne Citizen

  • Scripteur LUA confirmé
  • *
  • Messages: 235
    • Voir le profil
    • Byston Evolution
Re : Les boucles
« Réponse #1 le: 22 Septembre 2011, 14:57:23 »
Salut Fatal,
Citer
A ce qu'il parait c'est pour les tables...
Effectivement,
Code: (lua) [Sélectionner]
for k, i in ipairs ( nomDeLaTable) doc'est pour les tables ( si nomDeLaTable contient 7 lignes, la boucle se répétera 7 fois )

Question:
Citer
Comment faire une boucle X fois Huh?

Réponse:
Code: (lua) [Sélectionner]
for k=1, X doC'est aussi simple que ça  :happy

Donc cela nous donne:
Code: (lua) [Sélectionner]
function calculPosition( position )
local nombreDepart = 5
for k=1, position do
nombreDepart = nombreDepart+40
end
return nombreDepart
end

Note1: Je remarque que tu fais tes gui en absolu, Il faut savoir que pour ta résolution ça sera parfait, mais si un autre joueur n'a pas la même résolution, son gui ne vas pas du tout être pareil.
 Je t'invite a tester avec une autre résolution pour voir de quoi je veux parler.

Note2: Ta fonction calculPosition peut être simplifié comme ceci:
Code: (lua) [Sélectionner]
function calculPosition( position )
if not position then return end -- evite le calcul avec position = nil ( = non précisé )
local nombreDepart = 5+(position*40)
return nombreDepart
end

Voila voila et bon scripting  :P

Cordialement,
     Citizen
The rEvolution is coming ...

Hors ligne ~CG~FatalTerror

  • *
  • Criminel
  • Messages: 41
    • Voir le profil
Re : Les boucles
« Réponse #2 le: 23 Septembre 2011, 18:33:13 »
Oh grand merci !  :cheers

Oui j'ai fait attention pour les résolutions  :D