PDA

Volledige versie bekijken : tekst "verspringt"


Harmke
%Europe/Berlin %667 %2005, 16:00
Voor een korte animatie gebruik ik een typewriter effect zoals op deze pagina:

http://www.actionscripts.org/tutorials/beginner/Scripted_Typerwriter/index.shtml

Nou moet deze tekst een tijdje blijven staan (en daarna wegfaden), daarom heb ik in frame 5 dezelfde tekst gezet (static text wel te verstaan), op precies dezelfde positie, hetzelfde font en dezelfde corps. De stop(); uit frame 1 heb ik verwijdert en ipv gotoAndStop(1); in frame 2 staat er bij mij gotoAndPlay(5); omdat flash natuurlijk naar frame 5 moet gaan. Alleen het gekke is nu dat wanneer de tekst klaar is met "typen" en naar frame 5 gaat de tekst verspringt. De getypte tekst is dus blijkbaar anders dan de tekst in frame 5.

Iemand enig idee hoe dit mogelijk is?!

Dauntless
%Europe/Berlin %699 %2005, 16:47
Er is een kwaliteits verschil tussen static en dynamic texts, waardoor het kan zijn dat het lijkt dat hij verspringt. (Ik denk toch dat dat het probleem is).

Harmke
%Europe/Berlin %708 %2005, 17:00
maar als ik er dynamic text van maak (in frame 5) dan laat ie om een of andere reden het laatste woord weg :S.... iemand anders een oplossing???

Dauntless
%Europe/Berlin %712 %2005, 17:06
Is je tekst te lang voor je dynamic box of zo? Kan je eventueel je .fla online zetten?

Fatty Owl
%Europe/Berlin %723 %2005, 17:22
Op mijn site (www.fattyowl.be :p) heb ik ook dat effect gbruikt, alleen met een andere code. Dit was mijn code: MovieClip.prototype.typeText = function(Target) {
a = 0;
typeAS = this.createEmptyMovieClip("typeAS"+Typecount, Typecount);
Typecount++;
Tekst = Target.text;
Tekst = Tekst.split("");
Target.text = "";
typeAS.onEnterFrame = function() {
if (a<Tekst.length) {
Target.text += Tekst[a];
a++;
} else {
delete this.onEnterFrame;
}
};
};
Voordeel: Je typt de tekst gewoon in een tekstveld, je geeft die een instance en dan zet je dit regeltje:
this.typeText(Tekstfieldinstance)

Dan moet je alleen de settings van het eerste tekstvak (sharpness enzo) juist hetzelfde zijn als in frame 5. Ook moet de tekst in frame 5 dynamisch zijn. En als niet heel de tekst eropkomt dan moet je nog een enter duwen onder je tekst :)

Dauntless
%Europe/Berlin %734 %2005, 17:37
Fatty owl, waarom maak je speciaal een nieuwe movieclip aan om de oEF op te zetten?

MovieClip.prototype.typeText = function(text:String, target:TextField)
{
var counter:Number = 0;
target.text = "";
this.onEnterFrame = function()
{
target.text += text.substr(counter, 1);
if(counter == text.length) delete this.onEnterFrame;
counter++;

}
}
this.typeText("Hallo, ik ben dauntless, een ZM van flashfocus", txt);

Fatty Owl
%Europe/Berlin %745 %2005, 17:53
omdat anders de oEF maar een keer werkt als ik de functie op 2 verschillende tekstfields tegenlijk aanroep, in de zelfde tijdlijn :)

Dauntless
%Europe/Berlin %747 %2005, 17:56
Op die manier :).

Maruhm, je kan geen variabele ophogen die niet bestaat... (Typecount). En je verwijdert op het einde dan best ook de movieclip.

Fatty Owl
%Europe/Berlin %748 %2005, 17:58
oei die ben ik er vergete bijtezette :) (typecount) en de movieClip verwijderen heb je een punt :p

Harmke
%Europe/Berlin %406 %2005, 09:44
Is je tekst te lang voor je dynamic box of zo?

uhmm.... :# ja dus :# maar nou heb ik er dynamic text van gemaakt, nou verspringt ie niet meer dus das mooi, maaaaaaaaaaaarrrrrr nou wil ie niet meer mooi wegfaden :S

Dauntless
%Europe/Berlin %449 %2005, 10:47
Dan moet je'm eerst in een movieclip steken :).