Salut Marc, c'est la piste pour laquelle j'ai opté finalement...Merci à tous. Et si je trouve une autre solution, je vous tiens au courant.
Ejoe On 28 nov, 14:41, Loyat Marc <marc.lo...@gmail.com> wrote: > Hello, > > alors, tu ne pourras pas "écraser" ou modifier la classe TextField en as3 > comme il était possible de le faire avec des classes as1 et sa légendaire > souplesse digne des plus grand contorsionnistes ! > Ce que tu peux faire en revanche s'il faut que tu appliques qqc à tous > champs textes créés dans l'IDE, c'est créer un écouteur sur tous les ajouts > (ADDED_TO_STAGE) en capture qui te permettra de tester si tu as à faire > avec un champ texte ou non et de faire la modif ad-hoc > > a+ > > Marc > > 2011/11/28 Ejoe <ekork...@noos.fr> > > > > > > > > > Salut YopSolo! > > Je suis assez d'accord avec toi, mais dans mon cas, j'ai besoin > > d'avoir un comportement particulier pour tous les champs de textes. Y > > compris ceux créé avec l'IDE. Ma seule solution est d'overrider, il me > > semble le constructeur de la classe native TextField... > > Pour info, je n'est pas la main sur les champs de texte créé via > > l'IDE. La seule chose que je peux faire est d'importer des classes > > dans mon fla. > > > Ejoe > > > On 27 nov, 13:52, YopSolo <christophe.bes...@free.fr> wrote: > > > Salut, > > > > Changer le proto des objets natifs (as1, js), c'est pratique mais il y > > > a des effets pervers au niveau des perfs (conso mémoire, vitesse > > > d'exec) car tous les objets vont hérité des methodes même si ils n'en > > > ont pas besoin. > > > > En as3 tu peux appliquer ton code spécifique uniquement là ou cela est > > > nécessaire via l'héritage. > > > > en pratique cela donne ça : > > > > // fichier MyTextfield.as à la racine de ton projet > > > package > > > { > > > import flash.text.TextField; > > > > public class MyTextfield extends TextField > > > { > > > > public function MyTextfield() // ton constructeur de > > classe > > > { > > > trace("mon code spécifique"); > > > } > > > > } > > > > } > > > > // dans Main.as > > > > var customTextField:MyTextfield = new MyTextfield(); // ton objet > > > custom > > > var nativeTextField:TextField = new TextField(); // l'objet natif > > > > dans ta console tu auras 1 seul trace : "mon code spécifique" > > > > On 25 nov, 14:55, Ejoe <ekork...@noos.fr> wrote: > > > > > Salut EKA! > > > > Quelle coïncidence, j'avais lu ton article sur les prototypes et > > > > l'overriding. Très bien fichu. Mais apparemment je dois pas être futé > > > > car malgré çà je tourne en boucle: > > > > Effectivement le override est de trop et je ne peux pas utiliser le > > > > nom de la superclasse, mais il y a un truc que je ne pige pas. > > > > Shématiquement, j'imaginais qu'il fallait recopier la classe quelque > > > > part, écraser la classe TextField par une nouvelle en créant un > > > > nouveau constructeur, et réassocier tout le prototypage de la classe > > > > originale (qui se trouve contenu sous un autre nom) sur la nouvelle > > > > classe TextField que je viens de créer. çà c'était en AS1. J'ai bien > > > > compris qu'il y avait maintenant 2 formes de déclarations (traits et > > > > prototype), et que çà ne se passe plus exactement comme avant. Mais > > > > dans tous les cas, le compiler est moins permissif qu'avant > > > > quelquesoit mon approche il m'envoit ch?!#!r. > > > > Ma question est : est ce que schématiquement çà fonctionne comme je > > > > viens de le décrire plus haut (avec des aménagements), ou l'overriding > > > > des classes natives n'est plus du tout permises dans les mêmes > > > > conditions? > > > > > Ejoe > > > > > On 25 nov, 12:54, ekameleon <ekamel...@gmail.com> wrote: > > > > > > Hello :) > > > > > > Une fonction constructeur en AS2 ou AS3 doit avoir le nom de la > > classe et > > > > > c'est tout! > > > > > > En aucun cas elle doit avoir le mot clé override et surtout le nom > > de la > > > > > superclasse. > > > > > > Lis bien la doc de l'AS3 au sujet de l'héritage des classes avec le > > mot clé > > > > > super etc. > > > > > > EKA+ :) > > > > > > Le vendredi 25 novembre 2011, Ejoe <ekork...@noos.fr> a écrit :> > > Bonjour à tous, > > > > > > > il fut une époque (bien lointaine), où j'avais posté un problème > > (en > > > > > > AS1), sur ce groupe. Entre temps, j'ai arrêté de coder, et je m'y > > > > > > remet (je fais le grand écart entre AS1 et AS3)... > > > > > > Enfin voilà, il s'agissait à l'époque de surcharger le > > constructeur de > > > > > > la classe TextField afin que tous mes TextField créé à partir de > > l'IDE > > > > > > lance un bout de code à leur initialisation. > > > > > > Le pb, c'est que je souhaiterais reproduire ce comportement en AS3 > > > > > > mais j'ai le compiler qui m'envoie une erreur 1000 en me disant > > qu'il > > > > > > y a une ambiguité sur le constructeur TextField... > > > > > > Pour rappel, voici le thread de l'époque: > > >http://groups.google.com/group/fcng/browse_thread/thread/6c3cc8b5f38e... > > > > > > > Si quelqu'un à une idée, je vous remercie d'avance. > > > > > > > Ejoe > > > > > > PS : ci-dessous un exemple de test pas concluant. > > > > > > <code> > > > > > > package { > > > > > > import flash.display.Sprite; > > > > > > import flash.text.TextField; > > > > > > public class TextField extends Sprite { > > > > > > > override public function TextField() { > > > > > > super(); > > > > > > trace("overridé"); > > > > > > > } > > > > > > > } > > > > > > > } > > > > > > </code> > > > > > > > -- > > > > > > Vous recevez ce message, car vous êtes abonné au groupe Google > > > > > Groupes FCNG. > > > > > > Pour envoyer un message à ce groupe, adressez un e-mail à > > > > > > fcng@googlegroups.com.> Pour vous désabonner de ce groupe, envoyez > > un e-mail à l'adresse > > > > > > fcng+unsubscr...@googlegroups.com.> Pour plus d'options, consultez > > la page de ce groupe : > > > > > >http://groups.google.com/group/fcng?hl=fr > > > -- > > Vous recevez ce message, car vous êtes abonné au groupe Google > > Groupes FCNG. > > Pour envoyer un message à ce groupe, adressez un e-mail à > > fcng@googlegroups.com. > > Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse > > fcng+unsubscr...@googlegroups.com. > > Pour plus d'options, consultez la page de ce groupe : > >http://groups.google.com/group/fcng?hl=fr -- Vous recevez ce message, car vous êtes abonné au groupe Google Groupes FCNG. Pour envoyer un message à ce groupe, adressez un e-mail à fcng@googlegroups.com. Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse fcng+unsubscr...@googlegroups.com. Pour plus d'options, consultez la page de ce groupe : http://groups.google.com/group/fcng?hl=fr