Cette page est en cours de rédaction et est suceptible de contenir des erreurs
Ce composant permet d'afficher des smileys dans un textField de flash ( dans la mesure du possible )
les balises html littéralement ne sont pas géré, j'utilise un langage bâtard ( dans les 2 sens du terme )
que je nommerai : LQPPLC ( langage qui passe par le coude ) à l'instar du BB code ce langage utilise des balises ( qui passe par le coude donc )
qui sont les suivantes ( par ordre orthogénital
) :
c'est pas la fête du slip mais ça reste déjà pas mal en fait… concernant les balises html traditionnels genre <b> <u> <font> je les gère pas, pourquoi, vous me demandez pourquoi? tsss bah parce que. Donc je vous conseillerai de ne pas inclure ces caractères <> dans vos textes de saisie vous y gagnerez en process lors de la création de l'objet.
déjà on ne dit pas marche mais fonctionne… télecharger le composant HappyTextField.swc et installer le dans le dossier composant de l'install de Flash si flash est ouvert rebooter le et zieuter dans le panneau composant et, oh miracle, le composant si trouve, ou alors le composant et inclus dans la bibliothèque du fla que je joint avec le composant.swc . deux façons de procéder pour créer un happyTextField :
this.attachMovie("HappyTextField", "texte01", 1);
rien de complexe quoi… maintenant zieutont ce qu'on a comme propriétés disponibles…
en plus d'avoir hériter des props de la class MovieClip on a :
HappyTextField.defaultTextColor ⇒ permet de déterminer la couleur initiale du texte. noir par défaut
this.texte01.defaultTextColor = "0x535E77";
HappyTextField.clipLink ⇒ permet de spécifier l'utilisation d'un clip de la bibliothèque pour l'affichage des smileys ( nom de liaison du clip) si null le composant utilise ses propres smileys. null par défaut
this.texte01.clipLink = "un_clip_lié_par_as_de_la_biblio";
HappyTextField.fontSize ⇒ détermine la taille du texte. 9 par défaut et 8 minimum
this.texte01.fontSize = 9;
HappyTextField.font ⇒ détermine la police du texte. arial par défaut
this.texte01.font = "verdana";
HappyTextField.textWidth ⇒ détermine la largeur du texte. 300 par défaut et 50 minimum
this.texte01.textWidth = 400;
HappyTextField.textLeading ⇒ détermine l'espace entre chaque ligne du texte. 6 par défaut
this.texte01.textLeading = 8;
HappyTextField.text ⇒ le texte au format LQPPLC XD je déconne quoi que j'aime bien ce nom
, ( note : déterminer cette propriété en dernier vous y gagnerez en process ) une fois cette prop défini le composant parse le texte et le stoque dans la prop dataText pour qu'il puisse l'afficher par la suite via la méthode render()
this.texte01.text = "Hello World [E]3[/E]"; //ou encore this.texte01.text = this.texte_de_saisie.text;
HappyTextField.textData ⇒ permet de récuperer ou définir le texte formater par le composant, on affiche le texte dans le composant lorsque l'on définie cette propriété
// en setter this.texte01.textData = this.textData_quon_desire_afficher; //en getter this.textData_quon_desire_enregistrer_dans_une_bdd_par_ex = this.texte01.textData;
HappyTextField.render() ⇒ force l'affichage du textData dans le composant pour peut que textData ait été défini
ok, vous allez certainement pensé que c'est quand même vachement bisare comment j'ai bidouillé le truc muche nop? en fait on a deux cas d'utilisations… imagines que tu surf sur un super blog en flash comme http://www.dreammania.net et que t'écris un commentaire avec le super éditeur de texte et ses balises au format LQPPLC ensuite “hop” on enregistre le message et a ce moment là et seulement à ce moment là on vas parser le texte ( avec la prop text ) pour en faire du dataText prêt à l'utilisation ( on récupere le dataText et on l'enregistre comme message du commentaire dans la bdd ) je ne vous le cache pas parser le texte demande vachement de ressource c'est pourquoi je le fais uniquement coté client lors de l'édition de message. ça donnerai ça :
var p = this.attachMovie("HappyTextField", "dummy", 2); //bien sur on est pas obligé de tout redefinir les props, je le fais comme un baka pour le prinicipe du chmilblik p.defaultTextColor = "0x535E77"; p.fontSize = 9; p.font = "verdana"; p.textWidth = 400; p.textLeading = 6; // ici on recupere le texte du texte de saisie de l'editeur de texte p.text = this.texteSaisie.text; //et là en recupere le dataText pour l'enregistrer dans une BDD par ex var dataTextAEnregistrer = p.textData;
maintenant “hop” hop” je suis un visiteur du blog : - héhé mais il est très joli ce blog en flash http://www.dreammania.net je me demande si je vais pas le mettre dans mes favoris ou même si je vais pas le mettre dans les lien de mon blog ( comment ça j'abuse? ), bon, je vais matter les commentaires. qu'est ce qui se passe donc au niveau du composant? bah pas grand chose, on a récuperé les messages enregistrés au format dataText il ne nous reste plus qu'à les afficher et ça c'est muchos rapidos niveau process ( je ferai une comparaison plus tard ) ça donne ça :
var p = this.attachMovie("HappyTextField", "message", 2); // on ne defini aucunes props tout est dans le dataText p.textData = this.dataText;
et voilà un texte avec smileys afficher super rapidement
Telecharger le composant et le FLA de démo
Seraphin http://www.dreammania.net
Encore des questions? Besoin d'aide? Venez en discuter sur les forums Composants ou Interfaces Adobe Flash Platform.