Flash tiptrik – funkce v html textu
25.10.2007· Autor: Ondřej Brichta·
Počet komentářů: 1
Jednoduchou, ale o to zajímavější možností je spouštění funkcí přímo z textových polí. Řešení si ukážeme v dnešním tutoriálu.
Funkce v HTML textu
Zajímavá možnost se nám naskýtá ve využití běžných <a> tagů v html formátovaném textu jako odkazů pomocí kterých lze přímo spouštět konkrétní funkce ve flashové aplikaci. Základem je vytvoření textového ple, které umí zobrazit HTML formátovatelný text a do tohoto textu pak umístit přes <a> tag odkaz, který využívá speciální zápis pro spuštění konkrétní funkce.
Pokud používáme ActionScript 2.0 a máme na scéně dvě dynamická textová pole s názvy instancí „my_txt" a „output_txt", můžeme pomocí následujícího skriptu využít asfunction protokol pro spuštění konkrétní funkce:
my_txt.html = true;
my_txt.htmlText = "Ukázkový <a href='asfunction:setText,text HTML odkazu'>HTML</a> text";
function setText(txt:String):Void {
output_txt.text = txt;
}
Nejprve nastavíme HTML parametr textového pole na true, abychom do něj mohli umístit text s <a> tagem, který obsahuje odkaz přes asfunction, kde prvním parametrem je název funkce, druhým pak případné parametry, které funkce požaduje. Aby proběhla komunikace správně, funkci volanou z textového pole musíme umístit do stejné úrovně (stejná časová osa), jako je textové pole.
Řešení pro ActionScript 3.0
Pokud zvažujeme řešení pro ActionScript 3.0, musíme na asfunction zapomenout. V nové verzi ActionScriptu se již nevyskytuje, ale u textového pole přibyla událost LINK, která patří do třídy TextEvent. Pomocí události LINK máme možnost detekovat kliknutí na odkaz v rámci textového pole:
my_txt.htmlText = "Ukázkový <a href='event:text HTML odkazu'>HTML</a> text";
my_txt.addEventListener(TextEvent.LINK,onLink);
function onLink(e:TextEvent):void {
output_txt.text = e.text;
}
Pokud vytvoříme HTML odkaz ve tvaru:
<a href='event:parametr'>ODKAZ</a>
můžeme pomocí vlastnosti "text" objektu LINK události zjistit textový řetězec, který je uvedený za výrazem "event". Připravená funkce listeneru události pak může obsahovat libovolný skript, který se spustí po kliknutí na odkaz v rámci textového pole.
Zdrojové soubory ukázek jsou k dispozici zde: data.zip
Ondřej Brichta Vývojář multimediálních aplikací, šéfredaktor Flash.cz, školitel produktů Flash, Flex, Flash Media Server
Web:
http://www.obria.cz
|
Motto: <°))))><
Seriál:
Tipy a triky
Tipy a triky je seriál zaměřený na zajímavá řešení a vylepšení flashových aplikací