13. gyakorlat
- Teszt a Moodle-ban.
- PHP + Flash: A Sobics játék internetes toplistás változata (forrás). A szerver oldalon futó PHP script. Fogalmak: LoadVars, load esemeny, send(), load(), sendAndLoad().
- Hallgatói véleményezés
12. gyakorlat
- Az önállóan elkészítendő beadandó feladat beadási határideje május 1. (vasárnap) éjfél (23:59:59) !
Néhány módszer az fla fájl méretének csökkentésére:- Távolítsuk el a library-ból a felesleges/nem használt elemeket. Főleg a hangokra és képekre vonatkozik.
- File - Save as... Nem csak új nevet ad a fájlnak, hanem végrehajt bizonyos optimalizálásokat is. Ha csak síma Save-et használunk, az csak a változásokat fogja az előző mentés végére írni, tehát még törlések esetén is hosszabb(!) lesz a fájl.
- File - Save and Compact: restruktúrálja és optimalizálja a fájlt, eltávolítja az undo buffert. Jelentősen kisebb lesz az fla mérete.
- A háttérzenét válasszuk rövidre (30-60 mp tökéletesen elegendő).
- A háttérzene betölthető külső fájlból is a loadSound() függvénnyel. Ekkor érdemes a tömörített mp3 formátumot használni a zenére.
- Ha használunk raszteres háttérképet, akkor importálás előtt skálázzuk alacsony felbontásúra. A mozi méreteit lehet alapul venni.
Az swf fájl méretét a File - Publish Settings... menüpontban Flash "fülében" lehet szabályozni.
- Gravitat: A Gravitat játék. Az egyszerűsített verzió nem tartalmaz pontozást. A teljes verzió forrása. A játék ötlete: a téglákat egy tabla nevű egyébként teljesen üres MovieClip gyermekeiként hozzuk létre. A tábla elforgatásakor egyben a rajta levő téglák is elfordulnak.
- Hexagon: Stadler Tamás Hexagonja és a forrása.
- Versenyfelhívás: a verseny részletes leírása.
Ha különleges betűtípust használunk a Dinamikus szövegdobozokban, akkor azokat érdemes beágyazni az swf-be (Tulajdonság-panel - "Embed..." gomb) Ezzel növekszik ugyan az swf mérete (kb 2-300KB-al), de láthatóak lesznek a szövegek minden kliensen.
11. gyakorlat
- Carp: A Carp játék filteres változata. (Forrás ). Fogalmak: startDrag(), stopDrag(), onMouseWheel().
- Paint: Készítsünk ecsetes festő programot! FLA, SWF Bővítési lehetőségek: - ecsetvastagság szabályozása - vonalak/színek mentése, időzített reprodukálása - vászon korlátainak szabályozása - utolsó vonal visszavonása - RGB színválasztó lehetőség - vászon törlése
- Four in a row: A Four in a row (Csőamőba) játék célja négy azonos színű zsetont egy sorba összegyűjteni (Forrás). A MovieClip osztály rajzoló függvényei:
- Házi feladat: Tron játék 2 személyre. (irányítás: asdw, nyilak)
-
Quix: A Quix játék. (Forrás) Útkeresés AS2.0-ban.
A mozgó elemet időről-időre meghívódó callback függvény teszi mindig az útvonal következő pozíciójára.
Hogyan lehet gyorsítani/lassítani a mozgó elemet?
Milyen következményei lennének, ha az útvonalkeresésnél a listát nem FIFO hanem LIFO módon kezelnénk?
Mit kellene módosítani, ha hatszögrácson akarnánk játszani a játékot? - Debuggolás
10. gyakorlat
- 2. programozasi teszt
-
Crash Down: A Crash Down játék. (Forrás).
A játék a tabla tömbben tartja nyilván, hogy melyik MC van egy adott pozíción. Amikor egy golyónak el kell mozdulnia a helyéről, akkor gondoskodunk hogy a tabla tömbben és a képernyőn is megváltoztassa a helyét. Fogalmak: a Tween osztály és használata, MotionFinished esemény, Easing kategóriák (Strong, Back, Elastic, Regular, Bounce, None), easing típusok (easeIn, easeOut, easeInOut). Az alábbi példa forrása. - Házi feladat: a) Mozgassunk egy MovieClip-et átlósan a képernyőn. b) Először vizszintesen, aztan függőlegesen c) Csigavonalban.
-
Filterek: Filters panel, Tween + filter (Forrás).
Filterek ActionScriptben: DropShadowFilter, BlurFilter, GlowFilter, BevelFilter. - Házi Feladat: A Symjong játék. (Forrás). Zene dinamikus betöltése MP3-ból. Fogalmak: Sound.loadSound(url, isStreaming), onSoundComplete esemény, ColorMatrixFilter
- Pattogó labdák: Minden labdának van pozíciója (_x, _y) és sebessége (vx, vy). Minden megjelenítés elött a pozícióvektorhoz hozzá kell adni a sebessegvektort. Fallal való ütközés nem más mint a sebességvektor megfelelő komponensének -1-el való szorzása. FLA, SWF
- Scrollozó háttér: A háttér scrollozásához egy ötlet: A hátteret néhány egymás melletti MC alkotja, melyek egyszerre tweenelődnek balra pontosan annyit amennyi a saját szélességük. A tween után mindegyik MC visszaáll az elejére, de azt a képkockáját mutatja, amelyik korábban a mellettelevő MC mutatott. Ezzel azt éri el, hogy folyamatos lesz a mozgás. FLA, SWF.
- Szomszédság hatszögrácson A hatszögrács pályát úgy tekintjük mintha nészögrács lenne, csak minden páratlan sort eltolva jelenítünk meg. Egy elem szomszédai a következők: a felette és alatta levő 2-2 elem + páros sorok esetében az átlósan elötte, páratlan sorok esetében az átlósan utána levő 2 elem. (FLA, SWF)
9. gyakorlat
- 2. teszt a Moodle-ban.
-
Almaszedő játék: Az Almaszedő játék. (Forrás). Fogalmak: enterFrame
esemeny, listenerek, Key és Mouse objektum, billentyűzet kezelése
A "listener" koncepció: A Key osztály egy listát őriz, hogy mely objektumokat kell értesíteni az
események bekövetkeztéről. A listára a Key.addListener()-el lehet felíratkozni, ill. a Key.removeListener()-el lehet leíratkozni.
var listener:Object = new Object(); listener.onKeyDown = function() { //eseménykezelés }; Key.addListener(listener);
hitTest(x:Number, y:Number, [shapeFlag:Boolean]):Boolean: A 3. praméterrel megadható, hogy kiértékelje-e az alakzat körvonalát, vagy csak a befoglaló téglalapot vegye figyelembe.
- Házi feladat: almaszedő bővítése 2D-re. Írj egy játékot, ami új movieclipeket tesz le véletlen xy helyre. Egérrel húzunk egy movieclipet folyamatosan. Ha hozzáér bármelyik új mc-hez, akkor vegyük le, és számoljunk érte pontot.
- Házi feladat: Készítsük el a Galaxy játékot a kiindulási forrásból. Az ellenséges űrhajók jobbra-balra mozognak, és közben folyamatosan haladnak lefelé. Haladó házi feladat: az ellenség is tudjon lőni.
-
Otthoni feldolgozásra: A Sobics játék.
(Forrás: lokális toplistával, internetes toplistával) Az eredetire rá lehet keresni a
gugliban.
A játék elején kirakjuk a tégákat a megfelelő rácspontokra, és onnantól kezdve azok nem mozdulnak el a helyükről. A különböző színek és effektek eléréséhez más-más képkockájukat mutatják.
8. gyakorlat
- Elérhető a kötelező feladat specifikációja.
- Smart clip: Készítsünk nyomógombot melynek paraméteréül adható meg a felirata és, hogy hova ugorjon. Kiindulási forrás. Fogalmak: Smart Clip, paraméteres MovieClip, Component Definition ablak.
- Tizenötös játék: Készítsük el a tizenötös játékot! (kiindulási forrás, kész mozi forrása) Fogalmak: attachMovie, removeMovieClip, linkage, Array osztály, 2 dimenziós tömbök, asszociatív tömbök, sort(), rendezés saját metódussal, push(), pop(), eval()
- Otthoni feldolgozásra: A tizenötös játék mozgó csempés változata. (Forrás)
7. gyakorlat
-
Időzítők: 3 módszer az időzítésre:
- Movie clippel: egy adott hosszúságú MC a végén mindíg meghív egy függvényt.
- setInterval() függvénnyel. Doksik: setInterval, és a clearInterval függvények.
- onEnterFrame-ben.
- Feladat: készíts vasúti jelzőlámpát (oda-vissza villogó) Néha váltson át pirosra is!
- Feladat: Tavaszi hóesés ide-oda szállíngózó hópelyhekkel. (példa, vagy példa) Ötlet: 2 MC egymásba ágyazva. Az egyik jobbra-balra mozgatja a hópihét, a másik fentről-lefelé mozgatja az előzőt.
- Házi Feladat: Toplista. (forrás + toplista.txt)
- Házi Feladat: Components ablak elemei: User Interface (Button, Combo Box, List)
6. gyakorlat
- 1. programozasi teszt
- 7. lecke: Hangok. Fogalmak: hangok importálása, folyam hang (stream sound) vagy esemény hang (event sound), szinkronizálás képkockával vagy saját idősík, start, stop
- Háttérzene MC: készítsünk háttérzene vezérlő MC-t! Erőforrások: krakout.mp3 zene, audio.png icon.
- Írjuk át az alalóg órás programot, hogy ketyegjen is minden másodpercben, illetve délben bimmbammoljon.
- Írjuk át a céltáblára lövős programokat úgy, hogy a lövéshez adjon is ki hangot.
5. gyakorlat
- egér események, frame esemény (onEnterFrame), mc linkage, szövegmező és változó összekapcsolása
- Math osztály
- Movie Clip osztály
-
Céltábla: Készítsük el a céltáblára klikkelős programot!
(kiindulási forrás, gunshot.mp3) Fogalmak: onMouseDown, onMouseUp, linkage: export to ActionScript,
Math osztaly, random().
Az 1. framen:
var snd:Sound = new Sound(); snd.attachSound("durr"); ct.onMouseDown = function() { snd.start(); }
Írjuk át a programot úgy, hogy csak a céltáblát eltaláló lövéseket fogadja el. Írjuk át úgy, hogy a céltábla addig egy helyben marad, amíg el nem találjuk. Írjuk át a programot úgy, hogy több céltábla is megjelenhet egyszerre. Írjuk át úgy, hogy a céltáblák szépen lassan mozognak véletlenszerű irányba. -
Feladat: Készítsünk analóg órát!
Fogalmak: a Date osztály, mozi átmáretezése, másodpercenkénti képkockák száma (fps)
d = new Date(); mp._rotation = 180 * d.getSeconds() / 30; nagy._rotation = 180 * d.getMinutes() / 30; kis._rotation = 180 * (d.getHours() % 12 ) / 6;
4. gyakorlat
- 1. teszt a Moodle-ban.
- 6. lecke: Animációk. Fogalmak: Képkockák típusai (síma, kulcs, üres), Properties-Tween, Motion tween, guide layer. Transformáció és Szín (Tint, Alpha) Motion Tweennel. Szín és alak változtatása Shape Tweennel, Shape Hint.
- Feladat: Animáljunk betűket!
- Feladat: Összetett animáció. Fogalmak: Csillapítás (easing).
- Feladat: Hozz létre egy egyszerű jelenetet nappal, égbolttal és házzal. Az első és az utolsó képkocka legyen tartalmilag megegyező. A köztes képkockák úgy alakuljanak 96 frame alatt, hogy 48 alatt a nap egy ívet ír le az égen, majd lebukik, további 48ig nem látható. Az égbolt színe legyen akkor a legvilágosabb, ha a nap delel, és sötétkék, amikor a nap lemegy.
3. gyakorlat
- Timeline
- Frame típusok
- 5. lecke: Gombok. Fogalmak: nyomógomb típusú szimbólum, up, over, down, hit képkockák.
Kulcsképkocka és beszúrása. Frame és object action, példány elnevezése (Instance Name), gotoAndPlay, gotoAndStop.
Képkocka címkéje (Frame Label), Frame action
g.onPress = function () { gotoAndStop(15); }
-
Feladat: Készítsünk egy mozit a következők szerint: 1. képkocka felirata "Intro",
10. képkocka felirata "Game", 20. képkocka felirata "Game Over". Az 1. képkockán 2 gomb van: az egyikkel a 10-re ugrik és elindítja a lejátszást,
a másikkal a 20-ra ugrik és megáll. A 10. képkockán nincsen gomb. A 20. képkockán 1 gomb van, amivel vissza lehet ugrani az 1. képkockára.
-
Feladat: Készítsünk a reflexeket tesztelő ügyességi játékot: 1-2 képkockányi időtartamra villantsunk fel egy gombot,
amit megnyomva "megnyerhetjük" a játékot. Ha sikerül, akkor ezt írja is ki a képernyőre. Minta.
- A gomb véletlenszerű időközönként jelenjen meg
- Készítsünk pontszám-megjelenítő mezőt az egyik sarokba, minden sikeres gombmegnyomás esetén növelje a pontot.
2. gyakorlat
Gyakorlat
- 1. lecke: Rajzolás befejezése.
- 2. lecke: Szimbólumok Fogalmak: szimbólumok típusai, Új szimbólum létrehozása, library, szimbólum példány, transzformációk, tint.
- 3. lecke: Rétegek.
- 4. lecke: Szövegek. Fogalmak: Egy soros, több soros szövegdobozok, statikus, dinamikus input, break apart.
Házi feladat
- Otthoni tanulmányozás: Rajzolás, Szimbólumok, Rétegek, Szövegek.
- Hozz létre egy játék számára indítóképernyőt! Használj réteget a háttérhez, a vezérlő gombokhoz, szimbólumokhoz! Használj egy új réteget az előtérhez, ahol egy szövegmezőben a játék neve foglal helyet!
- Készítsd el egy ki-be kapcsoló gomb (pl. zene) grafikus elemeit!
- Készítsd el a T betű hullámos/ferde változatát!
1. gyakorlat
Gyakorlat
Házi feladat
- Rajzolás gyakorlása.
- Rajzolj házat, kerítéssel, kertel, stb. Használj színátmeneteket.
Kurzus követelményei
A teljesítmény értékelése az alábbi részteljesítésekből tevődik össze.-
Számonkérő tesztek a gyakorlatokon: (18%)
- Összesen 3 alkalommal, a gyakorlatok elején, teszt a Moodle rendszerben
- A tesztek várható időpontja: feb. 21-24, márc. 28-31, máj. 2-5
- Mindegyik teszt 8 kérdésből áll, a gyakorlat és az előadás(!) addig elhangzott anyagából.
- Kötelezően elérendő minimum nincs.
- A számonkérésen fényképes igazolvánnyal kell megjelenni.
-
Flash programozási számonkérés a gyakorlatokon: (12%)
- Összesen 2 alkalommal, a gyakorlatok elején, egyszerű Flash feladat megoldása.
- A számonkérések várható időpontja: márc. 7-10, ápr. 11-14
- Az egyes feladatokra háromféle értékelést lehet kapni: 0: nem felelt meg, 1: részben elfogadható, 2: szép megoldás.
- Kötelezően elérendő minimum nincs.
- A számonkérésen fényképes igazolvánnyal kell megjelenni.
-
Önállóan elkészítendő kötelező feladat: (10%)
- A program feltöltendő a bíró rendszerre május 1. (vasárnap) éjfélig (23:59:59).
- A kötelező programra a következő értékelést lehet kapni: 0: nem felelt meg, 2: elfogadható, 3: jó, 4: kiváló munka.
- Kötelezően elérendő minimum van! Ha a programra "nem felelt meg" értékelést kap, a teljes gyakorlatot (és így a kurzust) nem teljesítette!
- Mivel a program elkészítésére bőséges idő áll rendelkezésre, utólagos javításra, pótlásra, valamint a határidő kitolására nincs lehetőség.
- A feladat pontos specifikációja elérhető a /pub/multimedia/mm2011 könyvtárból a kabinetes gépeken vagy a gyakorlati segédanyagok között.
-
Évközi dolgozat (Midterm): (20%)
- A teljes évfolyamnak közösen, március 28-án az előadás idejében és helyén, az addigi elméleti és gyakorlati(!) ismeretanyagból.
- Kötelezően elérendő minimum nincs, de beleszámít a "vizsgára bocsátható" számításba.
- A számonkérésen fényképes igazolvánnyal kell megjelenni.
-
Vizsga (Kollokvium): (40%)
- Csak az a hallgató vizsgázhat, aki megszerezte a szorgalmi időszakban max. elérhető teljesítés felét (tesztek + programozási feladatok + önálló kötelező program + évközi dolgozat).
- A vizsga akkor sikeres, ha a szerezhető pontok legalább felét eléri. Ellenkező esetben a vizsgajegy, a többi részteljesítés eredményétől függetlenül automatikusan elégtelen.
[ 0%, 50% ) elégtelen (1) [ 50%, 63% ) elégséges (2) [ 63%, 75% ) közepes (3) [ 75%, 88% ) jó (4) [ 88%, 100% ] jeles (5)