Uživatelské nástroje

Nástroje pro tento web


vyuka:timer_loader_casovac

Události časovače, třída Timer

časovač - instance třídy Timer - v konstruktoru mu zadáme interval v milisekundách za jak dlouho má „odbíjet“, případně i počet opakování (pokud druhý parametr nezadáme - odbíjí pořád, dokud ho nestopneme

var casovac1:Timer=new Timer(3000);//"zvoní" každé tři vteriny
 
var casovac2:Timer=new Timer(3000,5);//"zvoní" každé tři vteriny, ale jen pět krát za sebou

zadané hodnoty jsou uchovány v položkách delay a repeatCount

 
trace(casovac1.delay); // vrátí 3000
trace (casovac2.repeatCount) // vrátí 5

časovač je třeba spustit a také stopnout, případně (případně resetovat)

casovac1.start();
....
casovac1.stop();
....
casovac2.reset(); //vrátí vše na počátek

Odbíjení časovače se děje tak, že časovač vygeneruje událost TimerEvent.TIMER , té je potřeba přiřadit posluchače.

casovac.addEventListener(TimerEvent.TIMER,reagujNaCasovac);
 
function reagujNaCasovac(e:TimerEvent) {
   .....
   .....	 
}
var casovac:Timer = new Timer(3000);
 
casovac.addEventListener(TimerEvent.TIMER,skoc);
 
function skoc(e:TimerEvent) {
	trace("ted mam skocit");
	blecha1_mc.play();
}
 
blecha1_mc.addEventListener(MouseEvent.MOUSE_MOVE,spustCasovac);
 
function spustCasovac(e:MouseEvent) {
	casovac.start();
}
 
blecha2_mc.addEventListener(MouseEvent.MOUSE_DOWN,chytMys);
blecha2_mc.addEventListener(MouseEvent.MOUSE_UP,pustMys);
 
function chytMys(e:MouseEvent) {
	blecha2_mc.startDrag();
}
 
function pustMys(e:MouseEvent) {
	blecha2_mc.stopDrag();
	casovac.stop();
}
blecha2_mc.buttonMode=true;

Nahrávání obrázků a SWF obsahu (Loader)

- můžeme nahrát SWF a obrázky ve formátu .jpg, .png, .gif

využití:

  • když chceme nahrát swf na web a to je příliš velké

swf(hra, film) se dá rozdělit do jednotlivých scének a ty se postupně nahrávají externím loaderem

např. nejprve intro, když se načte, první level, po skončení druhý level

to swf, které se má načíst jako první musí být co nejmenší - obsah, menu a uvnitř preloader (počet procent, kolik je načteno)

Třída Loader

- je v balíčku flash display, je dostupná od ActionScript 9, podporuje ji Flash Player 9 a vyšší

Základní metody:
  • load(request:URLRequest) - nahrávání
  • unload() - odstranění z paměti
  • close() - přerušení nahrávání
Vlastnosti Loaderu:

* ontent - vlastnost načtení, obsahuje objekt, který byl načten, zde jsou uloženy i jeho parametry (výška, šířka)

  • contentLoaderInfo - v ní jsou uloženy informace, které jsou o objektu známé v průběhu jeho načítání (velikost objektu, počet načtených dat)

Třída Loader Info

nese informace:

  • kolik bytů je načteno
  • kolik bytů má objekt celkem
  • jeho výška
  • šířka
  • frame rate (swf)
  • počet framů (swf)
  • verzi swf
  • actionscript (swf)
Události LoaderInfo
  • complete - zpráva o dokončeném načtení objektu (pak teprve je možné přistoupit k jeho vlastnostem)
  • open - generuje se když začne načítání (existuje soubor, správná cesta, dostupnost
  • unload
  • progress - vykonává se v průběhu načítání

Práce s Loaderem

Vytvoření loaderu

jako proměnná

import flash.display.Loader;
 
var loader:Loader = new Loader;//vytvoření proměnné loader a inicializace nového loaderu
Vytvoření parametru URLRequest
import flash.net.URLRequest;
loader.load(new URLRequest("soubor.swf"));
Vložení loaderu na scénu
addChild(loader);

pozadí sfw se bere jako průhledné pokud má objekt v swf start drag a stop drag, dá se tahat po celé scéně

Načítání obrázku
import flash.display.Loader;
import flash.net.URLRequest;
 
var loader:Loader = new Loader;
 
loader.load(new URLRequest("jpg.jpg"));
 
addChild(loader);
umístění loaderu na scéně + načtení obsahu z webu

automaticky se loader načítá do levého horního rohu

Pokud chceme, aby byl obrázek na středu scény, je nejlepší si vytvoři nový symbol - prázdný MovieClip ten se umístí na scénu tam, kde má být levý horní roh objektu

import flash.display.Loader;
import flash.net.URLRequest;
 
var loader:Loader = new Loader;
 
loader.load(new URLRequest("http://files.myopera.com/nikolabgd/albums/9456392/428553.jpg"));
 
naloader_mc.addChild(loader);
contentLoader complete

spuštění funkce obsahNačten po dokončení nahrávání souboru

loader.contentLoaderInfo.addEventListener(Event.COMPLETE, obsahNacten);
 
function obsahNacten(e:Event){
trace("Obsah načten");
loader.scaleY=1/loader.height*200;
}
změna velikosti loaderu
loader.scaleY=1/loader.height*200;
loader.scaleX=loader.scaleY;

Práce s videem

klasické video - musí být v počítači stažené celé, aby se mohlo přehrát (umí obejít vlc přehrávač)

streamované video - lze přehrávat zatímco se stahuje

flv - formát videa pro přehrávání ve flashi

adobe media encoder - převede video do formátu flv (i do dalších formátů)

V encoderu se dají pro flv nastavit Cue pointy (Kotevní body) - ty se musí vygenerovat spolu s flv, nejde je vytvářet dodatečně - mohou nám určit místo, kde video začne/nastaví se/vygeneruje událost

Cue point - můžeme nastavit čas - typ - událost nebo navigace

Videu můžeme nastavit: - formát - přednastavení - výstupní název - filtry - rozostření (gaussovo rozostření) - alfa kanál - pokud má zachovat průhlednost - kvalita videa (datový tok, nedobuzení) - kvalita audia (datový tok)

po nastavení videa se provede převod příkazem „Spustit frontu“

Po přetažení videa do flashe se objeví nastavení přehrávače flvplayer: - je možná změna vzhledu a nastavení funkcí - jméno instance (je možné ji ovládat pomocí AS3) - zarovnání videa, které načte (pokud je video menší než komponenta) - autoplay - načítá cuepointy - skin - vzhled ovládacích prvků (dva základní typy - skinOver(přes video), skinUnder (pod videem))

14_prace_s_videem.zip

vyuka/timer_loader_casovac.txt · Poslední úprava: 2014/05/02 08:31 autor: verca