Avatar billede basicq Nybegynder
17. marts 2004 - 14:53 Der er 11 kommentarer og
1 løsning

createtextField i mc

Det her virker som sådan fint nok i roden. Men jeg vil gerne have teksten skrevet ud i et mc som jeg kalder scrollTxt og jeg har prøvet at gøre sådan. _root.scrollTxt.createTextField("mytext",1,100,100,metrics.width,20); uden held.

Min kode som ligger i en frame i roden ser således ud.




var txtLength = "Tæller længde af text asdf as dfas dfas df";

// Create textFormat object and apply properties.
var txt_format = new TextFormat();
with(txt_format)
{
//    bold = true;
    Color = 0xff0000;
    html = "false";
    border = "false";
    type = "dynamic";
    font = "Arial";
}

var metrics = txt_format.getTextExtent(txtLength);
//trace(metrics.width);
_root.createTextField("mytext",1,100,100,metrics.width,20);

mytext.text = txtLength;
mytext.setTextFormat(txt_format);
Avatar billede barklund Nybegynder
17. marts 2004 - 15:11 #1
ALLE dine stier, skal jo være rigtige. I udtrykket:

mytext.text = txtLength;

Hvad refererer "mytext" så til? Ikke noget der findes på denne tidslinje i hvert fald, det findes jo INDEN I movieclippet "scrollTxt":

scrollTxt.createTextField("mytext",1,100,100,metrics.width,20);
scrollTxt.mytext.text = txtLength;
scrollTxt.mytext.setTextFormat(txt_format);

// Morten Barklund
Avatar billede basicq Nybegynder
17. marts 2004 - 15:15 #2
Ja du svare både og mytext laves dynamisk det er ikke noget text feldt jeg har liggende. Men jeg har fundet en løsning som virker ok. Jeg prøver lige din også.
Avatar billede barklund Nybegynder
17. marts 2004 - 15:34 #3
Og du behøver ikke udregne størrelsen af din tekst på forhånd - sæt autoSize på tekstfeltet i stedet med:

scrollTxt.mytext.autoSize = true;
Avatar billede basicq Nybegynder
17. marts 2004 - 16:06 #4
klart men jeg skal bruge længden på mit text felt og her kommer mit næste problem, for jeg skal lave en hitTest() på det sidste bogstav i mit textfelt.
Avatar billede barklund Nybegynder
17. marts 2004 - 16:17 #5
ja, så skal du jo finde længden af din tekst minus det sidste tekstfelt - så kan du "tegne" en kasse, der dækker det sidste bogstav og hitteste på denne.
Avatar billede basicq Nybegynder
17. marts 2004 - 16:21 #6
nej det kan jeg ikke, for jeg laver text feltet dynamisk (automatisk ud fra min text width) jeg har ikke noget fast text felt. Jeg er sku lidt lost..
Avatar billede barklund Nybegynder
17. marts 2004 - 16:24 #7
Det var også det, som jeg beskrev.

Med getTextExtent kan du finde længden af teksten uden det sidste bogstav. Så kender du det øverste venstre hjørne af den firkant, som sidste bogstav udgør. Og med getTextExtent på det sidste bogstav alene kender du nederste højre hjørne af firkanten.

Med disse fire koordinater kan du lave et tomt movieclip og med beginFill og lineTo kan du tegne firkanten, som du vil hitteste på. Det er vist meget enkelt.
Avatar billede basicq Nybegynder
17. marts 2004 - 18:11 #8
Hmm det lyder da nice men tror ikke jeg kan følge helt med hvad du mener. Men prøver lige noget.
Avatar billede basicq Nybegynder
18. marts 2004 - 00:31 #9
Ok jeg kan ikke forstå hvorfor det text felt jeg laver er længere end den text som bliver vist i textfeltet (det holder jo slet ikke, er det måske en fejl i flash).

Det som jeg laver er at, jeg flytter mit textfelt fra højre mod venstre og når feltet når et bestemt sted så rammer det et mc som får mig over i frame 2 (i frame 2 henter jeg noget nyt text som så igen køre fra højre mod venstre).

Men jeg skal først lave hitTest på det sidste bogstav i mit textfelt når nu textfeltet er så meget længere end selve texten. Og hvordan gør jeg så det?. Jeg har prøvet at finde _x i det sidste bogstav med charAt(minTxt.length-1) men det virker ikke.

Hvis jeg kan få textfeltet til at være samme længde som der er text så behøver jeg ikke at lave hitTest på sidste bogstav.

Håber jeg kan få noget hjælp, jeg smider gerne nogle flere point da mit ? ikke helt matcher det jeg spørger om nu.
Avatar billede barklund Nybegynder
18. marts 2004 - 12:38 #10
scrollTxt.createTextField("mytext",1,100,100,0,20);
scrollTxt.mytext.autoSize = true;
scrollTxt.mytext.text = txtLength;
scrollTxt.mytext.setTextFormat(txt_format);
Avatar billede basicq Nybegynder
05. april 2004 - 22:00 #11
Takker :-)
Avatar billede barklund Nybegynder
06. april 2004 - 09:40 #12
Tak for points :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester