µLua DS - Forum officiel | Official forum Forum Index

µLua DS - Forum officiel | Official forum
Le bon endroit pour en savoir plus sur MicroLua et pour parler de vos projets ! | The right place to learn more about MicroLua and talk about your projects !

 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister   ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Trucs et astuces ~
Goto page: <  1, 2, 3, 4, 5, 6  >
 
Post new topic   Reply to topic    µLua DS - Forum officiel | Official forum Forum Index -> Section française -> Divers -> Autour de µLua
Previous topic :: Next topic  
Author Message
thermo_nono
Modérateur

Offline

Joined: 31 Dec 2008
Posts: 2,415
Localisation: La Géhenne

PostPosted: Sun 26 Jun 2011 - 14:14    Post subject: Trucs et astuces ~ Reply with quote

Excellent le tri à bulles en dansant. (un peu plus long, mais tellement plus fun ^^ )
_________________
“Qui reçoit une idée de moi reçoit de la connaissance sans diminuer la mienne, comme celui qui allume sa chandelle à la mienne reçoit la lumière sans me plonger dans l’obscurité.” - Thomas Jefferson


Back to top
Visit poster’s website MSN
Publicité






PostPosted: Sun 26 Jun 2011 - 14:14    Post subject: Publicité

PublicitéSupprimer les publicités ?
Back to top
Papymouge
Modérateur

Offline

Joined: 10 May 2009
Posts: 693
Localisation: Vittel (88)

PostPosted: Sun 26 Jun 2011 - 14:37    Post subject: Trucs et astuces ~ Reply with quote

Sympas ces petites danses Smile

Sinon oui le table.sort() fonctionne très bien.
_________________
La page de mes projets
L'ancienne page de mes projets


Back to top
Fantasix
Modérateur

Offline

Joined: 26 Apr 2010
Posts: 1,317
Localisation: SCREEN_UP, en -1, -1

PostPosted: Mon 11 Jul 2011 - 14:44    Post subject: Trucs et astuces ~ Reply with quote

Petite astuce pour les nouveaux, permettant d'afficher un texte centré horizontalement à l'écran :

