Forums Développement Multimédia

Aller au contenu

Hauteur d'un champ texte dynamique

CODE Actionscript

13 réponses à ce sujet

#1 dmc

    Ceinture Verte

  • Members
  • PipPipPipPip
  • 72 messages

Posté 20 January 2003 - 14:23 PM

Salut,
J'ai un clip que je mets sur la scene grace a "attachMovie"

Dans ce movie clip de j'ai un champ texte dynamique de taille de fonte 1 (cela peut etre n'importe quelle taille). Mon champ texte est d'une ligne
et accepte le multiligne et de l'argeur 200 (obligatoire).
Dans ce champ texte je mets du texte au format html d'une longueur variable et de taille variable.
Mon probleme est de connaitre la hauteur du contenu pour reagrandir la hauteur du champ pour afficher tout le texte.

j'ai utilisé
clip.champtext._height=clip.champtext.textHeight

et j'aussi teste :

var monFormatDeTexte = new TextFormat();
monFormatDeTexte = clip.champtext.getTextFormat();

var texttaille = monFormatDeTexte.getTextExtent(clip.champtext.htmlText);

clip.champtext._height=texttaille.height

Mais rien a faire aucune me renvoit une valeur juste

D'après mes tests si l'ensemble du texte est est à la même taille que le champ texte (1 actuellement) c'a marche, mais si la taille du texte comporte une taille supérieure ou pulsieures tailles rien ne va plus

Quelqu'un a une idée...?


Merci

Dmc

#2 jeanphilippe

    Grosso modo

  • Honoris
  • PipPipPipPipPipPipPipPip
  • 30486 messages

Posté 20 January 2003 - 14:38 PM

salut
>>>> monChampDeTexte.wordWrap=true;
:wink:

#3 dmc

    Ceinture Verte

  • Members
  • PipPipPipPip
  • 72 messages

Posté 20 January 2003 - 14:49 PM

Mon texte est dejas multiligne
Cela ne resoud pas mon pb

merci quand meme

#4 jeanphilippe

    Grosso modo

  • Honoris
  • PipPipPipPipPipPipPipPip
  • 30486 messages

Posté 20 January 2003 - 14:56 PM

wordWrap c'est pas multiligne
tu devrais créer un champ textre dynamik et utiliser wordWrap
ainsi, en fonction de ce ke tu loades et de la longueur du texte, le champ se deforme, voila!
exemple a l'apui :
QUOTE
_root.createTextField(\"monTexte\", 1, 100, 100, 300, 100);
with (monTexte) {
// -avec un fond...
background = true;
// ...d'une certaine couleur:
backgroundColor = 0xF3F3F3;
// -avec une bordure...
border = true;
// ....d'une certaine couleur::
borderColor = 0xB0B1BD;
// -qui se redimensionne en fonction de son contenu:
autoSize = \"left\";
// -avec un retour à la ligne automatique:
wordWrap = true;
// ...et un contenu qui vaut ce qui est tapé dans le champ de saisie de gauche:
//text = contenu.text
}
monformat = new TextFormat();
with (monFormat) {
color = 0x006666;
font = \"verdana\";
bold = false;
size = 10;
align = \"center\";
}
monTexte.text = \"Ceci est mon premier test de texte d'objet de champ de texte .\";
monTexte.setTextFormat(monFormat);


#5 ekameleon

  • Honoris
  • PipPipPipPipPipPipPipPip
  • 20167 messages

Posté 20 January 2003 - 15:24 PM

lis bien :
http://www.flash-forum.net/aide/Flash/html...asd_10_t72.html
[quote]Le texte est considéré comme du texte ordinaire (pas HTML

bye smile.gif

#6 dmc

    Ceinture Verte

  • Members
  • PipPipPipPip
  • 72 messages

Posté 20 January 2003 - 16:48 PM

Ok,
Dans certain cas, j'importe du texte au format non html
(je modifie seulement la taille et couleur du texte avec TextFormat (objet)) parceque je doix faire une animation avec un effet sur le clip qui contient le champ et si le texte n'est pas lissé c'est affreusement pas beaux.
Donc j'ai opté pour plusieurs clips contenant des champs textes dont j'ai intégré tous les caractères.

Avec la methode que tu proposes je n'ai pas réussit à lisser la police ...

j'espère que c'est clair pas facile a expliquer...

Merci

#7 dmc

    Ceinture Verte

  • Members
  • PipPipPipPip
  • 72 messages

Posté 20 January 2003 - 16:50 PM

Merci pour l'info

Dmc

#8 jeanphilippe

    Grosso modo

  • Honoris
  • PipPipPipPipPipPipPipPip
  • 30486 messages

Posté 20 January 2003 - 16:51 PM

voila un exemple de texte dyn avec contours de police intégrée :
CODE
//creer au préalable une nouvelle police dans la bibliotheque, choisir la typo

// faire laison, le nom d'identifiant ici est monarial

_root.createTextField("monTexte", 1, 100, 100, 300, 100);

with (monTexte) {

background = true;

backgroundColor = 0xF3F3F3;

border = true;

borderColor = 0xB0B1BD;

autoSize = "left";

wordWrap = true;

embedFonts = true;

}

monformat = new TextFormat();

with (monFormat) {

color = 0x006666;

font = "monarial";//nom d'identifiant de la nouvelle police en liaison

bold = false;

size = 14;

align = "center";

}

monTexte.text = "le champ texte a subi une rotation, mais la police est toujours visible.";

monTexte.setTextFormat(monFormat);

montexte._rotation = 30;

j'ai mis _rotation = 30 pour montrer ke letexte est bien lissé meme apres une rotation :wink:

#9 maxime26

    Ceinture Bleue

  • Members
  • PipPipPipPipPip
  • 76 messages

Posté 14 March 2003 - 23:09 PM

hello,

j'ai beau chercher, j'ai beau tester tous les infos données dans ces forums, rien n'y fait, je ne parviens pas à obtenir la hauteur d'un champ de texte dynamique de plusieurs lignes.

Pour les champs d'une seule ligne, pas de problème. Pour les champs de plusieurs lignes il me donne comme hauteur une valeur égale à la hauteur d'un champ d'une seule ligne. Bref tous mes champs, multiligne ou non, ont la même hauteur !!! 8O

Pourtant j'ai précisé wordWrap = true et multiline = true.

Je pense avoir tout essayé sauf ce qu'il fallait donc si quelqu'un sait ce qu'il faut faire, qu'il n'hésite pas à me donner un petit coup de main !

Si ça peut aider, voici les propriétés que j'ai donné à mon champ dynamique multiligne :

CODE
with (newsElementArray[i].message) {

  border = true;

  borderColor = 0xFFFFFF;

  autoSize = "left";

  multiline = true;

  wordWrap = true;

}


Merci !
a+

#10 laurent_albertini

    Ceinture Verte

  • Members
  • PipPipPipPip
  • 72 messages

Posté 18 June 2004 - 17:05 PM

meme pb !!! elkun a til une solution ???

#11 gregouze

    Ceinture Verte

  • Members
  • PipPipPipPip
  • 53 messages

Posté 01 July 2004 - 15:09 PM

up

Je suis preneur également biggrin.gif

#12 gregouze

    Ceinture Verte

  • Members
  • PipPipPipPip
  • 53 messages

Posté 02 July 2004 - 13:51 PM

Bon alors j'ai trouvé une solution qui fonctionne chez moi (Flash MX 2004)

CODE


// Ca c'est déjà expliqué

tonTextField.autoSize="left";

tonTextField.wordWrap = true;

tonTextField.multiline = true;



// Et là c'est la feinte

hauteur = tonTextField.textHeight;



... et je récupère la hauteur de mon textField qui me permet d'en placer d'autres en dessous dynamiquement ...

Après il y a moyen de bidouiller pour obtenir cette valeur avec un textField temporaire avant de le créer ...

++

#13 gregouze

    Ceinture Verte

  • Members
  • PipPipPipPip
  • 53 messages

Posté 02 July 2004 - 13:54 PM

Ah oui entre les deux j'ai inséré du texte dans mon textfield (C'est chiant de pas pouvoir éditer sad.gif)

CODE


...

tonTextField.text = "Un texte très très long";

...



#14 antoine.dubel

    Ceinture Bleue

  • Members
  • PipPipPipPipPip
  • 77 messages

Posté 14 October 2005 - 11:01 AM

icon_cry.gif Up !!! J'ai le même problème avec un loadVariable sur un champs texte dynamique sur la scene (nom d'instance monTexte) :

Code
_root.loadVariables("http://www.partytime.fr/numusers2.php", "", "POST");
monTexte.wordWrap = true;
monTexte.multiline = true;
monTexte.autoSize = true;


trace(monTexte.height) ou trace(monTexte._height) donne toujours 4.... icon_neutral.gif je ne sais d'où vient ce 4 ?

trace(monTexte.textHeight) donne toujours 0.... icon_eek.gif

et ces 2 résultats quelques soient le nombre de ligne dans mon bloc texte !!!

help please !




1 utilisateur(s) li(sen)t ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)