vinTagesworld Flash forum
Hier ben ik nog is met een lastig vraagje.
Ik heb in mijn nieuwste flash movie een dynamic text field met de instance naam txt_title. Zoals het type doet vernemen is de inhoud dynamisch. Ik wil dat de breedte (width) van deze textarea automatisch aangepast wordt aan de inhoud.
Wanneer er dus de tekst "lol" in staat, mag de breedte van het text field niet groter zijn dan de noodzakelijk breedte voor die 3 tekens. Wanneer de tekst "djfsdfjsdfsdf" is, moeten al deze tekens in het field passen, maar niet meer.
Ik heb dit nodig om de background onder het textfield aan te passen aan de breedte van de tekst.
laatst ge-edit op: 11-02-07 om 19:59
door W0utah op 11-02-07 om 20:35
je zou is moeten zien hoe breedt hij moet zijn voor 1 letter.
Dan kan je controleren hoevee letters je hebt.
Pak dat 1 letter 10px breedt is en het woordt bevat 3 letters
actionscript codetxt_title.witdh = 10*aantalLetters
Daar had ik zelf ook al aan gedacht. Het lettertype is Trebuchet MS (moet zo - is zo in de rest van de site verwerkt). Dit is een lettertype zonder vaste breedte. De letter i is dus minder breed dan de letter m.
Op zich is je oplossing aanvaardbaar, maar het geeft geen 100% dekking. Ik wil natuurlijk die 100% ;)
door W0utah op 11-02-07 om 20:40
die 1 px dat de letter is smaller is gaat het toch niet maken he?
Hangt ervan af hoe vaak die 1px voorkomt ;) Maar het is inderdaad een oplossing, maar moet toch juister ook kunnen in flash?
Maak je textvak gewoon de breedte van één letter, en in AS doe je
actionscript codeinstanceNaam.autoSize = true;
door W0utah op 11-02-07 om 20:46
ik denk eigenlijk van niet
@hierboven: nog nooit van gehoord, weer iets bijgeleerd
laatst ge-edit op: 11-02-07 om 20:46
Thanks vinTage, dat werkt

<edit>Nog een klein vraagje</edit>
Met welke waarde kan ik dan de breedte in px achterhalen? Niet met txt_title._width.
laatst ge-edit op: 11-02-07 om 21:30
actionscript codetekst.autoSize=true;
tekst.text = "Deze tekst staat geschreven in een tekstvak die de breedte heeft van 1 letter, het lettertype is verdana op 11 px";
trace (tekst._width);
//output 652
werkt wel ^^
Dit topic is gesloten.