Speciální textové bloky. Macromedia Flash MX - první kroky


Materiály k přednášce, domácí úkoly a testy
dálkový kurz „Elektronická škola Macromedia Flash MX“
Ruský metodický týdeník pro učitele informatiky. Nakladatelství "První září" č. 42 (2003)
„Analoga programu „Rule“ z balíčku „Hits of Robotland“.
v prostředí Macromedia Flash."

Tištěné publikace

ELEKTRONICKÁ ŠKOLA MACROMEDIA FLASH MX
Kurz III: Základy programování v Macromedia Flash MX
Modul IV: The with Command. Program "Pravidlo"
jazyk ActionScript

Plán expresního modulu:
  • s příkazem
  • Flash duplikát programu „Rule“ z balíčku „Hits of Robotland“.

s příkazem

Při použití objektů v programovém kódu (skriptu) je snadné si všimnout, že i v malém bloku skriptu se název stejného objektu opakovaně opakuje. K takovému opakování dochází zvláště často při použití některých jednotlivých objektů, například objektů Matematika, patřící do vyšší úrovně. Například následující kód je docela běžný:

A = Math.PI * r * r; x = r * Math.cos(Math.PI); y = r * Math.sin(Math.PI/2);

Zde je objekt Matematika se vyskytuje opakovaně, což ztěžuje porozumění skriptu. Tento záznam lze výrazně zjednodušit, pokud je blok skriptu uzavřen v závorkách pomocí příkazu with. Potom v rámci tohoto bloku skriptu interpret jazyka ActionScript přistoupí k určenému objektu. Nyní lze kód přepsat následovně:

With (Math) ( a = PI * r * r; x = r * cos(PI); y = r * sin(PI/2); )

Podívejme se na obecný formát příkazu:

s (objektem) (
prohlášení(y);
}

objekt— instance objektu ActionScript nebo filmového klipu.

prohlášení- příkaz nebo skupina příkazů uzavřená ve složených závorkách.

Podívejme se na další příklad, ve kterém je objekt použit Filmový klip s názvem someOtherMovieClip:

With (someOtherMovieClip) ( _x = 50; _y = 100; gotoAndStop(3); )

Následující úryvek skriptu ukazuje, jak lze předchozí příklad napsat bez použití příkazu with:

SomeOtherMovieClip._x = 50; someOtherMovieClip._y = 100; someOtherMovieClip.gotoAndStop(3);

Je možné použít vnořené s příkazy pro přístup k informacím v mnoha kontextových oblastech.

Flash duplikát programu „Pravilka“ z balíčku „Hits of Robotland“.

Při programování tlačítek budeme aktivně používat operátor větvení: if a if else. Zorganizujeme také provoz počítadla, které uživateli přidá body v případě správné odpovědi a odečte body v případě, že uživatel bez opravy chyby nebo provedení nesprávných oprav stiskne tlačítko „Další“.

Zorganizujeme práci na Filmovém klipu (ceně), ve kterém bude umístěn „Fond cen“. Pokud uživatel získá 10 bodů, jeho cenou bude košík lahodného ovoce. Pokud má uživatel 9 nebo 8 bodů jako cenu, obdrží kousek sýra, pokud má uživatel „štěstí“ získat 6 nebo 7 bodů, obdrží dýni, ale pokud získá 5 nebo méně než 5 bodů , dostane rajče!

Pro ty, kteří mají rádi pětibodové hodnocení, přeložme výše uvedené do jazyka dostupného pro školní časopis:

Ovocný koš - 5 ;
Kousek sýra - 4 ;
dýně - 3 ;
Rajče - 2 .

Při přístupu k filmovému klipu použijeme příkaz with.

Naše scéna bude používat 11 snímků. Prvních 10 snímků budou „pracovní listy“, na kterých budou umístěny fráze s gramatickými chybami (vstupní text). Obvykle jsou vstupní pole ponechána prázdná, ale v našem případě by měla fungovat! Každý list bude naprogramován s dynamickým polem. Pokud uživatel neopraví gramatickou chybu, zobrazí se text: „Neopravili jste chybu!“

Tento program používá dvě vrstvy. Spodní vrstva je pozadí, obsahuje statický text „Program Correct“ a grafický symbol s kloboukem.

Chcete-li k napsání nadpisu bezpodmínečně použít nějaké exotické písmo nainstalované na vašem počítači v programu, nezapomeňte pro tento text použít proceduru Break Apart z nabídky Upravit. Jinými slovy, přeměňte text na grafiku. A pak se váš text na stroji, který toto písmo nemá, nezmění v žvanil!

Nyní je vše v pořádku. Pojďme napsat skript pro snímek 1:

Stop(); fscommand("showmenu", "false"); i = 0;

Při přehrávání videa musíte vypnout „Nabídka“. Tímto způsobem nedovolíme uživateli udělat „krok zpět“. A také „zapneme“ pult.
Napišme akci pro snímky 2-10:

Podívejme se na příkladu, jak fungují tlačítka na prvním snímku. Zbývající tlačítka si můžete naprogramovat sami.

On (release) ( if (t1=="White Chrysanthemum") ( i++; gotoAndPlay(2); ) else ( i--; z1 = "Neopravili jste chybu!"; ) )

Nyní vytvoříme „Fond cen“. Pojďme tvořit nový symbol zadejte Filmový klip s názvem cena ve kterém bude fungovat 5 snímků. Napíšeme propagaci pro všechny snímky klipu:

První snímek klipu bude prázdný.

Do druhého rámečku umístíme košíček s ovocem a rámeček označíme: Pět.
Do třetího rámečku umístíme kousek sýra a rámečku přiřadíme popisek: čtyři.
Do čtvrtého rámečku umístíme dýni a rámečku přiřadíme popisek: tři.
Do pátého rámečku umístíme rajče a rámečku přiřadíme štítek: dva.

V tomto programu byla všechna tato „rozmanitost jídla“ importována z kolekce ClipArt97 (soubory wmf). Můžete si však vytvořit svůj vlastní „Fond cen“, vše závisí pouze na vaší fantazii.

Vraťme se na scénu a na poslední 11. snímek umístíme námi vytvořený klip s cenami. Nezapomeňte to napsat na pódiu. Název instance: cena. Do tohoto rámce napíšeme skript, který analýzou obsahu počítadla „předá“ uživateli cenu:

