Avatar billede kosak Nybegynder
12. juni 2008 - 00:43 Der er 3 kommentarer

Mærkelig og pludselig .SWF fejl

Hejsa

Jeg har brugt flash det sidste halve års tid og har været rigtig glad for det. Det har ikke voldet mig de store problemer og virker logisk og forventeligt.

Nu skal jeg så lige lave en lille flash reklame til en side og af en eller anden mærkelig årsag vil .swf filen ikke vise animationerne rigtigt.

Et lille enkelt eksempel er, at hvis jeg vælger at en tekst (graphic) skal fade frem, så virker det fint når jeg kører det i Flash programmet, men laver jeg et preview, altså kører .swf filen, så virker animationen (fade, bevægelser osv.) ikke...

Billeder (også graphic) virker fint, ligesom gamle flash sider jeg har lavet også virker uden problemer når jeg kører deres .swf fil. Det er altså kun teksten der driller...

Har jeg tændt/slukket for et eller andet? Andre bud?

På forhånd tak.
Avatar billede kosak Nybegynder
12. juni 2008 - 00:55 #1
Lidt ekstra info:

Jeg sidder ved en mac (skønt),bruger CS3 udgaven af Flash og arbejder i ActionScript2.
Avatar billede maqhem Nybegynder
12. juni 2008 - 17:19 #2
Er det dynamic eller input tekstfelter? For de vil helst ikke have, at du ændrer på _alpha, _width, _height, _xscale, _yscale  eller _rotation. Og da du nævner fade, går jeg ud fra, du benytter dig af _alpha. Hér er, hvad du skal gøre:

Gå ind i dit library. Højreklik og tryk "New font...". Vælg den ønskede font på listen (den, som du bruger), og hak til, om den skal være bolded, italic og bitmaptext. Hvis den er bitmap text, så husk at sætte size også - ellers er den ligegyldig.
Tryk Ok og højreklik på fonten i dit library. Vælg "Linkage..." og slå "Export for ActionScript" til. I "Identifer" skriver du en ID for din font, som du vil kalde den med. I følgende eksempel bruger jeg "EmbFont".

Du kan i din font-liste nu finde EmbFont* (med stjerne), og dette betyder, at du har embedded din font korrekt. Denne kan du dog ikke bruge til noget. Du bliver nødt til at lave dit tekstfelt med ActionScript, men det er ikke så svært. Sådan gør du:

var t:TextField = createTextField("TF", _root.getNextHighestDepth(), 20, 20, 40, 30);
var f:TextFormat = new TextFormat();
f.font = "EmbFont"; // Her skriver du din Identifer
t.embedFonts = true;
t.text = "Denne tekst er skrevet med en embedded font";
t.setTextFormat(f);

Hvis du ikke er så god til matematiske beregninger og brug af en tween-klasse, kan du gøre det, at du laver et movieclip med en lille firkant i (denne skal du forestille dig, er din tekst), og så laver du dine animationer på dette movieclip. Når du synes, animationerne ser fine ud, går du ind i movieclippet og sletter din firkant og skriver ovenstående kode på første frame i stedet.
Avatar billede maqhem Nybegynder
12. juni 2008 - 17:24 #3
I øverste linje står der fire tal: 20, 20, 40 og 30. Disse er henholdsvis x-positionen, y-positionen, bredden og højden. Her bør du beslutte dig, hvor stort dit tekstfelt skal være (og helst for stort end for småt). Hvis vi siger, du vælger 500 i bredden og 150 i højden, så kan jeg anbefale dig at sætte x-positionen til minus det halve af bredden og y-positionen til minus det halve af højden:

var t:TextField = createTextField("TF", _root.getNextHighestDepth(), -500/2, -150/2, 500, 150);
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