Macromedia FlashV²uka Flash (24.) |
|
┌vodem | V²uka Flash | Odkazy | Aplikace | Otßzky a odpov∞di |
|
KontextovΘ menuJednou z dalÜφch novinek, kterΘ najdeme ve Flashi verze MX 2004 jsou kontextovΘ menu. Nynφ m∙₧eme vytvo°it vlastnφ menu, kterΘ se zobrazφ po kliknutφ prav²m tlaΦφtkem nad animacφ, tlaΦφtkem nebo textov²m polem. TΘto vlastnosti m∙₧eme vyu₧φt zejmΘna pokud budeme vytvß°et u₧ivatelsky zajφmav∞jÜφ rozhranφ. Nynφ m∙₧eme do kontextovΘho menu p°idßvat novΘ polo₧ky, odd∞lovacφ pruhy atd. Jako p°φklad si m∙₧ete vyzkouÜet nßsledujφcφ ukßzku. T°φda ContextMenuHlavnφ Φinnost obstarßvß t°φda ContextMenu, kterß umo₧≥uje vytvo°enφ novΘho kontextovΘho menu. Pro vytvo°enφ novΘho menu musφme nejprve vytvo°it novou instanci t°φdy ContextMenu. // Vytvo°enφ instance var testovaciMenu:ContextMenu = new ContextMenu(); Nynφ m∙₧eme pracovat s touto instancφ a p°idßvat novΘ polo₧ky do menu pomocφ vlastnosti CustomItems. Ka₧dou polo₧ku charakterizuje t°φda ContextMenuItem, pomocφ kterΘ m∙₧eme nastavit vlastnosti p°idßvanΘ polo₧ky. NovΘ polo₧ky se zobrazφ v₧dy naho°e a musφ obsahovat alespo≥ jeden znak (mezery, zalomenφ a jinΘ znaky jsou ignorovßny). Maximßlnφ dΘlka polo₧ky je 100 znak∙. U ka₧dΘ novΘ polo₧ky m∙₧eme nastavit nßsledujφcφ vlastnosti.
Nynφ p°idßme novou polo₧ku do naÜeho testovacφho menu pomocφ vlastnosti CustomItems. Pro p°idßnφ vyu₧ijeme metodu push, proto₧e pracujeme s polem. // Vytvo°enφ instance var testovaciMenu:ContextMenu = new ContextMenu(); // P°idßme novou polo₧ku u kterΘ nastavφme vÜechny vlastnosti na hodnotu true testovaciMenu.customItems.push(new ContextMenuItem("Prvnφ polo₧ka", vyberPolozku, true, true, true)); Abychom mohli reagovat na udßlost, kdy u₧ivatel klikne na nßmi p°idanou polo₧ku, tak jsme specifikovali jako druh² parametr konstruktoru ContextMenuItem udßlost vyberPolozku: // Vytvo°enφ instance var testovaciMenu:ContextMenu = new ContextMenu(); // P°idßme novou polo₧ku u kterΘ nastavφme vÜechny vlastnosti na hodnotu true testovaciMenu.customItems.push(new ContextMenuItem("Prvnφ polo₧ka", vyberPolozku, true, true, true)); // Udßlost po klinutφ na polo₧ku function vyberPolozku(objekt:Object, menu:ContextMenu) { trace("Kliknutφ na polo₧ku"); } Prvnφ parametr obsahuje odkaz na objekt, nad kter²m bylo vyvolßno kliknutφ tlaΦφtka a druh²m parametrem je odkaz na kontextovΘ menu, pomocφ kterΘho m∙₧eme zp∞tn∞ nastavit jeho vlastnosti. Nynφ ji₧ staΦφ jenom p°i°adit naÜe novΘ kontextovΘ menu existujφcφmu objektu (tlaΦφtko, textovΘ pole, movie clip). // Vytvo°enφ instance var testovaciMenu:ContextMenu = new ContextMenu(); // P°idßme novou polo₧ku u kterΘ nastavφme vÜechny vlastnosti na hodnotu true testovaciMenu.customItems.push(new ContextMenuItem("Prvnφ polo₧ka", vyberPolozku, true, true, true)); // Udßlost po klinutφ na polo₧ku function vyberPolozku(objekt:Object, menu:ContextMenu) { trace("Kliknutφ na polo₧ku"); } // P°i°adφme naÜe menu hlavnφmu klipu _root.menu = testovaciMenu; Po spuÜt∞nφ klipu a kliknutφm prav²m tlaΦφtkem na jeho plochu se nßm zobrazφ menu a v n∞m naÜe novß polo₧ka. AvÜak spolu s naÜφ polo₧kou se zobrazφ i spousta dalÜφch, kterΘ si tam nep°ejeme. Vyu₧ijeme tedy metody hideBuiltInItems() t°φdy ContextMenu, kterß odstranφ vÜechny ostatnφ polo₧ky krom∞ Settings a Debugger v debug m≤du. // Vytvo°enφ instance var testovaciMenu:ContextMenu = new ContextMenu(); // P°idßme novou polo₧ku u kterΘ nastavφme vÜechny vlastnosti na hodnotu true testovaciMenu.customItems.push(new ContextMenuItem("Prvnφ polo₧ka", vyberPolozku, true, true, true)); // Udßlost po klinutφ na polo₧ku function vyberPolozku(objekt:Object, menu:ContextMenu) { trace("Kliknutφ na polo₧ku"); } // P°i°adφme naÜe menu hlavnφmu klipu _root.menu = testovaciMenu; // Skryjeme ostatnφ polo₧ky testovaciMenu.hideBuiltInItems(); Na zßv∞r si jeÜt∞ ukß₧eme, ₧e m∙₧eme n∞kterΘ z vestav∞n²ch polo₧ek p°idat nebo skr²t individußln∞. Prßv∞ k tomuto slou₧φ vlastnost builtInItems t°φdy ContextMenu, pomocφ kterΘ m∙₧eme nastavit viditelnost polo₧ek save, zoom, quality, play, loop, rewind, forward_back a print. // Vytvo°enφ instance var testovaciMenu:ContextMenu = new ContextMenu(); // P°idßme novou polo₧ku u kterΘ nastavφme vÜechny vlastnosti na hodnotu true testovaciMenu.customItems.push(new ContextMenuItem("Prvnφ polo₧ka", vyberPolozku, true, true, true)); // Udßlost po klinutφ na polo₧ku function vyberPolozku(objekt:Object, menu:ContextMenu) { trace("Kliknutφ na polo₧ku"); } // P°i°adφme naÜe menu hlavnφmu klipu _root.menu = testovaciMenu; // Skryjeme ostatnφ polo₧ky testovaciMenu.hideBuiltInItems(); // Zobrazφme print polo₧ku testovaciMenu.builtInItems.print = true; Pro kopφrovanφ obsahujφ t°φdy ContextMenu a ContextMenuItem metodu copy(), pomocφ kterΘ m∙₧eme zkopφrovat jednotlivΘ menu. Cel² p°φklad je mo₧nΘ si stßhnout zde. Zßv∞rPro tento dφl to bude vÜe. V p°φÜtφm dφle budeme pokraΦovat v poznßvßnφ Flashe.
|
|