Gombok egyszerű elkészítése
A GOMB a Flash-ben használható három szimbólumtípus egyike. Időszalagja speciális, mindössze négy kockahelyet tartalmaz. Mindegyik kockapozíció egy gombállapotnak felel meg.
Az állapotok nevei olvashatók az időszalagon a frame-k fölött:
Up: A gomb felengedett, normál állapotát ábrázoló kocka.
Over: Az az állapot amikor áthúzzuk az egeret a gomb fölött.
Down: A lenyomott állapot.
Hit: Nem valódi gombállapot. Az erre a frame-re rajzolt alakzat fogja meghatározni a gombkattintásra érzékeny területét, a találati felületet.
Gombok fázisai
A gombkészítés alapjai viszonylag könnyen elsajátíthatók. Az alábbi példa segít a megértésben. Egy kék színű, „Gomb” feliratú gombot fogunk készíteni, amelynek felirata színt változtat, ha gombra mutatunk, kattintáskor pedig a gomb kissé elmozdul.
Készítsünk új mozit!
Rajzoljunk egy körvonal nélküli sötétkék, 5 px-es lekerekítésű, 90x30 px méretű téglalapot!
Alakítsuk Button típusú szimbólummá (Kijelölés, majd F8).
Lépjünk szimbólumszerkesztő módba (duplázás a gombon)!
Megjelenik a gomb időszalagja. Egyetlen réteg, és a négy kockahely, de csak az elsőben látunk tényleges kulcskockát!
Nevezzük el a réteget „hatter_LR”, majd hozzunk létre fölötte új réteget, „szoveg_LR” névvel.
A „szoveg_LR” rétegben helyezzünk el statikus szöveget. Betűtípus: Arial, Méret:18, Szín: #0099cc
Igazítsuk mindkét réteg tartalmát a szimbólum közepére!
Hozzunk létre mindkét réteg Over kockájában új keyframe-t. Az előző kockák tartalma idemásolódik. A gombunk most már érzékeny lenne a rámutatásra, de épp úgy nézne ki, mint azelőtt.
Az Over frame-ben változtassuk a szöveg színét #cccc00-re.
Most Down , és a Hit frame-ben is hozzunk létre kulcskockát, minden kockahelyen.
A Down frame-ben előbb a téglalapot,aztán a szöveget is, mozgassuk 2-2 px-lel le, és jobbra.
A gomb elkészült. Teszteljük a mozit!
Kattintásérzékeny terület megadása
A gomb szimbólum időszalagjának negyedik kockája a Hit frame. Ebben a kockában adjuk meg a gomb kattintásra érzékeny területét. A rajta lévő rétegek tartalma valójában nem lényeges, csak az a fontos, mely területet takarja bármilyen alakzat. Ez a terület lesz az, ahol a gomb „észreveszi” a kattintást.
Gombok kipróbálása
A gombok tesztelésének első fázisa, hogy megvizsgáljuk, hogyan néz ki alkotásunk működés közben.
Ehhez CONTROL/TEST MOVIE parancsot használhatjuk. Ilyenkor azonban a Flash az egész mozit lefordítja, ami hosszú időt vehet igénybe.
Van azonban egyszerűbb mód a gomb tesztelésére. Ha bekapcsoljuk a CONTROL/ENABLE SIMPLE BUTTONS opciót, a gomb animációja már a fejlesztőfelületen, fordítás nélkül is tesztelhető lesz. Kisebb kellemetlenség, hogy ilyenkor duplakattintással nem tudunk szimbólumszerkesztő módba lépni. Ezen azonban egyszerűen segíthetünk. Tartsuk lenyomva az Alt billentyűt miközben a gombra duplázunk.
Gombok eseményei
A nyomógombokkal ActionScript utasítások hajthatók végre. Az ActionScript utasításokat úgynevezett eseményekben lehet megadni. Az eseményeket a gomb kijelölése után, az Actions táblán gépelhetjük be az alábbi formában:
on(eseménynév) {
utasítások
}
Az alábbi esemény neve release, és a gomb felengedéskor fut le. Az eseményben elhelyezett egyetlen utasítás a stop() megállítja a mozi lejátszását, tehát ha kattintunk a gombon, majd felengedjük az egeret, a mozi futása leáll.
on(release) {
stop()
}
Számos egyéb esemény írhatunk az on-t követő zárójelek közé, de természetesen egyszerre csak egyet. Ha több eseményt akarunk kezelni, akkor többször kell begépelnünk a fenti formulát, de mindig más eseménynevekkel.
A fontosabb események a következők:
press: egérgomb lenyomása
release: egérgomb felengedése
releaseOutside: egérgomb felengedése a gombon kívül
rollOver: egér ráhúzása
rollOut: egér lehúzása
dragOver: megragadott objektum ráhúzása
dragOut: megragadott objektum lehúzása
A találati felület egy grafikus objektum (például nyomógomb egéreseményekre érzékeny felülete)
Az esemény egy objektum olyan állapotváltozása, amelyre az programozható módon reagálni képes.
A Macromedia Flash nyomógombok egy ilyen eseménye az onRelease, amely akkor következik be, ha a felhasználó kattint a gombon, majd fölengedi az egeret.
A fejlesztő programozhatja az eseményt, azaz pontosan megmondhatja, mi történjen az esemény bekövetkeztekor.