µLua DS - Forum officiel | Official forum Index du Forum

µ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   RechercherRechercher   MembresMembres   GroupesGroupes   S’enregistrerS’enregistrer   ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 

Fonctions supplémentaires sur les Canvas, Images, etc...
Aller à la page: 1, 2, 3  >
 
Poster un nouveau sujet   Répondre au sujet    µLua DS - Forum officiel | Official forum Index du Forum -> Section française -> Suggestions
Sujet précédent :: Sujet suivant  
Auteur Message
Fantasix
Modérateur

Hors ligne

Inscrit le: 26 Avr 2010
Messages: 1 317
Localisation: SCREEN_UP, en -1, -1

MessagePosté le: Ven 13 Avr 2012 - 18:02    Sujet du message: Fonctions supplémentaires sur les Canvas, Images, etc... Répondre en citant

Plop plop !

Serait-ce possible de rajouter un tableau directement dans les variables Image, Canvas, ou autre, permettant de lister les Canvas générés ?

Genre à chaque fois qu'on fait un Image.load, une entrée est ajoutée dans ce tableau, pointant vers l'image créée.

Ça permettrait de faciliter par la suite le vidage de mémoire, en parcourant tout simplement le tableau Image.liste (Par exemple).

Bon bien sur, faudrait gérer le cas où lorsque l'on fait un Image.destroy, l'image soit aussi supprimée de la fameuse liste.

Actuellement, je gère la chose en Lua (comme je l'avais montré avec Image.class.lua que j'avais posté j'sais-plus-où), mais ce serait cool de pouvoir en faire un cas général.

PS : Y'a Lua et sa variable _G, mais c'est un gros foutoir x)

Fanta'
_________________


BMA News :

Création du Homebrew Storage en cours ...


Revenir en haut
Visiter le site web du posteur
Publicité






MessagePosté le: Ven 13 Avr 2012 - 18:02    Sujet du message: Publicité

PublicitéSupprimer les publicités ?
Revenir en haut
thermo_nono
Modérateur

Hors ligne

Inscrit le: 31 Déc 2008
Messages: 2 415
Localisation: La Géhenne

MessagePosté le: Ven 13 Avr 2012 - 19:04    Sujet du message: Fonctions supplémentaires sur les Canvas, Images, etc... Répondre en citant

Si j'ai bien compris comment était structuré µlua, toutes les images chargées sont déja dans un tableau, ce qu'il faudrait, c'est juste une liste de "pointeurs" qui pointe vers les images en question. (et j'approuve cette idée car ça permettrait de simplifier la liste des "destroy(machin) et machin = nil" en fin de script ; partie du prog que j'ai tendance à négliger.)
_________________
“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


Revenir en haut
Visiter le site web du posteur MSN
Reylak
Administrateur

Hors ligne

Inscrit le: 24 Nov 2008
Messages: 2 838
Localisation: Toulouse

MessagePosté le: Ven 13 Avr 2012 - 23:13    Sujet du message: Fonctions supplémentaires sur les Canvas, Images, etc... Répondre en citant

