tutoriaux flash creer_un_texte_contenant_des_smileys
Vous êtes ici: Les articles techniques » tutoriaux » Tutoriaux et ressources Adobe Flash CS3 » Creer des textes contenant des smileys avec le composant HappyTextField/Cette page est en cours de rédaction et est suceptible de contenir des erreurs/
Creer des textes contenant des smileys avec le composant HappyTextField
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 ) :
- [S]texte souligné[/S]
- [I]texte en italic[/I]
- [B]texte en gras[/B]
- [C=FFC062]texte coloré[/C]
- [L=http://www.dreammania.net]lien hypertexte vers un blog en flash genial[/L]
- [E]frame ou etiquette d’un smiley[/E]
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.
Mais comment ti pas ca marche?
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 :
- Ã la mano
- dynamiquement
- (à la mano) faites glisser sur la scène le composant, vous pouvez ensuite modifier les paramètres du texte dans le panneau paramètres du composant, pour modifier dynamiquement les propriétés du texte, donner un nom à votre occurrence pour pouvoir le cibler par la suite.
- (dynamiquement) pour créer un happyTextField dynamiquement
this.attachMovie("HappyTextField", "texte01", 1);
rien de complexe quoi... maintenant zieutont ce qu’on a comme propriétés disponibles...
les propriétés :
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;
les methodes :
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
Le wiki a besoin de votre aide pour classer les pages.
Lorsque vous visitez une page, éditez la en rajoutant des tags ( catégories ) si la page n'en a pas, à l'aide la syntaxe suivante : {{tag>motClef1 motClef2 motClef3}}



