Flash.jpw

  • Obecné
  • Adobe Flash
  • ActionScript 1 & 2.0
  • ActionScript 3.0
  • ActionScript 1 & 2.0

  • Úvod do ActionScriptu
  • Proměnné, pole a generický objekt
  • Podmínky a smyčky
  • Funkce
  • Úvod do objektů
  • Vlastní třídy
  • Objekty CORE
  • Objekty MOVIE
  • Výjimky
  • Asynchronní události
  • Předchozí: Objekty CORE
  • Následující: Výjimky
  • Objekty MOVIE

    Předdefinované objekty MOVIE většinou reprezentují, jak už název napovídá, grafické prvky animace, jako třeba tlačítko nebo MovieClip. Vytvoření instance objektu je většinou docíleno vložením objektu z knihovny do animace a jeho pojmenování.

    Stránka má nastaveny tyto příznaky:

    • Informace jsou dopředně nekompatibilní. Některé popsané jazykové pravidla nebo postupy byly v pozdějších verzích zavrženy.

    Button (tlačítko)

    Objekt ovlivňující instanci tlačítka na scéně.

    Metody Button

    getDepthudá pozici v ose Z (hloubka neboli pořadí zobrazení)

    Vlastnosti Button

    enabledVrací nebo nastavuje TRUE/FALSE podle toho, jestli je (má být) tl. zablokováno nebo ne
    tabEnabledPovolit navigaci pomocí TAB
    tabIndexPořadí výběru objektu při navigaci tlačítkem TAB
    trackAsMenuUmožňuje jinému tlačítku převzít událost "release"
    useHandCursorpoužít kurzor "ruka"

    Události Button

    Tyto příkazy dovolují externě definovat funkci, která se má provést po určité události.

    tlacitko.onRelease = function () {
    	gotoAndPlay(5);
    };

    Tento zápis je ekvivalentní k definici příkazů přímo v instanci tlačítka "tlacitko":

    on (release) {
    	gotoAndPlay(5);
    }

    V obou případech přejde animace po kliknutí na tlačítko "tlacitko" na snímek č. 5.

    onDragOutTažení ven
    onDragOverTažení dovnitř
    onPressKliknutí
    onReleasePuštění tlačítka myši
    onReleaseOutsidePuštění tlačítka myši mimo instanci
    onRollOutPřejetí ven
    onRollOverPřejetí dovnitř

    Capabilites (schopnosti)

    Vrací vlastnosti přehrávače případně serveru.

    System.capabilities.vlastnost;

    Vlastnosti Capabilities

    hasAccessibilityPřítomnost pomocných komunikačních zařízení
    hasAudioPřehrávání audia
    hasAudioEncoderPřítomnost dekodéru audia
    hasMP3Přítomnost dekodéru MP3
    hasVideoEncoderPřítomnost dekodéru videa
    pixelAspectRatioPoměr stran pixelů (standardně 1)
    screenColorBarevnost monitoru
    screenDPIPočet bodů/palec monitoru (DPI = dots per inch)
    screenResolutionXRozlišení monitoru v ose X
    screenResolutionYRozlišení monitoru v ose Y

    Color (barva)

    Umožňuje definovat barvu instance MC.

    barva = new Color(nazevInstanceMC);

    Metody Color

    getRGBVrací hexadecimální hodnotu barvy (0xRRGGBB)
    getTransformVrací hodnotu barevné transformace nastavenou setTransform
    setRGBNastaví hexadecimální hodnotu barvy
    setTransformNastaví barevnou transformaci - viz níže

    Příklad na setTransform()

    Tato metoda nastavuje hodnoty, které známe z panelu "properties" - viz Knihovna.

    barva = new Color(kruh);
    // vytvoření objektu "barva" s cílem na MovieClip "kruh"
     
    transform = new Object();
    // vytvoření objektu "transform" pomocí generického objektu "Object()"
     
    transform = {ra:'50',rb:'244',ga:'40',gb:'112',ba:'12',bb:'90',aa:'40',ab:'70'};
    // přiřazení hodnot
     
    barva.setTransform(transform);
    // aplikování hodnot v objektu "barva"
    raprocento červené (-100 až 100).
    rbvyrovnání červené (-255 až 255).
    gaprocento zelené (-100 až 100).
    gbvyrovnání zelené (-255 až 255).
    baprocento modré (-100 až 100).
    bbvyrovnání modré (-255 až 255).
    aaprocento afla (-100 až 100).
    abvyrovnání alfa (-255 až 255).

    Key (klávesa)

    Objekt upravující výstup z klávesnice.

    Metody Key

    addListenerPřidat objekt, který bude možno ovládat
    getAsciiVrací ASCII kód poslední zmáčknuté klávesy
    getCodeVrací kód poslední zmáčknuté klávesy
    isDownVrací TRUE/FALSE podle toho, jestli je klávesa zmáčknuta
    isToggledVrací TRUE/FALSE pokud je klávesa aktivována (platí pro NumLock a CapsLock)
    removeListenerOdebrat objekt přidaný příkazem addListener

    Konstanty Key

    Key.konstanta
    BACKSPACE
    CAPSLOCK
    CONTROL
    DELETEKEY
    DOWNšipka dolů
    END
    ENTER
    ESCAPE
    HOME
    INSERT
    LEFTšipka doleva
    PGDN
    PGUP
    RIGHTšipka doprava
    SHIFT
    SPACEmezerník
    TAB
    UPšipka nahoru

    Události Key

    onKeyDownStisk tlačítka
    onKeyUpUvolnění tlačítka
    onClipEvent (enterFrame){
    	if(Key.isDown(Key.RIGHT)){
    		_x += 10;
    	}
    }

    Pokud zde stiskneme šipku vpravo (Key.isDown bude TRUE), posune se každý snímek MovieClip (this) o 10px vpravo.

    Ukázka metody AddListener objektu Key

    objekt3 = new Object();
    // vytvoření generického objektu Object()
     
    objekt3.onKeyDown = function () {
    	Play();
    }
    // deklarace metody onKeyDown (viz Objekty-úvod)
     
    objekt3.onKeyUp = function () {
    	Stop();
    }
    // deklarace metody onKeyUp (viz Objekty-úvod)
     
    Key.addListener(objekt3);
    // asociace objektu "objekt3" s objektem Key

    Kdybychom teď zmáčkli nějakou klávesu, začalo by přehrávání animace. Po uvolnění klávesy by se animace zastavila.

    Mouse (myš)

    Objekt upravující výstup z myši

    Metody Mouse

    addListener*Přidat objekt, který bude možno ovládat
    hideSchovat kurzor
    removeListenerOdebrat objekt přidaný příkazem addListener
    showZobrazit kurzor

    Události Mouse

    onMouseDownKliknutí
    onMouseMovePohyb
    onMouseUpUvolnění

    MovieClip

    Objekt ovlivňující instanci MovieClipu na scéně.

    Zde je dobré si uvědomit, že hlavní časová osa je taky MovieClip, který nenese žádné jméno (případně "_root"). Můžete tedy klidně jako název MC napsat "_root" a příkaz tak bude platit pro hlavní časovou osu. Samozřejmě není možné používat příkazy, které na hlavní časové ose postrádají smysl.

    Metody MovieClip

    attachMoviePřipojuje MC z knihovny (IDjméno, jméno, hloubka)
    createEmptyMovieClipVytvořit prázdný MC (jméno, hloubka)
    createTextFieldVytvořit uvnitř MC textové pole.
    (jméno, hloubka, x, y, šířka, výška)
     Jeho vlastnosti umožňuje nastavit objekt TextFormat (viz níže)
    duplicateMovieClipDuplikovat MC (novéJméno, hloubka, objekt*)
    * Pokud definujete objekt, budou jeho vlastnosti zkopírovány do nového MC
    getBoundsVrací souřadnice rámečku, ohraničujícího MC v definovaném souřadnicovém prostoru např (._root)
    getBytesLoadedVrací hodnotu načtených bytů animace do MC
    getBytesTotalVrací hodnotu celkové velikosti animace do MC
    getDepthVrací hloubku instance MC
    getURLPřejde na URL adresu a umožňuje odesílat proměnné
    (URL, okno, proměnné)
    globalToLocalKonvertuje globální souřadnice na lokální souř. MC
    gotoAndPlayPřejde na snímek MC a spustí přehrávání
    gotoAndStopPřejde na snímek MC
    hitTestMetoda kontrolující kolize 2 MC nebo MC a bodu na scéně. Vrací TRUE/FALSE
    (cílovýMC)  nebo  (x, y, true/false*)
    * true = uvažovat skutečný tvar instance (nikoliv celý rámeček)
    loadMovieNačte SWF animaci do přehrávače
    (URL, proměnné)
    loadVariablesNačte a zároveň odešle proměnné z (do) souboru
    (URL, proměnné)
    localToGlobalKonvertuje lokální souřadnice MC na souř. scény
    nextFramePosune MC o jeden snímek dopředu
    playSpustí přehrávání MC
    prevFrameVrátí MC o jeden snímek zpět
    removeMovieClipOdstraní instanci MC na scéně
    setMaskPoužije cílový MC jako masku
    (maskovacíMC)
    startDragZapočne tažení MC myší
    (zamknoutNaStřed, vlevo, vpravo, nahoře, dole*)
    * ohraničující prostor, kde je možný pohyb
    stopZastaví přehrávání MC
    stopDragUkončí tažení MC
    swapDepthsVýměna hloubky s cílovým MC
    (cílovýMC)
    unloadMovieOdstraní načtenou SWF animaci z přehrávače

    Vlastnosti MovieClip

    enabledviz objekt Button
    focusEnabledPovolit výběr objektu modou setFocus
    hitAreaDefinuje plochu jiného MC jako citlivou na kliknutí (událost onPress - viz níže)
    tabChildrenPovolit nebo zakázat TAB navigaci mezi vnořenými instancemi uvnitř MC (TRUE/FALSE) - implicitně povoleno
    tabEnabledPovolit navigaci pomocí TAB -  (TRUE/FALSE) - implicitně povoleno
    tabIndexviz dříve
    tracAsMenuviz Button
    useHandCursorviz Button

    Události MovieClip

    Podobně jako u objektu Button, i zde je možné definovat události vně instance. Tento způsob navíc umožňuje použít události, které jsou jinak MovieClipu cizí (např. onPress). Takto je možné MC upravit tak aby se choval jako tlačítko.

    movieclip.onMouseDown = function () {
    	gotoAndPlay(5);
    };
    onDataobdržení údajů z LoadVariables nebo LoadMovie
    onDragOuttažení ven
    onDragOvertažení dovnitř
    onEnterFrameakce jsou vykonány v každém snímku MC
    onKeyDownstisk klávesy
    onKeyUpuvolnění klávesy
    onKillFocusodznačení výběru instance (např. navigací TAB)
    onLoadnačtení nebo vygenerování MC
    onMouseDownstisk levého tl. myši (kdekoliv v animaci)
    onMouseMovepohyb myši (kdekoliv v animaci)
    onMouseUpuvolnění levého tl. myši (kdekoliv v animaci)
    onPressstisk levého tl. myši nad instancí
    onReleaseuvolnění levého tl. myši nad instancí
    onReleaseOutsideuvolnění levého tl. myši mimo instanci
    onRollOutpřejetí kurzorem dovnitř
    onRollOverpřejetí kurzorem ven
    onSetFocusoznačení instance (např. navigací TAB)
    onUnloadodstranění MC z časové osy

    Selection (výběr)

    Objekt kontrolující výběr textu, případně MovieClipu a Tlačítka

    Metody Selection

    addListenerPřipojit objekt reagující na událost onSetFocus
    getBeginIndexČíslo prvního znaku výběru
    getCaretIndexUdává pozici kurzoru
    getEndIndexČíslo posledního znaku výběru
    getFocusUdává jméno zobrazované proměnné vybraného objektu. Pokud není vybráno textové pole, vrací pozici objektu.
    removeListenerOdpojit objekt přidaný pomocí addListener
    setFocusNastavit ukazatel do textového pole
    setSelection(od, do)Vybere část textu editovaného textového pole

    Události Selection

    onSetFocusPři změně výběru zavolat metodu připojeného objektu
    prvni = new Object();
     
    prvni.onSetFocus = function() {
    	submit.enabled = true;
    }
     
    Selection.addListener(prvni)

    Při změně výběru textového pole se zavolá metoda generického objektu onSetFocus a zavolá se funkce, kde je příkaz na odblokování tlačítka s názvem "submit".

    Sound (zvuk)

    Souží k manipulaci se zvukem

    zvuk = new Sound();

    Metody Sound

    attachSoundPřipojit zvuk z knihovny ("IDjméno")
    getBytesLoadedPočet načtených bytů zvuku
    getBytesTotalCelková velikost zvuku
    getPanVrací vyvážení zvuku (L/P reproduktor:  -100/+100)
    getTransformVrací informace o transformaci zvuku
    getVolumeVrací hlasitost
    loadSoundNačte externí MP3 do objektu
    setPanNastaví vyvážení
    setTransformNastaví transformaci *
    setVolumeNastaví hlasitost
    startSpustí zvuk
    stopZastaví zvuk

    Vlastnosti Sound

    durationDélka zvuku v milisekundách  - jen pro čtení
    positionPozice přehrávání (ms)  -   jen pro čtení

    Události Sound

    onLoadPo načtení zvuku zavolá definovanou funkci
    onSoundCompletePo skončení přehrávání zavolá definovanou funkci

    Ukázka nastavení transformace zvuku

    Tato metoda umožňuje nastavit hlasitost jednotlivých reproduktorů (L a P) a u stereo zvuků také definovat, která stopa(y) se má v daném reproduktoru přehrávat.

    zvuk.setTransform(transformObjekt);

    Definování stereo zvuku jako mono by se nastavilo třeba takto:

    transformObjekt = new Object();
    transformObjekt.ll = 50;
    transformObjekt.lr = 50;
    transformObjekt.rr = 50;
    transformObjekt.rl = 50;
     
    zvuk.setTransform(transformObjekt);

    Stage (nastavení scény)

    Tento objekt umí nastavit vlastnosti scény v přehrávači podobně jako příkaz FSCommand. Přináší však některé novinky - například událost onResize

    Metody Stage

    addListenerPřipojení vlastního objektu, který bude reagovat na událost onResize *
    removeListenerOdpojení předchozího objektu

    Vlastnosti Stage

    alignZarovnání animace v přehrávači: ("vert_horiz")

    "T" - nahoře,  "B" - dole,  nic - uprostřed
    "L" - vlevo,  "R" - vpravo,  nic - uprostřed
    např.:  "BL" - vlevo dole,  "R" - vpravo uprostřed
    heightVýška okna v pixelech
    scaleModeVolba zobrazení (podobně jako u FScommand)
    "exactFit", "showAll", "noBorder", "noScale" (implicitní je "showAll")
    showMenuZobrazit menu (true/false)
    widthŠířka okna v pixelech

    Události Stage

    onResizePo změně velikosti animace (např. vlivem změny velikosti okna prohlížeče) zavolat funkci
    pokus = new Object();
     
    pokus.onResize = function () {
    		 _root.Play()
    }
     
    Stage.addListener(pokus);

    Nejprve je vytvořen generický objekt Object, kterému je definována metoda onResize. Nakonec je objekt připojen objektu Stage.

    Pokud tedy dojde ke změně proporcí okna přehrávače je zavolána funkce a vykonán příkaz Play().

    TextField (textové pole)

    Slouží k manipulaci s textovými poli typu dynamic a input text

    Metody TextField

    addListenerPřipojit vlastní objekt, který bude reagovat na události (onChanged, atd...)
    getDepthVrací hloubku pole
    getFontListVrací datové pole Array s názvy všech nainstalovaných fontů v operačním systému + názvy připojených fontů
    getNewTextFormatVrací formátování nastavené pomocí setNewTextFormat
    getTextFormatVrací formátování nastavené pomocí setTextFormat
    removeListenerOdpojit objekt připojený metodou addListener
    removeTextFieldOdstraní textového pole MovieClipu vytvořené metodou createTextField (objekt MovieClip - viz výše)
    replaceSelOdstraní vybranou část textu a nahradí ji novým textem
    setNewTextFormatNastaví formátování pro nově vkládaný text
    setTextFormatNastaví formátování (viz objekt TextFormat)

    Vlastnosti TextFiled

    autoSizeNastavuje zarovnání textu a povoluje automatickou změnu velikosti (podle velikosti textu)
    backgroundUrčuje, zda se má zobrazovat pozadí (TRUE/FALSE)
    backgroundColorNastavuje barvu pozadí (implicitně bílá - 0xFFFFFF)
    borderUrčuje, zda se mají zobrazovat okraje (TRUE/FALSE)
    borderColorNastavuje barvu okrajů (implicitně černá - 0x000000)
    bottomScrollVrací číslo dolního viditelného řádku (u Multiline TextField)
    embedFontsVrací booleovskou hodnotu, zda má pole přibalené fonty
    hscrollNastavuje horizontální scrolling
    htmlVrací booleovskou hodnotu, zda pole zobrazuje HTML tagy
    htmlTextZobrazí v poli text a zformátuje podle HTML tagů
    lengthVrací počet znaků
    maxCharsNastavuje maximální počet zobrazovaných znaků
    maxhscrollVrací maximální hodnotu hscroll
    maxscrollVrací maximální hodnotu scroll
    multilineVrací booleovskou hodnotu, zda je pole typu Multiline
    passwordVrací booleovskou hodnotu, zda je pole typu Password
    restrictNastavuje povolené znaky, které může uživatel napsat do pole:
    "A-Z 0-9"   povoleny jsou znaky A-Z a číslice
    "A-Z^Q"    povoleny jsou znaky A-Z kromě znaku Q
    scrollNastavuje vertikální scrolling
    selectableVrací booleovskou hodnotu, zda půjde text v poli vybrat
    tabEnabledPovolit navigaci pomocí TAB
    tabIndexPořadí výběru objektu při navigaci tlačítkem TAB
    textZobrazí v poli text
    textColorNastavuje barvu textu v poli
    textHeightVrací výšku bloku textu [px]
    textWidthVrací šířku bloku textu [px]
    typeNastavuje typ pole - ("dynamic")  nebo  ("input")
    variableNastavuje proměnnou, která se bude zobrazovat v poli
    wordWrapVrací booleovskou hodnotu, zda se text má zalamovat

    Události TextField

    onChangedPo editaci pole zavolá funkci
    onKillFocusUkončení editace
    onScrollerPo scrollování zavolá funkci
    onSetFocusZačátek editace

    TextFormat (formát textu)

    Objekt definující hodnoty metod setTextFormat a setNewTextFormat objektu TextField.

    nadpis = new TextFormat();
     
    nadpis.vlastnost = hodnota;
     
    kolonka3.setTextFormat(nadpis);

    Metody TextFormat

    getTextExtend("text")Vrací šířku a výšku řetězce v závislosti na nastaveném formátování v pixelech
    getTextExtend("text").width
    getTextExtend("text").height

    Vlastnosti TextFormat

    alignzarovnání (left, right, center)
    blockIndentOdsazení textu
    boldTučné (TRUE/FALSE)
    bulletZobrazit každý odstavec jako položku seznamu
    colorBarva textu
    fontPoužitý font
    indentOdsazení prvního řádku odstavce
    italicKurzíva
    leadingVelikost řádkování
    leftMarginLevý okraj
    rightMarginPravý okraj
    targetCílové okno odkazu
    sizeVelikost textu
    underlinePodtržený text
    urlVytvořit odkaz