Quand Papymouge a bossé là dessus il a fait quelque chose comme ça je crois non ? (en C en tout cas, je sais pas si c'est accessible en Lua).
_________________


Plein d'infos sur le SourceForge !


Revenir en haut
Visiter le site web du posteur MSN Skype
Fantasix
Modérateur

Hors ligne

Inscrit le: 26 Avr 2010
Messages: 1 317
Localisation: SCREEN_UP, en -1, -1

MessagePosté le: Ven 13 Avr 2012 - 23:41    Sujet du message: Fonctions supplémentaires sur les Canvas, Images, etc... Répondre en citant

Beh, ça sert à quoi si c'est pas accessible ?

C'est encore en cours ?

Fanta'
_________________


BMA News :

Création du Homebrew Storage en cours ...


Revenir en haut
Visiter le site web du posteur
Reylak
Administrateur

Hors ligne

Inscrit le: 24 Nov 2008
Messages: 2 838
Localisation: Toulouse

MessagePosté le: Sam 14 Avr 2012 - 10:12    Sujet du message: Fonctions supplémentaires sur les Canvas, Images, etc... Répondre en citant

Ça servait juste à aider au déchargement de toutes les images depuis le C. Encore une fois je suis même pas sûr qu'il ai fait comme ça, je me rappelle juste que quelqu'un avait émis cette idée.

A savoir si c'est encore en cours, et bien normalement non puisque le déchargement des images se fait bien maintenant. Mais rendre cette table accessible en Lua ne devrait pas être bien dur.
_________________


Plein d'infos sur le SourceForge !


Revenir en haut
Visiter le site web du posteur MSN Skype
Papymouge
Modérateur

Hors ligne

Inscrit le: 10 Mai 2009
Messages: 693
Localisation: Vittel (88)

MessagePosté le: Sam 14 Avr 2012 - 11:57    Sujet du message: Fonctions supplémentaires sur les Canvas, Images, etc... Répondre en citant

Après avoir dépieuté le code source des images, je peut affirmer que les images ne sont pas enregistrées, tout est retourné à Lua.
Mais rien n'interdit de modifier le code pour faire une sauvegarde des images. mais dans ce cas là, il va falloir bien réfléchir car la DS est limitée en mémoire et ce serait dommage de faire des doublons d'objet surtout d'images (objet le plus lourd avec le son) .
_________________
La page de mes projets
L'ancienne page de mes projets


Revenir en haut
Fantasix
Modérateur

Hors ligne

Inscrit le: 26 Avr 2010
Messages: 1 317
Localisation: SCREEN_UP, en -1, -1

MessagePosté le: Sam 14 Avr 2012 - 12:03    Sujet du message: Fonctions supplémentaires sur les Canvas, Images, etc... Répondre en citant

Pas possible de retourner un pointeur ? Enfin l'adresse de l'image quoi.

Fanta'
_________________


BMA News :

Création du Homebrew Storage en cours ...


Revenir en haut
Visiter le site web du posteur
Reylak
Administrateur

Hors ligne

Inscrit le: 24 Nov 2008
Messages: 2 838
Localisation: Toulouse

MessagePosté le: Sam 14 Avr 2012 - 12:22    Sujet du message: Fonctions supplémentaires sur les Canvas, Images, etc... Répondre en citant

Ce que veut Fanta c'est une référence vers l'objet image ; autrement dit, un userdata du pointeur vers la ressource en C.
_________________


Plein d'infos sur le SourceForge !


Revenir en haut
Visiter le site web du posteur MSN Skype
Papymouge
Modérateur

Hors ligne

Inscrit le: 10 Mai 2009
Messages: 693
Localisation: Vittel (88)

MessagePosté le: Sam 14 Avr 2012 - 12:26    Sujet du message: Fonctions supplémentaires sur les Canvas, Images, etc... Répondre en citant

C'est justement ça qui est envoyé à Lua. Very Happy

La fonction Image.load retourne :
Code:



lua_pushlightuserdata(L, img);




donc tu as bien le pointeur vers l'image dans les pattes. Wink

[EDIT] Je croyais qu'il voulait une fonction C appelable depuis µLua qui détruit toutes les images chargées et restante en mémoire.
_________________
La page de mes projets
L'ancienne page de mes projets


Revenir en haut
Fantasix
Modérateur

Hors ligne

Inscrit le: 26 Avr 2010
Messages: 1 317
Localisation: SCREEN_UP, en -1, -1

MessagePosté le: Sam 14 Avr 2012 - 13:09    Sujet du message: Fonctions supplémentaires sur les Canvas, Images, etc... Répondre en citant

Hum, donc si tu renvoie une référence, c'est que cet Image est quelque part non ?

Y'a pas moyen de rassembler toutes les images dans un même array, et avec accès à cet array en Lua ?

Ca permettrait donc de faire une boucle for sur cet array et de faire les opérations que l'on souhaite sur toutes les images chargées (En l’occurrence, les destroy Very Happy)

Fanta'
_________________


BMA News :

Création du Homebrew Storage en cours ...


Revenir en haut
Visiter le site web du posteur
Papymouge
Modérateur

Hors ligne

Inscrit le: 10 Mai 2009
Messages: 693
Localisation: Vittel (88)

MessagePosté le: Sam 14 Avr 2012 - 16:08    Sujet du message: Fonctions supplémentaires sur les Canvas, Images, etc... Répondre en citant

Si si y a moyen, je vais étudier la meilleur façon de faire ça. Si c'est juste pour le destroy, je peut  laisser le tableau accessible juste pour le code C est ajouter un truc à la fonction Image.destroy() pour qu'elle vide tout toute seul. Comme cela d'ailleurs en cas de plantage de script, il y aura toujours moyen de vider les images de la mémoire sans redémarrer la DS.
_________________
La page de mes projets
L'ancienne page de mes projets


Revenir en haut
thermo_nono
Modérateur

Hors ligne

Inscrit le: 31 Déc 2008
Messages: 2 415
Localisation: La Géhenne

MessagePosté le: Sam 14 Avr 2012 - 16:50    Sujet du message: Fonctions supplémentaires sur les Canvas, Images, etc... Répondre en citant

Si je puis m’immiscer dans cette discu... je pense qu'un simple accès aux images suffirait et permettrait par exemple de changer la tinte de toutes les images d'un coup pour faire un fondu au noir (ce n'est qu'un exemple parmi tout un tas de possibilités). 
Du coup, je crois qu'il serait préférable de ne retourner qu'une liste de toutes les images chargées. 


_________________
“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


Revenir en haut
Visiter le site web du posteur MSN
Fantasix
Modérateur

Hors ligne

Inscrit le: 26 Avr 2010
Messages: 1 317
Localisation: SCREEN_UP, en -1, -1

MessagePosté le: Sam 14 Avr 2012 - 16:59    Sujet du message: Fonctions supplémentaires sur les Canvas, Images, etc... Répondre en citant

Oui j'serais aussi plus d'avis pour une liste que pour une fonction spéciale juste pour le destroy.

Fanta'
_________________


BMA News :

Création du Homebrew Storage en cours ...


Revenir en haut
Visiter le site web du posteur
Lolman
Modérateur

Hors ligne

Inscrit le: 02 Aoû 2011
Messages: 811

MessagePosté le: Sam 14 Avr 2012 - 21:51    Sujet du message: Fonctions supplémentaires sur les Canvas, Images, etc... Répondre en citant

Autre solution : mettre tout le code dans un bloc et déclarer les images comme locales, ce qui permet leur destruction automatique.
_________________
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.


Revenir en haut
Visiter le site web du posteur
thermo_nono
Modérateur

Hors ligne

Inscrit le: 31 Déc 2008
Messages: 2 415
Localisation: La Géhenne

MessagePosté le: Dim 15 Avr 2012 - 02:12    Sujet du message: Fonctions supplémentaires sur les Canvas, Images, etc... Répondre en citant

Je dois dire que l'idée de ne plus se soucier du déchargement de la mémoire me plait bien (je suis un peu fainéant des fois). ça simplifierait grandement la rédaction des scripts et ça viderait complètement la mémoire (même de petites variables abandonnées qui n'ont servi que pour une boucle et que l'on peut avoir tendance à oublier ^^ ). 
Mais bon.. ce sont deux propositions différentes qui ont chacune leur utilité : L'idée de Fanta permet de faire d'autres choses que les "destroy" (modifications des attributs de toutes les images d'un coup), celle de Lolman fait gagner du temps (et de l'énergie) au développeur et permet un nettoyage radical de la mémoire. (en plus, sans l'idée de Lolman, j'imagine qu'il doit y avoir moyen de tripatouiller dans les variables du shell depuis un script,  Evil or Very Mad ce qui est mal. Evil or Very Mad )




_________________
“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


Revenir en haut
Visiter le site web du posteur MSN
Contenu Sponsorisé






MessagePosté le: Aujourd’hui à 10:25    Sujet du message: Fonctions supplémentaires sur les Canvas, Images, etc...

Revenir en haut
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    µLua DS - Forum officiel | Official forum Index du Forum -> Section française -> Suggestions Toutes les heures sont au format GMT + 1 Heure
Aller à la page: 1, 2, 3  >
Page 1 sur 3

 
Sauter vers:  

Index | Creer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com