![]() ![]() ![]() ![]() ![]()
Martin Hozík |
Postupné vypisování textuChtěli jste si někdy vytvořit animaci psaní textu ala Matrix? Pokud jde o pár slov, není problém, ale rozdělovat celý odstavec na písmenka a skládat ho postupně dohromady opravdu není to pravé ořechové. Naštěstí je možné text vypisovat scriptově: Nejprve si vytvořte jeden klíčový snímek a roztáhněte jej na velikost minimálně 3 snímků. Do něj vložte Dynamic Text Multiline, který bude zobrazovat proměnnou "okno" Poté vytvořte novou vrstvu a vytvořte 3 klíčové snímky. Do 1. snímku zadejte tyto příkazy: okno = ""; krok = 0; Do 2. snímku pak tyto: krok++; play(); 3. snímek je nejdůležitější: pismeno = substring("Nějaký text._Text na novém řádku******>", krok, 1); if (pismeno == "_") { pismeno = newline; } else if (pismeno == "*") { pismeno = ""; } if (pismeno == ">") { play(); } else { okno = okno+pismeno; prevFrame(); }
V 1. snímku se definuje proměnná "okno" jako prázdná a "krok" roven nule. Ve 2. snímku se proměnná "krok" zvýší o 1 (++). Ve 3. snímku se nejdříve definuje písmeno, které se bude tento cyklus připisovat a to pomocí funkce "substring". Funkce substring dělá to, že z textu v uvozovkách vyřízne od určitého místa určitý počet znaků. Příklad: vyrez = substring("Macromedia Flash MX", 5, 9) proměnná "vyrez" teď bude mít hodnotu "media Fla". Bylo tedy vyříznuto od 5. znaku devět znaků Takže teď máme definované písmeno a nyní následuje podmínka, která v případě, že bude písmeno bude rovno "_" skočí na nový řádek (newline), a nebo pokud bude rovno "*" nebude se toto kolo přidávat žádné písmeno (vytvoření pauzy) A nakonec se provede kontrola, jestli je přidávané písmeno rovno ">". Pokud ano, psaní je u konce, pokud ne, je k proměnné "okno" je připsáno písmeno a přehrávání skočí na předchozí snímek, kde ho příkaz Play() znovu spustí. |
![]() |
![]() |