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?
I lang tid har samarbejdsbranchen fokuseret på at forbedre enhedsfunktioner – bedre kameraer, klarere lyd og smartere software. Men den virkelige forvandling handler ikke om funktioner.
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.
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);
Synes godt om
Ny brugerNybegynder
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.