Digitális óra

Hozzunk létre egy új Flash dokumentumot, majd Macintosh alatt a Command + J, Windows alatt pedig a Ctrl + J gyorsbillentyû leütésével nyissuk meg a dokumentumtulajdonságok párbeszédablakot. A színpadot állítsuk be 240×120 képpont méretûre, a képkocka-sebesség mezõben pedig adjuk meg a 25 fps értéket.

|Beállításaink nyugtázását követõen keressük ki az eszköztárból a szöveg eszközt, majd a tulajdonság panelen végezzük el a következõ beállításokat: szövegmezõnk statikus (Static Text), a betûtípus valamilyen rögzített szélességû készlet (példánkban a Courier New fontot választottuk), a méret 40 pont, a stílus félkövér, az élfinomítás pedig olvashatóságra optimalizált (Anti-alias for readability) legyen.

|A szöveg eszközzel a kezünkben kattintsunk a színpadra, majd gépeljük be a "00:00:00" szöveget. Statikus szövegmezõként a begépelt szöveghez történõ méretillesztés automatikusan megtörténik. Fejezzük be a szerkesztést az Esc billentyû leütésével, majd a tulajdonság panelen állítsuk át a mezõ típusát dinamikusra (Dynamic Text), végül gépeljük az mezõbe az "ora_txt" példánynevet. (Az elnevezéssel kapcsolatos tippet itt találjuk).

|A tulajdonság panel Embed... (beágyazás) gombjára kattintva nyissuk meg a helyi párbeszédablakot, majd jelöljük ki a számjegyek (Numerals [0..9]) tételt, illetve gépeljük az ablak alján található szövegmezõbe a kettõspontot (:) is. Ezzel hozzá is rendeltük szövegmezõnkhöz az idõ megjelenítéséhez szükséges betûképeket.

|Kattintsunk duplán egyetlen rétegünk nevére, majd adjuk neki az "Óra" elnevezést, végül zároljuk le a lakat ikon alatt található pontra kattintva. Az Insert > Timeline > Layer menüpont kiválasztásával hozzunk létre egy új réteget, majd adjuk neki az "Utasítások" nevet, végül zároljuk le.
Kattintsunk új rétegünk elsõ képkockájára, majd Macintosh alatt az Option + F9, Windows alatt pedig az F9 gyorsbillentyû segítségével nyissuk meg a cselekményszerkesztõ panelt (Actions - Frame). Gépeljük be a következõ utasítássorozatot:

onEnterFrame = function () {
ido = new Date();
ora_txt.text = ido.getSeconds();
}

Amennyiben most teszteljük animációnkat, azt fogjuk látni, hogy a másodpercek egymás után jelennek meg szövegmezõnkben. Figyeljük meg, hogy a tíznél kisebb számok elõtt nincs "0", amire viszont szükségünk lesz majd a digitális óra valós érzetének megteremtéséhez.|Az elõzõ utasításban felhasznált "ido" változónk voltaképpen a Flash beépített dátum objektumának (Date) egy példánya, amely minden egyes animációs ciklusban (onEnterFrame) felveszi az aktuális rendszeridõt. Az "ora_txt" nevû szövegmezõnk "text" tulajdonsága tulajdonképpen maga a mezõ tartalma, ebbe kell tehát beírnunk az idõt óra:perc:másodperc formátumban:

onEnterFrame = function () {
ido = new Date();
ora_txt.text = ido.getHours() + ":" + ido.getMinutes() + ":" + ido.getSeconds();
}
|A hiányzó nullák beszúrásához egy külön Flash függvényt kell készítenünk. A függvény, amelynek példánkban a "nulla" nevet adtuk, a paraméterként megadott "n" számról eldönti, hogy kisebb-e tíznél. Amennyiben igen, úgy beszúr elé egy "0" számjegyet, ellenkezõ esetben változtatás nélkül adja vissza az eredeti számot. Egyedi függvényünk, illetve a kibõvített programkód tehát a következõ:

nulla = function (n) {
if (n < 10) { return "0" + n; } else { return n; } } onEnterFrame = function () { ido = new Date();
ora_txt.text = nulla(ido.getHours()) + ":" + nulla(ido.getMinutes()) + ":" + nulla(ido.getSeconds());
}

Végül nincs más hátra, mint elmenteni munkánkat, és megtekinteni az eredményt.

Jó munkát!

Figyelem! A tartalom legalább 2 éve nem frissült! Előfordulhat, hogy a képek nem megfelelően jelennek meg.

Copyright © 2023 Trans-Europe Zrt. Minden jog fenntartva.
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram