12._skript_jezici

Embed Size (px)

Citation preview

  • 8/19/2019 12._skript_jezici

    1/28

    Dragan Ivanović

  • 8/19/2019 12._skript_jezici

    2/28

    Based on material from  Digital Multimedia,3rd edition  published by John Wiley & Sons,

    2009 © 2009 Nigel Chapman and JennyChapman

    These lecture slides © 2009 Nigel Chapmanand Jenny Chapman

    All figures © MacAvon Media Productions

  • 8/19/2019 12._skript_jezici

    3/28

    Skript jezici imaju manje mogućnosti odklasičnih programskih jezika.

    Omogućuju pozivanje odgovarajućih funkcijaaplikacije unutar koje se izvršavaju.

    Uglavnom se interpretiraju, a ne kompajliraju.

  • 8/19/2019 12._skript_jezici

    4/28

    Interaktivni sistemi su event-driven (baziranina dogaĎajima).

    Savremeni računarski programi suorganizovani kao kolekcija objekata.

    Objekti pripadaju klasama koje definišu skupmetoda i atributa.

    Klase se mogu nasleĎivati.

  • 8/19/2019 12._skript_jezici

    5/28

    Vrednosti koje se prosleĎuju metodi se zovuargumenti.

    Atributu p objekta x se pristupa na sledećinačin: x.p; Metoda m sa argumentima a, b i c se poziva:

    x.m(a, b, c);

    Metoda mm bez argumenata se poziva:x.mm().

  • 8/19/2019 12._skript_jezici

    6/28

    Web pretraživači mapiraju elemente XHTMLdokumenta na objekte koji imaju atribute u

    skladu sa atributima elemeneta i imajumetode za pronalaženje, dodavanje, brisanjei promenu redosleda objekata koji impripadaju.

    Objekat document omogućuje pristup celomdokumentu.

  • 8/19/2019 12._skript_jezici

    7/28

    ActionScript definiše klase koje odgovaraju

    tipovima elemenata koji se mogu javiti uFlash filmu (movie clips, UI componets, ...).

    Metode ovih klasa omogućuju kontrolu movieclip -ova i UI komponenti.

  • 8/19/2019 12._skript_jezici

    8/28

  • 8/19/2019 12._skript_jezici

    9/28

    Osluškivači dogaĎaja (event listeners) sepozivaju kada se desi odgovarajući dogaĎaj.

    Mnogi dogaĎaji su izazvani od stranekorisnika (klik mišem, pritisak nekog tastera,...).

    Osluškivači se dodaju objektima upotrebom

    metode addEventListener a uklanjajuupotrebom metode removeEventListener.

  • 8/19/2019 12._skript_jezici

    10/28

    Skript jezici koriste objekte API-ja(Application Programming Interface) za

    kontrolu i manipulaciju host sistema, kao štosu web pretraživač ili Flash film.

    ECMAScript je standardizovana verzija jezgra JavaScript jezika, koji je takoĎe i osnovaActionScript jezika.

  • 8/19/2019 12._skript_jezici

    11/28

    Varijable su imenovani kontejneri koji mogusadržati odreĎene vrednosti ili objekte.

    Vrednost varijable se menja operacijom

    dodele (x = y + 1). Primitivne vrednosti u ECMAScript-u su

    brojevi, stringovi i logičke vrednosti. JavaScript varijable mogu, a ActionScript

    varijable moraju biti deklarisane (definisan tipvarijable).

  • 8/19/2019 12._skript_jezici

    12/28

    Uslovna naredba se koriste za izvršenje jedneod dve naredbi (ili bloka naredbi), zavisno odvrednosti nekog logičkog izraza (obično je to

    neko poreĎenje). Petlja for se koristi kada je potrebno neki

    blok naredbi izvršiti više puta dokle god jeispunjen neki uslov.

    Zaglavlje for petlje kombinuje inicijalizaciju,relacione i aritmetičke operacije.

  • 8/19/2019 12._skript_jezici

    13/28

    Niz (array) je sortirana sekvenca vrednosti. Elementu niza se može pristupiti sledećom

    notacijom array_name [index ].

    Asocijativni nizovi se indeksiraju stringovima.

  • 8/19/2019 12._skript_jezici

    14/28

    Funkcije kombinuju argumente i proizvode

    neki rezultat. Metode su funkcije koje se pozivaju preko

    objekta i imaju pristup atributima objekta.

    U ECMAScriptu funkcije su objekti i mogu biti

    dodeljeni varijablama.

  • 8/19/2019 12._skript_jezici

    15/28

     JavaScript se sastoji od ECMAScript-a i host

    objekata koji omogućuju manipulaciju webstranama u web pretraživaču. W3C Document Object Model DOM) je

    standardizovan skup objekata za

    modelovanje HTML dokumenata.

  • 8/19/2019 12._skript_jezici

    16/28

    Dokument je reprezentovan stablom čvorovakoji reprezentuju elemente.

    Čvorovi su povezani, a te veze predstavljajuhijerarhijsku vezu izmeĎu elemenata.

    Čvorovi mogu biti tekstualni čvorovi ili

    čvorovi koji predstavljaju element.

  • 8/19/2019 12._skript_jezici

    17/28

  • 8/19/2019 12._skript_jezici

    18/28

    Metode getElementById igetElementsByTagName (niz elemenata)

    objekta document se koriste za dobavljanječvorova. Metode document.createElement i

    document.createTextNode se koriste za

    kreiranje novog čvora, odnosno dodavanjenovog elementa na web stranici.

  • 8/19/2019 12._skript_jezici

    19/28

    Izgled web stranice se može izmeniti

    promenom vrednosti atributa jednog ili višeelemenata. Promenom vrednosti atributa className

    elementa body može biti izmenjen izgled cele

    stranice.

  • 8/19/2019 12._skript_jezici

    20/28

  • 8/19/2019 12._skript_jezici

    21/28

    Skriptovi se dodaju u XHTML dokumentupotrebom elementa script unutar kojeg je JavaScript kod ili link ka eksternoj datoteci ukojoj se nalazi JavaScript.

  • 8/19/2019 12._skript_jezici

    22/28

    Metoda addEventListener ima dva argumenta:

    ime dogaĎaja i funkciju koja će se pozvatikada se desi taj dogaĎaj (ona je osluškivač).

    Osluškivač funkcija prima objekat event kaoargument.

  • 8/19/2019 12._skript_jezici

    23/28

  • 8/19/2019 12._skript_jezici

    24/28

    Osluškivač funkcija dogaĎaja load objektawindow se koristi za inicijalni set-up stranekao i za dodavanje osluškivača funkcijaelementima unutar dokumenta.

  • 8/19/2019 12._skript_jezici

    25/28

    ActionScript je baziran na ECMAScript 4

    Zahteva da su sve varijable deklarisane,odnosno da im je naveden tip varijable.

    Za razliku od JavaScript-a, ActionScript imauobičajene mehanizme za definisanje klasa i

    nasleĎivanja.

  • 8/19/2019 12._skript_jezici

    26/28

    Kod koji se koristi u Flash filmu se definiše umetodi klase dokumenta koja je obično izvedenaiz klase MovieClip.

    Osluškivači dogaĎaja se podešavaju obično u

    konstruktoru klase dokumenta, koji će se pozvatipre nego što film počne, odnosno pozvaće sekada se objekat filma kreira.

    Klasama se može definisati kom paketupripadaju, a klasa dokumenta je u

    podrazumevanom paketu. I klasa dokumenta i njen konstruktor moraju biti javni (public).

  • 8/19/2019 12._skript_jezici

    27/28

    Metode MovieClip klase su: play, stop,

    gotoAndPlay, gotoAndStop... Komponente korisničkog interfejsa imaju

    metode i atribute koji implementirajuponašanje i izgled kontrola kao što su

    button,

    slider i text field.

  • 8/19/2019 12._skript_jezici

    28/28

    DogaĎaj ENTER_FRAME se koristi zapokretanje osluškivača koji se izvršava svakiput kada se počne izvršavati novi frejm.

    Neki tekst se može prikazati pomoću atributatext komponente TextField.

    Objekti se mogu pojavljivati i nestajati sascene pomoću metoda

     addChild iremoveChild atributa stage.

    Složenu interakciju je moguće kreiratipomoću objekata koji su odgovorni zareakciju na odgovarajuće dogaĎaje.