Kurz Axure RP – 4. Jak v Axure RP udělat opakující se cyklus – smyčku?

V tomto článku vám ukážu na praktickém příkladě, jak v Axure RP verze 5.6 udělat cyklus. Možnosti využití jsou různé. Já jsem zvolil jednoduchý příklad reklamy s rotujícími bannery. Ale dají se na tom založit i hry.

Princip cyklu

Předně musím zmínit, že autorem tohoto jednoduchého principu je Jeff Harrison, který s ním poprvé přišel. Věc je to geniálně jednoduchá a dá se i více rozvíjet. Jeffa mimochodem doporučuju sledovat, pokud vás Axure zajímá více.

O co tedy jde? Formulářové prvky mají události reagující na jejich označení (focus). Pokud tedy například textové pole získá „focus“, provede akci, která je navázána na událost OnFocus. A je to. Už jen zbývá po provedené akci předat „focus“ dalšímu prvku. Takhle si ho dva prvky mohou předávat donekonečna. Problém je s počítáním. V Axure jde udělat i jednoduché počítadlo (o tom jindy), ale nejjednodušší je to prostě „vypodmínkovat“.

Příklad

Nejdřív se podívejte na hotový příklad. Jedná se o jednoduchý banner, kde rotují stále dokola 4 obrázky. Po kliknutí na některý z nich se rotování zastaví.
Vytvoříme si tedy dynamický panel se 4 stavy, kde každý bude představovat jeden z obrázků. V každém stavu jsou dole stejné odkazy, které ukončí smyčku a přepnou na stav odpovídajícímu danému číslu.

Jak uděláme ten cyklus?

Na níže uvedeném obrázku vidíte již hotový dynamický banner a dvě textová pole. Ty si mezi sebou předávají „focus“, přičemž jedno vždy provede odpovídají akci (v našem případě změnu stavu banneru).

Akce navázané na textové pole jsou jednoduché. První tlačítko (TEXT1) řeší změnu stavu a pak předá „focus“ dále. Akce vidíte na následujícím obrázku.

Druhé tlačítko (TEXT3) pak počká odpovídající časový interval, po který se má jedna reklama zobrazit a následně vrátí „focus“ prvnímu tlačítku. A jede se dokola dál.

Spuštění cyklu

Cyklus spustíme jednoduše. Stačí některému z uvedených prvků ve smyčce (TEXT1, TEXT3) udělit „focus“. Může to být navázáno na nějakou akci uživatele na stránce. V našem případě jde o reklamu a ta se spustí hned jak uživatel načte stránku. Proto tedy události na stránce OnPageLoad přidáme a odpovídající akci, jak ukazuje další obrázek. Pokud chcete reklamní prvky na větším webu dávat na více míst a uděláte z nich „master“, přidejte OnPageLoad přímo v „mastru“, nebudete se tak muset starat, kde na stránce reklama je.

Ukončení cyklu

Ukončení cyklu je opět jednoduché. V našem případě je navázáno na stisknutí některého z čísel odpovídajících obrázků. Můžeme buď v případě složitějších akcí předat „focus“ prostě někam jinam. Pokud chceme mít naprostou jistotu, je vhodné cyklus ukončit tím, že všem prvkům v cyklu nastavíme „disable“ a tím znemožníme, aby jim cokoliv udělilo „focus“. Jak vypadá akce jednoho tlačítka vidíte na následujícím obrázku.

Závěrem

Nakonec ještě textová pole za něco schováme, protože nechceme, aby byli vidět. Pro lepší pochopení se kromě ukázky podívejte i na zdrojový soubor příkladu .rp. Tenhle jednoduchý princip vám hodně rozšíří funkčnost, pokud si chcete vyhrát s funkčními prototypy. A pro ty, co opravdu chtějí, dodám, že se princip dá aplikovat i na dynamické panely. Ty sice nemají událost OnFocus, ale zase se mohou schovat a zobrazit. Samotné zobrazení již zobrazeného panelu vám nepomůže. Pokud si tedy chcete s panelem hrát, nejdříve ho schovejte a následně hned zobrazte. Navázáním akcí na událost OnShow docílíte stejného efektu jako u textových polí.

V následujícím článku se můžete těšit na přehled klávesových zkratek a praktických tipů, jak zrychlit a zefektivnit práci v Axure RP.