Code:
function screen.centerPrint(scr, y, str, c)
   if not c then c = Color.new(31,31,31) end
   
   screen.print(scr, 128-#str*3, y, str, c)
end


Fanta'
_________________


BMA News :

Création du Homebrew Storage en cours ...


Back to top
Visit poster’s website
Reylak
Administrateur

Offline

Joined: 24 Nov 2008
Posts: 2,838
Localisation: Toulouse

PostPosted: Mon 11 Jul 2011 - 15:27    Post subject: Trucs et astuces ~ Reply with quote

Ajout au post de Fantasix : de mémoire, je crois que l'on peut assigner en quelque sorte une valeur par défaut à c plus rapidement (mais ça sera moins clair pour les nouveaux). A la place de
Code:
if not c then c = Color.new(31, 31, 31) end

On peut faire
Code:
c = c or Color.new(31, 31, 31)

A vrai dire, je suis pas très sûr, je me rappelle plus des détails à ce propos...

Cela dit, cette ligne me semble inutile. En effet, screen.print() propose déjà en couleur par défaut le blanc si l'on ne passe pas d'argument couleur ; autrement dit, si l'argument couleur vaut nil, alors la fonction le remplace par la couleur blanche. Et là je pense que vous voyez où je veux en venir : on n'a pas besoin de donner la couleur blanche ; il suffit de passer l'argument c directement, s'il n'est pas donné, il vaudra nil, donc on affichera en blanc, sinon on affichera dans la couleur donné.
Ce ne sont là aussi que des suppositions pas testées, mais je suis un peu plus sûr de moi qu'au-dessus ^^
_________________


Plein d'infos sur le SourceForge !


Back to top
Visit poster’s website MSN Skype
Fantasix
Modérateur

Offline

Joined: 26 Apr 2010
Posts: 1,317
Localisation: SCREEN_UP, en -1, -1

PostPosted: Mon 11 Jul 2011 - 16:15    Post subject: Trucs et astuces ~ Reply with quote

J'avoue que sur le screen.print ... Pfuuu j'aurais dû y penser xD

Bon allez, code refait :

Code:
function screen.centerPrint(scr, y, str, c)   
   screen.print(scr, 128-#str*3, y, str, c)
end


Pour ton code abrégé, j'vais tester, ça me semble intéressant Very Happy

Edit : Ça fonctionne, bravo ! C'est carrément pas mal ! *-*

Fanta'
_________________


BMA News :

Création du Homebrew Storage en cours ...


Back to top
Visit poster’s website
Reylak
Administrateur

Offline

Joined: 24 Nov 2008
Posts: 2,838
Localisation: Toulouse

PostPosted: Mon 11 Jul 2011 - 17:05    Post subject: Trucs et astuces ~ Reply with quote

Trop de P-P-P-PUISSANCE pour toi Wink *sort*
_________________


Plein d'infos sur le SourceForge !


Back to top
Visit poster’s website MSN Skype
thermo_nono
Modérateur

Offline

Joined: 31 Dec 2008
Posts: 2,415
Localisation: La Géhenne

PostPosted: Thu 21 Jul 2011 - 03:22    Post subject: Trucs et astuces ~ Reply with quote

j'ajoute que si on utilise "screen.printFont()"il est possible de recourir à :
resultat = getStringWidth(font, text)
pour récupérer la taille en pixel du texte.
_________________
“Qui reçoit une idée de moi reçoit de la connaissance sans diminuer la mienne, comme celui qui allume sa chandelle à la mienne reçoit la lumière sans me plonger dans l’obscurité.” - Thomas Jefferson


Back to top
Visit poster’s website MSN
Fantasix
Modérateur

Offline

Joined: 26 Apr 2010
Posts: 1,317
Localisation: SCREEN_UP, en -1, -1

PostPosted: Sun 29 Jan 2012 - 02:45    Post subject: Trucs et astuces ~ Reply with quote

Hop hop, une petite fonction que j'utilise pas mal dans BMA :

Elle permet de remplacer dans une phrase, certains éléments par d'autres qui sont contenus dans un tableau.... Ouai mieux vaut un exemple x_x'

La fonction :
Code:
-- Retourne une chaine de caractère où les {x} ont été remplacés par les valeurs des variables de "args"
function txt_gen(args, s)
         
   for k, v in ipairs(args) do
      s = string.gsub(s, "{"..k.."}", v)
   end
   
   return s
end


Exemple :
Code:
local args = {
         [1] = 5,       -- Dommages
         [2] = 10,         -- % Hémorragie
         [3] = 8,
      }

s = txt_gen(args, "-{1} Pdv Feu \n{2}% : Applique l'état Hémorragie (niv. {3})")

-- s est maintenant égale à : -5 Pdv Feu \n10%: Applique l'état Hémorragie (niv. 8)

Fanta'
_________________


BMA News :

Création du Homebrew Storage en cours ...


Back to top
thermo_nono
Modérateur

Offline

Joined: 31 Dec 2008
Posts: 2,415
Localisation: La Géhenne

PostPosted: Sun 29 Jan 2012 - 03:08    Post subject: Trucs et astuces ~ Reply with quote

ha ça c'est sympa parce que moi, pour faire ce genre de truc, il me fallait des lignes de code de trois kilomètres de long. (concaténation avec les cases d'un tableau)
Okay ... je m'en servirai.
_________________
“Qui reçoit une idée de moi reçoit de la connaissance sans diminuer la mienne, comme celui qui allume sa chandelle à la mienne reçoit la lumière sans me plonger dans l’obscurité.” - Thomas Jefferson


Back to top
Visit poster’s website MSN
Fantasix
Modérateur

Offline

Joined: 26 Apr 2010
Posts: 1,317
Localisation: SCREEN_UP, en -1, -1

PostPosted: Sun 29 Jan 2012 - 14:53    Post subject: Trucs et astuces ~ Reply with quote

Ouai j'avais aussi des méthodes bizarres au début pour faire ça, et du coup j'ai cherché un moyen plus simple x)

Content que ça serve Smile

Fanta'
_________________


BMA News :

Création du Homebrew Storage en cours ...


Back to top
Reylak
Administrateur

Offline

Joined: 24 Nov 2008
Posts: 2,838
Localisation: Toulouse

PostPosted: Sun 29 Jan 2012 - 15:10    Post subject: Trucs et astuces ~ Reply with quote

Oh un sprintf x)
_________________


Plein d'infos sur le SourceForge !


Back to top
Visit poster’s website MSN Skype
Lolman
Modérateur

Offline

Joined: 02 Aug 2011
Posts: 811

PostPosted: Tue 31 Jan 2012 - 19:02    Post subject: Trucs et astuces ~ Reply with quote

Pour revenir sur le
Fanta wrote:
Code:
function screen.centerPrint(scr, y, str, c)   
   screen.print(scr, 128-#str*3, y, str, c)
end

En maniaque, je propose ce code non testé :
Code:
function String:centerX()
  return 128 - #this * 3;
end --on peut aussi faire la fonction pour afficher à partir de la droite

screen.print(SCR, Str:centerX(), y, Str [, col]);

_________________
http://bit.ly/u5x6DZ Fangame et suite du célèbre Metroid Prime 3.
Corvées : header fofo, Homebreware, µPy, new µLib, modes d'emploi, MLS sur DeSmuME, rotation écran, tuto wiki, domination de la Galak-sy.


Last edited by Lolman on Wed 1 Feb 2012 - 13:45; edited 2 times in total
Back to top
Visit poster’s website
Fantasix
Modérateur

Offline

Joined: 26 Apr 2010
Posts: 1,317
Localisation: SCREEN_UP, en -1, -1

PostPosted: Tue 31 Jan 2012 - 22:12    Post subject: Trucs et astuces ~ Reply with quote

Ca marche ce genre de déclaration de fonction ? J'en doute, fort.

Puis bon, faudrait passer le self dans les paramètres, et donc mettre self au lieu de this.

Ah mais wait, de toute façon ... String ? xD

Là j'crois que ça fonctionne encore moins.

Fanta'
_________________


BMA News :

Création du Homebrew Storage en cours ...


Back to top
Reylak
Administrateur

Offline

Joined: 24 Nov 2008
Posts: 2,838
Localisation: Toulouse

PostPosted: Tue 31 Jan 2012 - 22:55    Post subject: Trucs et astuces ~ Reply with quote

Bonjour, je me crois en C++ =D

Nan mais, disons que ça pourrait faire partie d'une classe String :p
Pour les ":", je crois que si la fonction est déclarée comme ça il n'est pas utile de passer "self" en argument, par contre si on la déclare avec le point "." il faut mettre self, et on pourra quand même l'appeler avec ":".
_________________


Plein d'infos sur le SourceForge !


Back to top
Visit poster’s website MSN Skype
Fantasix
Modérateur

Offline

Joined: 26 Apr 2010
Posts: 1,317
Localisation: SCREEN_UP, en -1, -1

PostPosted: Wed 1 Feb 2012 - 00:27    Post subject: Trucs et astuces ~ Reply with quote

Depuis quand on peut déclarer une fonction avec des ":" en Lua ? Fuuuuuu J'ai du rater un épisode, voir deux.

Mais bon, ca reste bizarre étant donné que les méthodes sont sensées êtres déclarées dans l'objet et non en dehors.

"Classe", c'est un peu trop dit comme ça x_x'

Pour moi ça reste de vieux tableaux en Lua. On les utilise à la façon objet, mais c'en est pas vraiment.

Fanta'
_________________


BMA News :

Création du Homebrew Storage en cours ...


Back to top
Display posts from previous:   
Post new topic   Reply to topic    µLua DS - Forum officiel | Official forum Forum Index -> Section française -> Divers -> Autour de µLua All times are GMT + 1 Hour
Goto page: <  1, 2, 3, 4, 5, 6  >
Page 5 of 6

 
Jump to:  

Index | Create a forum | Free support forum | Free forums directory | Report a violation | Cookies | Charte | Conditions générales d'utilisation
Powered by phpBB © 2001, 2005 phpBB Group