Stop(); sh = i; s (_root.priz) ( pokud (i

Otestujte video. A pokud je to nutné, odladit.

Chcete-li proces testování zjednodušit, vytvořte na posledním snímku dynamické textové pole s názvem sh a v tomto poli zobrazit data čítače. Chcete-li to provést, přidejte druhý řádek do skriptu 11. snímku:

Po dokončení procesu ladění odstraňte toto pole a řádek, který jste zadali.

Domácí úkol: Základy programování v Macromedia Flash MX

Ach, kolik úžasných objevů máme
Připravte ducha osvícení
A zkušenost, syn těžkých chyb,
A génius, přítel paradoxů,
A náhoda, Bůh vynálezce.
Alexander Sergejevič Puškin, „Eugene Onegin“

Vaším úkolem je vytvořit video duplikující materiál prezentovaný na této přednášce. Fráze si můžete vybrat sami.

Ilustrační materiál použitý k vytvoření „výherního fondu“ videa naleznete v archivu doprovázejícím přednáškový materiál. Tento archiv obsahuje soubory ve formátu wmf. Pokud tento cenový fond nesplňuje vaše požadavky, buďte kreativní a použijte svou vlastní knihovnu.

Odešlete svůj dokončený úkol jako soubor ve formátu fla (pokud velikost souboru přesahuje 150 kB, archivujte soubor) a odešlete jej učiteli.

Přeji vám úspěch ve studiu Macromedia Flash MX na vlastní pěst!

Sekce na této stránce:

Nyní si povíme něco o tzv speciální textové bloky, tedy o textových blocích, které plní speciální funkce. V tuto chvíli se nám ale nebudou hodit, ale budou potřeba, až začneme psát programy v prostředí Flash (programování se věnuje část IV tato kniha).

Vstupní pole

Vstupní pole - Jedná se o jakýsi malý textový editor umístěný v okně programu Windows a určený pro zadávání jednořádkového nebo víceřádkového textu. Vkládání textu přitom řídí samotný Windows: jednoduše píšeme znaky, používáme šipky, , , vyberte text, použijte schránku, jako v každém „velkém“ textový editor. Programátoři Microsoftu tvrdě pracovali na tom, aby standardní vstupní pole Windows byla skutečně pohodlná.

Chcete-li vytvořit vstupní pole ve Flashi, musíte nejprve na svůj list umístit běžný textový blok a vybrat jej nástrojem se šipkou (do textového bloku nemusíte zadávat žádný text). Dále najděte v levém horním rohu panelu Vlastnosti malý rozevírací seznam (viz obr. 7.4) a vyberte v něm položku Vstupní text. Pokud poté otevřeme výsledný textový blok, uvidíme, co je znázorněno na obr. 7.9.


Co tedy vidíme? A vidíme kompletní sadu značek pro změnu velikosti (uloží se, i když zavřeme vstupní pole). To znamená, že můžeme měnit i vertikální velikost výsledného vstupního pole. A obdélníková značka z pravého horního rohu se přesune do pravého dolního rohu – to je znamení, že před sebou máme vstupní pole.

Panelový pohled Vlastnosti po zvolení vstupního pole je na Obr. 7.10. Jak vidíme, objevili se tam doplňkové prvky kontroly, které je třeba vzít v úvahu.


Nejprve se hned pod seznamem, který jsme právě použili, objevilo pole, ve kterém budeme muset zadat unikátní Název, identifikující vstupní pole Flash, které jsme vytvořili. Každé vstupní pole vytvořené na listu musí mít jedinečný název. Tento název může obsahovat písmena ruské a latinské abecedy, čísla a podtržítka a musí začínat buď písmenem, nebo podtržítkem.

Pod polem pro zadání úlohy sledování je další rozevírací seznam. Použijte jej k výběru typu vstupního pole. V tomto seznamu jsou k dispozici čtyři položky:

? Jeden řádek- pravidelné jednořádkové vstupní pole;

? Víceřádkový- víceřádkové vstupní pole(jinými slovy oblast úprav);

? Víceřádkový bez obalu- víceřádkové vstupní pole, které automaticky nepřeruší řádek (ačkoli uživatel může stále řádek přerušit ručně stisknutím klávesy );

? Heslo- pole pro zadání hesla. Podobá se běžnému jednořádkovému vstupnímu poli, ale skryje text do něj zadaný a zobrazí místo něj řetězec hvězdiček.

Napravo od tohoto seznamu je sada tří přepínacích tlačítek. První z nich je nám již známý - umožňuje uživateli vybrat text ve vstupním poli:


Jak je vidět na Obr. 7.10 je toto tlačítko stisknuto a deaktivováno, tj. nelze jej deaktivovat.

Druhé přepínací tlačítko, je-li povoleno, dává Flashi pokyn ke zpracování všech značek HTML, které se v textu vyskytují:


Pokud tedy uzavřeme kus textu do značky<В>.. , Flash jej zvýrazní tučně. Pokud je toto tlačítko deaktivováno, Flash zobrazí text „tak, jak je“, spolu se všemi značkami HTML, které jsou zde specifikovány.

Obecně řečeno, tato funkce je užitečná pouze v případě, že specifikujeme obsah vstupního pole ze skriptu ActionScript, takže je zde popsána předem. Podrobné informace o podpoře HTML tagy Vstupní pole a dynamické textové bloky lze nalézt v online nápovědě Flash.

Třetí přepínací tlačítko, pokud je povoleno, způsobí, že Flash zobrazí rámeček kolem vstupního pole, takže se podobá standardnímu vstupnímu poli Windows:


Pokud je zakázáno, má vstupní pole „plochý“ vzhled.

Pokud má být námi vytvořené vstupní pole součástí původního rozhraní, je nejlepší ponechat toto tlačítko deaktivované. Pokud chceme, aby vstupní pole bylo pro uživatele známější nebo viditelnější, můžeme toto tlačítko povolit.

Napravo od těchto tří tlačítek je vstupní pole Var. Toto pole určuje název proměnné jazyka ActionScript, do které bude umístěn text zadaný do námi vytvořeného vstupního pole. Proměnná je druh „úložné buňky“ dat vytvořených v paměti počítače a má jedinečný název, podle kterého ji lze jednoznačně identifikovat. Na tuto proměnnou můžeme odkazovat jménem, ​​extrahovat z ní data nebo do ní vložit novou hodnotu. Proměnné budou podrobně diskutovány v Kapitola 19.

Ve vstupním poli Maximální počet znaků nastavuje maximální počet znaků, které do něj může uživatel zadat. Pokud tento počet nechceme omezovat, tak tam zadáme hodnotu 0 (to je mimochodem výchozí hodnota pole).

Nyní se vraťme k tématu implementace písem, ale ve vztahu k vstupním polím (přesněji ke všem speciálním textovým blokům). Jde o to, že v tomto případě se neprovádí žádné vkládání - Flash ukládá pouze názvy použitých písem. Když přehrajete hotový obraz, Flash Player nejprve vyhledá tato písma v počítači klienta, a pokud jsou k dispozici, použije je k zobrazení textu. Pokud není nalezen vhodný font, přehrávač použije nejbližší podobný font požadovanému, což může způsobit zkreslení obrazu. A to není vždy přijatelné.

Stále ale můžeme přinutit Flash, aby vložil popisy vybraných znaků fontu určeného pro dané vstupní pole do výsledného souboru Shockwave/Flash. Nyní uvidíme, jak se to dělá.

Výběr znaků písma pro vložení se provádí v dialogovém okně Vkládání postav(obr. 7.11). Toto okno se objeví na obrazovce po stisknutí tlačítka Vložit panely Vlastnosti(viz obr. 7.10).


Velký seznam tohoto okna nám umožní vybrat celé skupiny symbolů, které by měly být vloženy do výsledného souboru Shockwave/Flash. Obsahuje poměrně dost položek; tytéž, které jsou pro nás zaručeně užitečné, jsou uvedeny níže:

? Vše (39477 glyfů)- všechny znaky tohoto písma ve výši 39 477. Tato položka je poskytována pouze pro informační účely; ve skutečnosti jej sotva kdo využije;

? Velká písmena (27 glyfů)- velká latinská písmena (27 znaků);

? Malá písmena (27 glyfů)- malá latinská písmena (také 27 znaků);

? Číslice (11 glyfů)- arabské číslice (11 znaků);

?Interpunkce [!@#$%…] (52 glyfů)- interpunkční znaménka a speciální označení (52 znaků);

?Základní latinka (95 glyfů)- písmena většiny evropských jazyků (95 znaků);

?azbuka (499 glyfů)- Azbuka (499 znaků). Možná nejdůležitější bod v našem případě.

Zpravidla je v tomto seznamu zvýrazněno několik položek najednou (to je pravda - kdo potřebuje písmena bez čísel!). Chcete-li to provést, nejprve klikněte na první položku z množiny těch, které chceme vybrat, a poté stiskněte klávesu a přidržením klikejte na zbývající položky, dokud nevybereme vše. Poté můžete klíč uvolnit .

Pod seznamem písem je vstupní pole Zahrňte tyto znaky. V něm můžeme ručně zadat znaky, které je potřeba vložit. Tato metoda je užitečná, pokud chceme do písma vložit pouze určité znaky. A pokud stiskneme tlačítko Automatické vyplňování, Flash sám nahradí v tomto vstupním poli všechny znaky, které jsme použili v textu vybraného vstupního pole.

Úplně dole v okně Možnosti postavy je tam malé textové pole Celkový počet glyfů, ukazuje, kolik znaků jsme již vybrali pro vložení. Můžeme se tedy zastavit včas.

Knoflík Nevkládejte vám umožní rychle odstranit všechny znaky, které jsme vybrali pro implementaci. Když na něj kliknete, vstupní pole se vymaže Zahrňte tyto postavy, a ve velkém seznamu zmizí výběr položek, které jsme vybrali.

Nastavením možností vkládání písem v dialogovém okně Vkládání postav, by mělo být stisknuto tlačítko OK, je aplikovat. Pokud potřebujete tato nastavení zrušit, klikněte na tlačítko Zrušení.

Dynamické textové bloky

Často místo zobrazení prostého, neměnného textu chcete zobrazit výstup skriptu ActionScript v textové podobě. Takový skript by mohl například extrahovat zprávy z webu Compulents, předpověď počasí z webu Aporta a směnné kurzy z webu Rambler, přidat aktuální čas k extrahovaným datům a toto vše zobrazit jako text na obrazovce. (Mimochodem, zajímavý nápad...)

Právě pro zobrazení textu, který je výsledkem skriptu, se používají. dynamické textové bloky.(Běžné textové bloky se často nazývají statický.) Možná potřeba takových dynamických textových bloků vyvstává častěji než u vstupních polí.

Dynamický textový blok je vytvořen v podstatě stejným způsobem jako vstupní pole. Vytvořte běžný textový blok, vyberte jej nástrojem se šipkou a najděte jej v levém horním rohu panelu Vlastnosti malý rozevírací seznam (viz obrázek 7.4). Stačí si vybrat položku z tohoto seznamu Dynamický text.

Vybraný dynamický textový blok je podobný vstupnímu poli (viz obr. 7.9) a panelu Vlastnosti bude vypadat přibližně stejně jako na obr. 7.10. Nebudeme proto uvádět popis ovládacích prvků v něm obsažených, ale omezíme se na poukázání na existující rozdíly.

Stejné proměnné se používají k zobrazení textu v dynamickém textovém bloku. Skript ActionScript umístí výstupní text do takové proměnné a přehrávač Flash provede výstup. Název této proměnné se zadává do stejného vstupního pole, které se nachází pod seznamem, s jehož pomocí jsme právě změnili běžný textový blok na dynamický.

Nyní o rozdílech. V rozhraní je vlastně jen jeden rozdíl a navíc je nám již povědomý. Přepínací tlačítko:


Nyní je k dispozici možnost zvýraznění a kopírování textu umístěného v dynamickém textovém bloku a pokud si to přejeme, můžeme ji zakázat.

Rozdíl ve schopnostech spočívá v tom, že lze vytvořit dynamický textový blok rolovací. Běžný dynamický blok musí mít určitě takové rozměry, aby pojal veškerý svůj obsah. U rolovatelného bloku to není nutné: podobně jako oblasti Editace Windows, může "posouvat" text, který obsahuje. Pro ovládání posouvání budeme muset napsat vhodné skripty ActionScript – rolovací textový blok neobsahuje posuvníky.

Chcete-li dynamický textový blok posouvat, musíte jej nejprve vybrat. Poté byste měli zapnout vypínač Posouvací Jídelní lístek Text nebo stejnojmennou položku kontextové nabídky textového bloku. Pokud je aktuálně otevřený textový blok, můžete dvakrát kliknout na čtvercový úchyt umístěný v pravém dolním rohu výběrového obdélníku a současně podržet . Hotový rolovatelný textový blok je znázorněn na Obr. 7,12; Všimněte si, že značka, na kterou jsme klikli, měla podobu černého čtverce.


Pod názvem "Macromedia Flash 8: kurz pro mladého bojovníka", věnovaný tomuto nádhernému softwarovému produktu a Flash technologie. Ode dneška se témata, o kterých mluvíme o Flashi, zaměří více. Proto odteď v názvu vynechám slova „kurz mladých bojovníků“. Tato okolnost však vůbec neovlivní způsob podání materiálu, jehož hlavním cílem je zodpovědět mnoho otázek, které začínající flash designéři mají a dát podnět k zamyšlení těm zkušeným.

Takže dnes jsou na pořadu dne součásti uživatelského rozhraní Macromedia Flash Professional 8 a také to, jak je přizpůsobit.


Standardní Flash 8 komponent

Nejnovější verze výkonného grafického balíku Macromedia Flash 8 kromě spousty nástrojů, metod a efektů časové osy určených k vytváření vysoce kvalitní animace obsahuje plnohodnotný objektově orientovaný programovací jazyk ActionScript 2.0 a četné komponenty (vestavěné v programových blocích, jako je film).

Proč vůbec potřebujeme komponenty? V mnoha případech výrazně zjednodušují proces vývoje interaktivní aplikace. Pomocí polí pro zadávání dat a různých přepínačů na webových stránkách lze snadno vytvářet registrační formuláře, pomocí loaderů ovládat načítání textových a multimediálních dat z různých zdrojů atd. Dnes se podíváme na jednu z tříd komponent ve Flash 8 – prvky uživatelského rozhraní (UI).

Nejoblíbenějším objektem ve Flashi je samozřejmě tlačítko. Je přítomen ve Flashi jako typ symbolu i jako prvek uživatelského rozhraní. Komponenty RadioButton, CheckBox, MenuBar atd. se používají méně často, ale nejsou o nic méně důležité. Okno komponent se vyvolá stisknutím Ctrl+F8 nebo z nabídky Okno -> Komponenty. V tabulce jsou uvedeny hlavní součásti uživatelského rozhraní.

Komponent Popis
Akordeon Navigátor formuláře
Upozornění Textová zpráva
Knoflík Jednoduché tlačítko
CheckBox Zaškrtávací políčko
ComboBox Kombinovaný seznam
Seznam Seznam
Nakladač Nakládací kontejner
RadioButton Přepínač
TextArea Textová oblast
Okno Kontejner v podobě okna

Dnes se na příkladu nastavení parametrů prvku uživatelského rozhraní s názvem Alert podíváme na principy práce se styly komponent.


Přednastavení vlastností součásti

Komponenta Alert umožňuje uspořádat malý dialog mezi uživatelem a počítačem. Představme si něco podobného jako program Alice Talking, vytvořený v 60. letech a disponující malou umělou inteligencí, která umožňovala vést rozhovor s člověkem pomocí jeho odpovědí na dříve položené otázky.

Nejprve změňme popisky na tlačítkách a napišme handler pro jejich kliknutí. V závislosti na tom, na které tlačítko uživatel klikl, se zobrazí speciální zpráva. Toho všeho je dosaženo bez použití stylů. Přetáhněte tedy okno výstrahy na prázdný list z panelu Komponenty a poskytněte mu všechna potřebná nastavení. Připomeňme, že v každém souboru Flash fla je knihovna (vyvolaná stisknutím Ctrl+"L"), ve které jsou uloženy instance komponent. Zde se také hodí okno Alert. Protože nechceme, aby se neustále povaloval v pracovním prostoru, můžeme jej odtud odstranit (samozřejmě z kreslicího plátna). Upozornění zůstane v knihovně.

Nyní vyberte první snímek na časové ose, přejděte do sekce Akce (F9) a napište následující kód programu: „import mx.controls.Alert“ (další podrobnosti viz výpis). Mnoho z požadovaných nastavení lze nastavit pouze pomocí jazyka ActionScript. Výstražné okno je vyvoláno procedurou Alert.show ("text", "název okna", "použitá tlačítka", "okno", "klikací nástroj", "vybrané tlačítko") s mnoha parametry uvedenými v závorkách. Pro použitá tlačítka je v jednoduchých uvozovkách uvedeno „Alert.YES | Alert.NO“ (existují také tlačítka „OK“ a „Cancel“) a pro obsluhu události funkce „buttonclick“, kterou napíšeme trochu později. Nyní změňme popisky na tlačítkách "YES" a "NO" pomocí vlastností komponenty Alert "yesLabel" a "noLabel". Poté nastavte požadované rozměry („buttonWidth“ a „buttonHeight“). Pro výběr optimálních parametrů je užitečné spustit video pro testování - klávesy "Enter" + Ctrl. Logika funkce „buttonclick“ je následující: když stisknete tlačítko „Báječné“, objeví se zpráva „Nechte to!“, když „Tak-tak“ - „Držte nos nahoře!“ Aby se změny projevily, musí popis této funkce a nastavení komponenty Alert předcházet volání procedury Alert.show, jak je uvedeno ve výpisu:

Importovat mx.controls.Alert; Alert.buttonWidth=150; Alert.buttonHeight=25; Alert.yesLabel="Úžasné"; Alert.noLabel="Tak-tak..."; buttonclick = function(evt)(if (evt.detail == Alert.YES) (Alert.show("Pokračujte!", "Macromedia Flash 8");) if (evt.detail == Alert.NO) ( Alert .show("Nos nahoru!", "Macromedia Flash 8");)) Alert.show("Co se děje, kamaráde?", "Macromedia Flash 8", Alert.YES | Alert.NE, toto, buttonclick , Upozornění .ANO);

Podobným způsobem můžete organizovat složitější dialog s uživatelem.


Práce se styly

K čemu se styly používají? Teď to vysvětlím. Každá komponenta ve Flashi má určité barevné schéma, velikost písma atd. Ale pokud vyvíjíte například svůj vlastní web, pak abyste neporušili integritu obrázku, budete muset komponenty „přizpůsobit“ webu. Myslím, že se nebudu mýlit, když řeknu, že každý flash designer se snaží vytvářet svá videa zvláštním způsobem, který je pro něj jedinečný. Pomocí stylů a motivů ve Flashi 8 můžete udělat každou komponentu jedinečnou. Ale nenechme se unést a zaměřme se zatím na styly.

Rozhraní pro programování aplikací pro formátování (Styles API) poskytuje uživateli vlastnosti a metody, které lze použít ke změně barvy komponenty a formátování textu na ní obsaženého. Obvykle to stačí. Flash 8 se dodává se dvěma styly se sadou parametrů: „Halo“ a „Sample“, které jsou umístěny v souborech HaloTheme.fla a SampleTheme.fla. Obrázek ukazuje jejich umístění ve Windows 2000/XP. Je třeba poznamenat, že téma „Ukázka“ má mnohem více vlastností, takže je vhodnější jej použít k úpravě komponent. A to se provádí následovně:

  1. Zavolá se příkaz Soubor -> Import -> Otevřít externí knihovnu a v dialogovém okně se zadá soubor SampleTheme.fla. Poté na panelu importované knihovny vyberte Flash UI Components2 -> Themes -> MMDefault. Poté z tohoto okna musíte přetáhnout složku se zdroji požadované komponenty (aktiv) do okna knihovny symbolů aktuálního dokumentu.
  2. Pomocí metod setStyle (parametr, hodnota) a getStyle (parametr) můžete nastavit nebo získat hodnotu konkrétního parametru vybraného stylu.

Protože pracujeme s komponentou Alert, přetáhneme složku "Alert Assets" do knihovny symbolů našeho dokumentu. Poté použijeme standardní vlastnosti motivu „Ukázka“ (viz výpis).

Global.styles.Alert.setStyle("barva", "červená"); _global.styles.Alert.setStyle("themeColor", "haloBlue"); _global.styles.Alert.setStyle("backgroundColor", "0xE0C5FE"); _global.styles.Alert.setStyle("fontFamily", "krát nový román"); _global.styles.Alert.setStyle("fontSize", "15");

Barva dialogového okna Výstraha je nyní fialová (0xE0C5FE) a jeho text je nyní modrý s písmem nastaveným na 15 bodů Times New Roman. Je třeba poznamenat, že symbol Alert byl upraven tímto způsobem, takže změny ovlivní všechny jeho instance. Popis všech vlastností motivů Halo a Samlpe lze nalézt v nápovědě Flash 8.


Co když mi to nestačí?

Pokud ani u stylů vzhled komponentů neodpovídá vašim estetickým požadavkům, pak můžete zkusit napsat vlastní motiv. Chcete-li to provést, stačí upravit nebo vyměnit skořepiny potřebných součástí v jednom ze standardních témat. Chcete-li to provést, uložte soubor HaloTheme.fla nebo SampleTheme.fla pod jedinečným názvem, načtěte jej, přejděte do okna knihovny symbolů (Window -> Library nebo Ctrl+L), vyberte požadovanou komponentu a vyberte možnost "Upravit" v kontextovém menu. Některé prvky uživatelského rozhraní se skládají z mnoha částí, takže je lze snadno transformovat překreslením nebo opětovným vytvořením každé části. Takovými komponentami jsou Button, CheckBox, ComboBox, DataGrid, RadioButton atd. Ostatní shelly se kreslí programově. V tomto případě ke změně vzhled komponenta bude muset upravit zdrojový kód. Jedná se například o komponentu Alert. Protože vytváření vlastního motivu je časově náročný proces, nebudeme se mu podrobně věnovat. Prozatím. To je vše.

Vedení stanovilo úkol: je třeba jej udržovat v aktuálním stavu Flash Player. Měřítko: ~15 000 počítačů, z nichž polovina skutečně potřebuje FP.

Zdálo by se, že v čem je problém - vytvoříme doménovou politiku, vložíme balíček MSI a radujeme se... Ale není tomu tak! Struktura společnosti je vysoce distribuovaná, tzn. Ve vzdálených lokalitách s kanálem ~1 Mbps na 20 počítačích už je protlačit politikům i 15 Mb problém - ráno zaměstnanci zapnou počítač a půl hodiny čekají, než se načte, dokud se vše nestáhne a nainstaluje (resp. jednoduše odpadne kvůli vypršení časového limitu). Nemluvě o tom, že počítače v takových kancelářích mají nepříjemnou vlastnost periodického vypadávání z domény.

Potřebovali jsme jiné řešení, které by fungovalo bez ohledu na politiky, nijak nezatěžovalo uživatele a využívalo kanál minimálně (alespoň aby ​​nestahovali všichni současně). Možnosti se skripty také nebyly z pochopitelných důvodů vhodné.

Google přišel na záchranu, jako obvykle: ukázalo se, že si můžete nainstalovat interní aktualizační server a nakonfigurovat na něm vestavěný FP updater. V tomto případě budete muset pouze distribuovat soubor nastavení klientům. Detaily pod střihem.

Nastavení aktualizačního serveru

1. Dostaneme licenční smlouva

Společnost Adobe vyžaduje k distribuci svého softwaru licenční smlouvu. Neporušujme podmínky použití a pořiďme si licenci (naštěstí to není vůbec těžké): FlashPlayer: Adobe Runtimes / Reader Distribution License Agreement. Licence se vydává na dobu jednoho roku. Po vypršení platnosti můžete žádost odeslat znovu.

2. Zvyšování webového serveru

Na platformě nezáleží, v mém případě provozuji N-tý web na IIS pod Win2012. Nespotřebovává prakticky žádné prostředky, přestože je pro tento server již nakonfigurováno ~3000 počítačů.

Nastavení serveru:

  • Přístup přes porty 80, 443 (http, resp. https).
    První je potřeba vlastně ke stažení, druhý FP půjde pro XML verzi aktuální verze.
  • Platný certifikát https.
    Vydal jsem certifikát založený na korporátním kořenovém certifikátu, který je standardně přítomen na všech počítačích.
  • Výpis adresáře.
    Bez toho jsem práci nezkontroloval - dokumentace se ptá, rozhodl jsem se to udělat tak, jak je napsáno.
Nebudu se rozepisovat o nastavení serveru.

Pro přehlednost nazvěme server FlashPlayerUpdate.domain.local.

3. Stáhněte si zdroje a nahrajte je na server

V kořenovém adresáři webového serveru vytvoříme strom adresářů: /pub/flashplayer/update/current/sau/ .

Strom adresářů na mém serveru:

Pokud jste v prvním kroku požádali o licenci, pak byste jako odpověď měli obdržet dopis s odkazem, odkud si FlashPlayer stáhnout – následujte právě tento odkaz. Pokud jste jej neobdrželi nebo jste si jej nevyžádali, přejděte sem: https://www.adobe.com/products/flashplayer/distribution3.html a stáhněte si archiv z odkazu " Stáhněte si zdroje pro aktualizaci na pozadí":

Vydání rozšířené podpory nebo veřejné vydání

Zde je třeba učinit poznámku. Na stránce jsou 2 možnosti stažení: standardní (veřejné) a rozšířené vydání podpory. V mém případě je důležitá stabilita a nové funkce nejsou potřeba, proto byla zvolena možnost ESR. Zároveň jsem si přidal určité množství hemoroidů: veřejná verze se dá přímo stáhnout pomocí skriptu z webu Macromedia. Stále jsem nevyhledal, jak stáhnout ESR, takže v mém případě je obsah na interním serveru aktualizován manuální režim.

Na konci článku jsem připojil 2 skripty PowerShell: for automatická aktualizace(pouze pro standardní verzi; snadno se přenese na bash), pro kontrolu aktualizací a upozornění e-mailem (pro jakoukoli verzi, včetně ESR).


Rozbalte stažený archiv do složky /pub/flashplayer/update/current/sau/ na serveru.

4. Distribuce konfiguračního souboru klientům

V závislosti na kapacitě systému:

  • 32bitová verze: C:\Windows\ Systém 32\Macromed\Flash\mms.cfg
  • 64bitová verze: C:\Windows\ SysWOW64\Macromed\Flash\mms.cfg
Můžete jej distribuovat jakýmkoli způsobem. Použil jsem kombinaci doménové politiky a antivirového administračního serveru (pro počítače, které opustily doménu).

V souboru povolujeme tichou automatickou aktualizaci, specifikujeme interval aktualizace (ve dnech), cestu k našemu serveru a pro každý případ i protokolování, abychom usnadnili diagnostiku problémů, pokud nastanou:

AutoUpdateDisable=0 SilentAutoUpdateEnable=1 AutoUpdateInterval=2 SilentAutoUpdateServerDomain=FlashPlayerUpdate.domain.local SilentAutoUpdateVerboseLogging=1
Pokud bylo vše provedeno správně, měl by se Flash Player na klientských počítačích začít aktualizovat podle plánu (podle výše uvedeného souboru - jednou za 2 dny). Služba Adobe update se obvykle spouští jednou za hodinu, aby zkontrolovala podmínky aktualizace – v tuto chvíli by měl Updater vidět konfigurační soubor, překonfigurovat aktualizace podle zadaných nastavení a přejít na nový server zkontrolovat verzi.

To znamená, že asi hodinu po distribuci konfiguračního souboru se můžete podívat na protokoly na serveru a vyhledat požadavky na kontrolu verze.

Automatizace

Jako klasický zástupce IT bratrstva nesnáším rutinní manuální práci a prostě jsem nemohl nezautomatizovat proces ověřování a stahování nová verze. Nicméně, jak je uvedeno výše, zatím jsem nenašel způsob, jak stáhnout verze ESR z webu Macromedia, takže používám pouze skript ke kontrole aktualizací. Návrhy jsou vítány.
Skript pro automatické stahování aktualizací
Pouze pro veřejnou verzi!

Logika fungování: skript hloupě stahuje aktualizační soubory přímo z Macromedia pro verze 11,15,16,17,18,19 (pokud již byla některá verze ze stránek odstraněna, skript jednoduše přísahá, že se nepodařilo stáhnout a bude přeskočit) a nahradí jej aktualizačním serverem. Žádná kontrola verze. Ve fázi testování jsem použil tento skript: Spustil jsem ho přes plánovač na serveru v noci.

Pokud si přejete, můžete zkřížit tento skript a další a získat plnou automatizaci s kontrolou verzí, upozorněními a stahováním pouze v případě, že existují aktualizace.

Parametry skriptu:

  • *FPRoot- cesta ke kořenové složce aktualizačního serveru. Místní nebo síťové. Uživatel, ze kterého bude skript spouštěn, musí mít samozřejmě práva pro zápis do této složky.
  • FPDdownloadRoot- cesta na webu Macromedia. Toto je nastaveno ve výchozím nastavení, ale v případě potřeby lze změnit.
  • StáhnoutProxy http:// proxy.domena.local.
  • ProxyCredits
  • UserAgent
  • Platnost
* - povinný parametr

Příklad použití:

Powershell.exe -příkaz "& ".\FPUpdater.ps1" -FPRoot "\\FlashPlayerUpdate\pub\flashplayer\update\current\sau" -StáhnoutProxy "http://proxy.domain.local" -ProxyCreds "DOMAIN\UserName " -UserAgent "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) jako Gecko""
Všechny parametry mohou být pevně zakódovány do skriptu, pokud jsou dlouhé spouštěcí řádky zastrašující.

Skript pro kontrolu aktualizací a upozornění e-mailem
Aktualizace se kontrolují podle standardní verze, ale jelikož se aktualizují současně (opravy zabezpečení nikdo nezrušil), půjde to i pro ESR. Aby skript fungoval, musíte v kořenovém adresáři webového serveru (vedle složky pub) vytvořit soubor CurrentPublic, do kterého zadáte aktuální veřejnou verzi pro ActiveX(pro kontrolu se používá verze ActiveX).

Operační logika: skript porovnává verzi získanou ze souboru CurrentPublic z vašeho serveru s verzí na serveru Macromedia. Podívá se na verzi na serveru podle logiky automatické aktualizace: nejprve vyhledá aktuální hlavní sestavení v XML, přejde do složky s hlavní a tam se podívá na úplné sestavení.

Parametry skriptu:

  • *FPIntServerRoot- Adresa našeho serveru. Například: FlashPlayerUpdate.domain.local
  • FPDdownloadRoot- cesta na webu macromedia. Toto je nastaveno ve výchozím nastavení, ale v případě potřeby lze změnit.
  • ESR- zkontrolovat verzi ESR (bez tohoto příznaku zkontroluje veřejnou).
  • StáhnoutProxy- proxy server, pokud je používán ve firmě. Napiš úplně: http:// proxy.domena.local.
  • ProxyCredits- uživatelské jméno pro autorizaci na proxy.
  • UserAgent- změnit uživatelského agenta, pomocí kterého se bude PowerShell stahovat. Například náš proxy je omezen UserAgenty, já používám agenta Internet Explorer.
  • Platnost- zakázat kontrolu certifikátů pro rutinu Invoke-Webrequest (přesněji řečeno, aby důvěřovala všem certifikátům).
  • *MailTo- e-mailové adresy, na které budou zasílána upozornění.
  • *MailFrom- od koho budou přicházet oznámení. Například: [e-mail chráněný]
  • SmtpServer- smtp server, přes který bude zpráva odeslána.
* - povinný parametr

Příklad použití:

.\FPCheckUpdate.ps1 -FPIntServerRoot "fp-update.domain.local" -ESR -Proxy "http://proxy.domain.local" -UserAgent InternetExplorer -Force -MailTo " [e-mail chráněný]","[e-mail chráněný]"-MailFrom" [e-mail chráněný]" -SmtpServer "smtp.firma.com"

Použité zdroje

UPD

Mírně opožděná aktualizace ze 17.06.2016.

Od napsání tohoto článku se společnosti Adobe podařilo dvakrát změnit pořadí přístupu na stránku pro stahování FlashPlayer. V důsledku toho se nyní pro přístup na stránku pro stahování musíte nejprve přihlásit k Adobe ID. To znamená, že možnost analýza stránky pro verzi ESR již není k dispozici.

Zatím jsem se neobtěžoval s autorizací nebo přijímáním a odesíláním cookies přes PowerShell. V důsledku toho jsem předělal skript pro kontrolu ESR na stránce distribution3, která může každou chvíli zmizet. Zatím uvidíme dále.

Začátkem roku jsem na fóru Adobe položil dotaz na téma kontroly aktualizací verze ESR. Slibují, že něco vymyslí, ale zatím problém stále přetrvává.

UPD2

Onehdy se na distribuční stránce přehrávače Flash Player objevily následující informace (odkaz, který jste obdrželi, když jste obdrželi distribuční licenci):

POZORNOST! Důležité změny s vydáním Extended Support Release

Vydání Extended Support Release bylo původně navrženo tak, aby minimalizovalo čas, který správci IT stráví certifikací každé nové verze přehrávače Flash Player: Vydání Extended Support Release omezené vydání změn zabezpečení a oprav kritických funkčních problémů. V té době bylo v každém vydání Flash Player mnohem více funkčních změn, než bylo bezpečnostních změn. Situace se však nyní změnila: počet proaktivních a reaktivních bezpečnostních opatření výrazně převažuje nad funkčními změnami. V praxi již vydání Extended Support Release nechrání IT organizace před obrovské množství změny provedené ve standardních verzích Flash Player, ale pouze snižují funkční rizika. V tomto ohledu bylo rozhodnuto ukončit vydání rozšířené podpory a soustředit se na vývoj pouze standardních verzí. Přidat štítky

Poslední článek byl věnován animaci. Vytvořili jsme animaci založenou na doplnění pohybu, doplnění tvaru a jednoduchého skládání pohybu z jednotlivých snímků. Myslím, že je čas přejít k pokročilejšímu tématu a podívat se na nástroj, který vytváří základ pro většinu kvalitních Flash filmů.

Tímto nástrojem je ActionScript, jazyk řízený událostmi zabudovaný do Flash. Nejnovější verze ActionScript (který je přítomen ve Flashi 5) se výrazně liší od ActionScriptu, který byl ve Flashi 4. Pokud se v předchozí verzi jednalo o omezenou sadu příkazů, která umožňovala pouze základní akce, a zadávala se pomocí nepříliš uživatelsky přívětivého rozhraní, pak je nový ActionScript výkonný jazyk, se zvýšenou sadou příkazů, podporou tříd, dědičností (!) a mnohem pohodlnější rozhraní.

ActionScript dělá vaše stránky interaktivní. Na události můžete reagovat z myši nebo klávesnice a při přehrávání určitého snímku můžete provádět libovolné akce.

Pro úplné zvládnutí ActionScriptu je vhodné mít již zkušenosti s programováním (nejlépe v C++, JavaScriptu atd.). Jednou z výhod jazyka Flash je však to, že k psaní kvalitního kódu v něm nemusíte být profesionálem Flash nebo plně obeznámeni s ActionScriptem. Můžete používat ty jazykové funkce, které považujete za nezbytné pro svou práci.

Vzhledem k tomu, že tento článek je o základech jazyka, budeme se v něm věnovat:

  • Panel Akce je místem, kde probíhá téměř veškerá komunikace s jazykem ActionScript.
  • Tlačítka - jak je zajistit, aby fungovaly tak, jak požadujeme.
  • Cesty – jak se dostat k potřebným objektům?
  • Základní akce s Flash karikaturami (filmovými klipy) - proces přehrávání filmu budeme řídit podle libosti.
  • Ladění v jazyce ActionScript – okna výstupu a ladění.

Účelem tohoto článku je přiblížit vám jazyk ActionScript, ukázat, že tento jazyk lze použít jak k vytváření velmi působivých programů, tak k provádění základních akcí, díky nimž bude vaše stránka mnohem atraktivnější.

Podmínky

Než se pustíme do konkrétních akcí, pár pojmů jazyka ActionScript:

  • Akce- toto jsou pokyny, které říkají komiksu Flash, co má dělat. Od nich pochází název jazyka - ActionScript (doslova - akční skript). Domluvme se, že v rámci tohoto článku budeme používat termín „návod“, aby nedošlo k záměně se skutečnými úkony, které budeme provádět.
  • Události- to jsou akce, ke kterým dochází při hraní karikatury. Události mohou nastat například při ukončení načítání určitého rámce, když dosáhneme určitého rámce, když uživatel stiskne klávesu na klávesnici nebo je kurzor myši nad naším objektem.
  • Výrazy je jakákoli část instrukce, která vytváří hodnotu. Následující příklady jsou výrazy: 2 + 2, 2 * 2, a + b, 2*pi*r, (15 + k) * náhodné (10).
  • Funkce je blok kódu, který lze znovu použít. Můžete předat hodnoty funkci a získat z ní výsledek. Například, číslo = get_color(15, 24). 15 a 24 jsou argumenty (nebo parametry) funkce get_color, jejíž návratová hodnota se zapisuje do proměnné číslo.
  • Třídy jsou typy objektů. Například třída stromu je rostlina. Flash má řadu předdefinovaných tříd (podobně jako třídy JavaScriptu). Můžete si vytvořit vlastní třídy nebo upravit stávající.
  • Instance jsou doslova příklady určitých tříd. Instancí rostliny může být například strom, keř nebo květina. Instance je již konkrétní reálný objekt. Pokud je třída definicí objektu (instance), pak je instance již konkrétním ztělesněním, je to třída v akci. Každou instanci lze pojmenovat, aby bylo možné přes ni přistupovat k funkcím nebo proměnným objektu.
  • Psovodi jsou speciální instrukce, které zpracovávají události. Například onClipEvent- handler pro akce spojené s určitým symbolem (viz).
  • Operátoři jsou jazykové prvky, které počítají hodnoty na základě jednoho nebo více argumentů. Například operátor sčítání (+) vrátí součet dvou hodnot vlevo a vpravo od něj.
  • Proměnné jsou identifikátory, které mohou uchovávat hodnoty. Například a = 5; nebo jméno = "Michael".

Toto jsou termíny, které použijeme při diskusi o jazyce ActionScript. Tak…

Panel akcí

Lišta akcí slouží k zobrazení a zadávání programů ActionScript (obr. 1). Panel má dva režimy provozu – normální (pro figuríny) a expert. V expertním režimu je seznam příkazů jednoduché pole pro zadávání textu. V normálním režimu nemůžeme přímo upravovat příkazy. Chcete-li to provést, použijte panel možností.

Pokyn můžete přidat kliknutím na tlačítko „+“ (viz obr. 1) nebo výběrem příslušného pokynu v seznamu jazykových prvků. Kromě toho pro všechny akce ve Flashi existují klíčové sekvence, které lze použít k tomu mnohem rychleji. Jsou zobrazeny napravo od každé akce v nabídce tlačítka „+“. Například pro přidání funkce stop(), musíte stisknout Esc+st (postupně: Esc, poté „s“ a poté „t“).

Pokyn můžete smazat jeho výběrem a stisknutím tlačítka „-“ (nebo jednoduše klávesy Delete).

Pokud nemáte zkušenosti s programováním v jazycích podobných Javě (C++, Java, JavaScript), doporučuji hned nezačínat používat expertní režim. Normální režim má velkou výhodu, díky které je pro začátečníky nepostradatelný – je mnohem menší pravděpodobnost, že uděláte chyby v syntaxi jazyka. To pomůže začátečníkům rychle porozumět složitosti jazyka ActionScript.


Rýže. 1 - Panel akcí

Panel akcí zobrazuje akce aktuálně vybraného objektu nebo rámce.

Tlačítka

První věc, kterou chcete, když se začnete učit Flash interaktivitu, je vytvořit něco, co by reagovalo na akce uživatele, „oživit“ váš výtvor, přidat zpětná vazba. Nejjednodušší způsob, jak to udělat, je pomocí tlačítek. Začneme proto jimi.

Jak víte, ve Flashi existuje speciální typ symbolu pro vytváření tlačítek - Button (viz). Předpokládejme, že jste se již naučili vytvářet tlačítka, nyní se naučíme, jak sledovat kliknutí na tato tlačítka.

Tlačítka v Macromedia Flash mají rozsáhlý seznam událostí, na které můžeme reagovat:

  • lis- tlačítko myši je stisknuto, když je kurzor uvnitř tlačítka;
  • uvolnění- tlačítko myši se uvolní, když je kurzor uvnitř tlačítka;
  • uvolnitVenku- tlačítko myši se uvolní, když je kurzor mimo tlačítko;
  • převalit se- kurzor myši vstoupí do tlačítka;
  • zavést- kurzor jde za tlačítko;
  • přetáhněte- kurzor zadá limity tlačítka, zatímco bylo tlačítko stisknuto a byla stisknuta klávesa myši;
  • vytáhnout- kurzor jde za tlačítko, zatímco bylo stisknuto tlačítko a byla stisknuta klávesa myši;
  • stiskněte klávesu("klávesa") - byla stisknuta "klávesa". Můžete si prohlédnout seznam kláves v nápovědě Flash (objekt Key) nebo použít pruh voleb k zadání požadované klávesy.

Flash si bohužel „rozumí“ pouze s levým tlačítkem myši. Pravý slouží k vyvolání kontextového menu (kliknutí pravým tlačítkem myši na nějakou Flashovou karikaturu). Ještě jsem nenarazil na žádné způsoby, jak zachytit prostřední tlačítko nebo kolečko myši ve Flashi; myslím, že neexistují.

Tyto události jsou zachyceny pomocí směrnice na(). Jeho syntaxe je:

Na (událost) (... // Naše akce)

Níže se můžete pokusit spustit některé události sami:

Velmi často používaným příkladem je následování odkazu po kliknutí na tlačítko:

Zapnuto (vydání) ( getURL("http://rubs.boom.ru"); )

Chcete-li tento scénář otestovat, zvýrazněte své tlačítko, stiskněte Ctrl+Alt+A a vstupte do programu.

Takto můžete snadno zachytit všechny události spojené s tlačítkem. Jak je použít, je čistě věcí vaší fantazie.

Základní kroky s filmovými klipy

Obrovské množství kreativity ve Flashi pochází z manipulace se symboly. Téměř všechny základní techniky, všechny triky a efekty jsou bez těchto akcí nemožné.

Pomocí jazyka ActionScript můžete s postavami dělat téměř vše, co chcete. Jen si musíte pamatovat, že tyto akce lze provést pouze v reakci na akci uživatele, nebo když se na časové ose objeví určitý snímek.

Tak co máme? Uvedu pouze hlavní (podle mého názoru) nástroje. Zbytek najdete v seznamu jazykových prvků nebo v nápovědě.

Funkce filmových klipů, které lze volat:

  • hrát si() - spustí nebo obnoví přehrávání klipu;
  • stop() - zastaví přehrávání klipu;
  • gotoAndPlay() - přejde na určitý snímek (scénu) a pokračuje v přehrávání;
  • gotoAndStop() - přejde na konkrétní snímek (scénu) a zastaví přehrávání.

Vlastnosti (parametry) klipů, které lze číst/změnit:

  • _x, _y - souřadnice klipu (v pixelech);
  • _xscale, _yscale - měřítko klipu (v procentech), vodorovně a svisle;
  • _šířka výška - šířka a výška klipu (v pixelech);
  • _otáčení - úhel natočení klipu (ve stupních);
  • _alfa - průhlednost klipu (v procentech);
  • _viditelný - viditelnost.

To není vše, co lze pomocí klipů udělat. Použijte jiné parametry, experimentujte, buďte kreativní!

Jména

Abychom měli přístup ke klipům, musíme porozumět konceptu názvu objektu (název instance) a cesty k objektu (cílová cesta). Shodněme se, že filmový klip a objekt jsou pro nás to samé.

Název objektu je název konkrétní instance symbolu. Řekněme, že můžeme mít symbol - auto a instance tohoto symbolu se budou nazývat „Stroj1“, „Stroj2“, „Pickup“, „Záporoží“...

Abyste mohli pojmenovat objekt, musíte objekt vybrat a v panelu Instance (Okno->Panely->Instance, Ctrl+I) ve sloupci Název zadat název objektu (obr. 2 ). Jména se mohou skládat pouze z písmen, číslic a podtržítka ("_") a jméno nemůže začínat číslicí.


Rýže. 2 - Panel instancí

Cesty

Cesta k objektu je záznamem názvu objektu s přihlédnutím k hierarchii. Pokusím se vysvětlit, co to je.

Víte, že ve Flashi lze objekty vnořovat do sebe, a tak vytvářet hierarchii. Toto vnoření tedy poskytuje nejen pohodlí při manipulaci s objekty, ale také omezuje viditelnost názvů objektů. Viditelnost je omezena její úrovní. Objekt může přímo (podle názvu) přistupovat pouze k objektům v něm, které jsou v hierarchii o jednu úroveň níže.

Abyste mohli přistupovat k objektu na jiné úrovni, musíte znát cestu k němu. Cestu lze navíc specifikovat buď absolutně (z nejvyšší úrovně hierarchie) nebo relativně (z aktuální úrovně).

Cesta zahrnuje objekty, kterými musíme „projít“ stromem hierarchie, abychom se dostali k objektu, který potřebujeme, uvedený přes tečku. Kromě toho existuje několik ukazatelů (můžeme je nazvat „virtuálními objekty“), které jsou často velmi užitečné:

tento - ukazatel na „sebe“ (tj. na aktuální objekt). Může být potřeba například tehdy, když potřebujete předat ukazatel na objekt, ze kterého je tato funkce volána funkci.

_rodič - ukazatel na "rodič". Ukazuje na objekt na vyšší úrovni v hierarchii.

_vykořenit - "kořen". Toto je začátek hierarchie. Při zadávání absolutní cesty se bez něj neobejdete.

Cesta vypadá takto:

list.hra();- u podobjektu list(listová) funkce volána hrát si();

_parent.tree.leaf.stop();- předpokládá se, že na jedné úrovni je objekt strom, která má předmět list, ze kterého je funkce volána stop();

_root.banner._visible = false;- udělat klip prapor, umístěný v 1. patře, neviditelný.



Rýže. 3 - Hierarchie klipů

Pro ilustraci si vezměme hierarchii 5 objektů (obr. 3). Objekty 1-4 jsou v 1. vrstvě, objekt 5 je ve 2. vrstvě. Objekt 2 je vnořen do objektu 1 a objekt 3 je vnořen do objektu 2. Objekty na obrázku jsou vizuálně vnořeny do sebe, ale to v žádném případě neznamená, že by tomu tak mělo být „ve skutečnosti“. Zde jsou pro přehlednost seskupeny. Protože jméno objektu nemůže začínat číslem, nechejte naše objekty volat obj1-obj5.

Nyní se pojďme zabývat cestami. Nejprve se podívejme, které objekty na sebe mohou odkazovat jménem. obj1 může kontaktovat obj2, A obj2- Komu obj3, ale v tu samou dobu obj1 nelze kontaktovat obj3 přímo, protože není obsažen v obj1 a v obj2.

Řekněme, že první objekt potřebuje objekt 3, aby mohl začít znovu hrát od 1. snímku. Zde je návod, jak se to dělá:

Obj2.obj3.gotoAndPlay(1);

Aby 4. objekt učinil 1. objekt (pozn. se všemi podobjekty!) poloprůhledný, potřebuje do svého skriptu napsat následující:

Parent.obj1._alpha = 50;

Root.obj1._alpha = 50;

Protože obj4 je na první úrovni hierarchie, pak pro ni _vykořenit A _rodič- stejné.

Nyní pro objekt 3 napíšeme skript, který udělá objekt 5 neviditelným po stisknutí tlačítka myši. Ve skriptu pro objekt 3 napíšeme:

OnClipEvent (mouseDown) ( _root.obj5._visible = false; )

V tomto úryvku jsme použili absolutní cestu. Pokud bychom použili relativní, vypadalo by to takto:

Parent._parent._parent.obj5._visible = false;

Doufám, že jsem problém s cestou vyřešil.

Výše uvedené příklady ukázaly nejen to, jak vypadají cesty, ale také jak se volají funkce a přiřazují hodnoty vlastností.

Publikace na dané téma