multimédiás programok készítése
DESCRIPTION
Multimédiás programok készítése. Macromedia Director MX -e s fejlesztői környezetben 1. előadás. Készítette: Koszytán Zsolt [email protected]. Bevezetés. Multimédia szerzői nyelvek és rendszerek Oldalorientált (ToolBook) Ikonorientált (Authorware) Objektum orientált (Visual ...) - PowerPoint PPT PresentationTRANSCRIPT
Multimédiás programok Multimédiás programok készítésekészítése
Macromedia Director MX-es fejlesztői környezetben
1. előadás
Készítette: Koszytán Zsolt
BevezetésBevezetés
Multimédia szerzői nyelvek és rendszerek Oldalorientált (ToolBook) Ikonorientált (Authorware) Objektum orientált (Visual ...) Időtengely-orientált (Director)
Oldalorientált rendszerekOldalorientált rendszerek
Előnyök Gyorsan, egyszerűen lehet kisebb
alkalmazásokat létrehozni Nem kell hozzá feltétlenül programozni
Hátrányok Rugalmatlan Csak bizonyos alkalmazásokat lehet vele
létrehozni
Ikonorientált rendszerekIkonorientált rendszerek Előnyök
Gyorsan, egyszerűen lehet kisebb alkalmazásokat létrehozni
Nem kell hozzá programozni Oktatási célra a legmegfelelőbb
Hátrányok Rugalmatlan Csak bizonyos alkalmazásokat lehet vele
létrehozni
Objektum orientált rendszerekObjektum orientált rendszerek Előnyök
Gyors, hatékony programokat lehet vele készíteni
Rugalmas Hátrányok
(Majdnem) mindenre lehet használni Magas szintű programozási ismeret
szükséges A fejlesztési idő hosszabb lehet
Időtengely orientált rendszerekIdőtengely orientált rendszerek Előnyök
Hatékony programokat lehet vele készíteni Rugalmas (?)
Hátrányok Majdnem mindenre lehet használni Nagy az erőforrásigénye Más „filozófia”
Mikor használjunk DirectortMikor használjunk Directort?? Ha hajlandók vagyunk egy más
„programozási filozófiát” elsajátítani Ha ki tudjuk használni az előnyeit
Gyors alkalmazásfejlesztés Hatékony multiméda (kép, hang, szöveg...) Multimédiás adatbázis Multimédiás kliens – szerver megoldások
Ha elegendő erőforrást tudnak biztosítani a program működéséhez
... és mikor ne... és mikor ne ? ? Ha a fejlesztés nem is annyira
multimédia.. Ha nincs elegendő erőforrás a program
működéséhez Ha inkább „gyors”, mint „szép”
alkalmazást akarunk írni
A fejlesztői környezetA fejlesztői környezet
Legfontosabb fogalmak a Legfontosabb fogalmak a DirectorbanDirectorban
Movie [Mozi] Frame [Képkocka] Cast (Library) [Stáb] Cast Member [Szereplők] Sprite [Színpadon lévő szereplők] Score [Forgatókönyv] Script [Program részlet] Behavior [Viselkedés?]
Objektumok kezelése DirectorbanObjektumok kezelése Directorban Objektumok
Szöveg (Text, Html, Rtf) Kép (Jpeg, Gif, Bmp, ...) Videó (Avi, Qt, Mov, Real Movie, Mpeg) Hang (Wav, Real Audio, Swf) Animáció (Animált GIF, Flash, VRML)
Fontosabb kiterjesztésekFontosabb kiterjesztések .Dir – Director Movie File .Dxr – Director (protected) Movie File .Cst – Cast Library File .Cxt – Cast (protected) Library File .X32 – Director Xtra File .Fla – Flash File .Swf – Shockwave File
ScriptekScriptek
A programozási nyelv a LINGO Objektumorientált Eseményorientált !!!
A scriptek hozzárendelésük szerint
Movie – Movie Script Frame – Frame Script Cast Member – Cast Member Script Sprite – Sprite Script
Forgatókönyv (Score)Forgatókönyv (Score) Az objektumok csak egy
bizonyos ideig „élnek” A sprite-okat csak ekkor
tudjuk manipulálni A lejátszás sebessége
függ: A beállításoktól (FPS) Az adott frame-ben
elvégzendő feladat mennyiségétől
A frame-eket el lehet nevezni. => marker
Legfontosabb ugró utasítások Legfontosabb ugró utasítások Direkt ugrás:
Go [framenumber|marker] Indirekt ugrás:
Play [framenumber|marker] Play Done Play Movie “filename.dir”
Legfontosabb ScriptekLegfontosabb Scriptek PrepareMovie KeyDown, KeyUp PrepareFrame, EnterFrame, ExitFrame MouseUp, MouseDown, MouseEnter,
MouseWithin, MouseLeave
Scriptek felépítéseScriptek felépítése
On ProcedureName v1,v2,v3,..
...
End [ProcedureName]
On FunctionName v1,v2,v3,..
...
return b
End [FunctionName]
Függvények, eljárások használataFüggvények, eljárások használata
procedure [ v | (v1,v2,v3,..) ]
function1 [v | (v1,v2,v3,..) ] - - szemantikai hiba
- - a = the result
a= function2 [ (v1,v2,v3,..) ]
OperátorokOperátorok = (értékadás, összehasonlítás) <,<=,>,>=,<> (összehasonlítás) +,-,*,/, mod (aritmetikai operátorok) &, && (stringek összeadása) and, or, not (logikai operátorok) [] (index operátor) - - (megjegyzés) \ (több sor elválasztása) “ (string határoló operátor)
Típusok, típuskonverziókTípusok, típuskonverziók Egyszerű típusok
Logikai típus (értékei: TRUE, FALSE) Szám (Egész, Valós) Karakter ~ Sztring
Összetett típusok Tömb ~ Lista Objektum (!!!)
Típusok, típuskonverziókTípusok, típuskonverziók Egész => Valós
a=Integer(0.0123) b= (0.0123).Integer
Valós => Egész a=Float(0) b= (1).Float
Egész => Sztring a=String(0) b= (0).String
Típusok, típuskonverziókTípusok, típuskonverziók Sztring => Egész
a=Integer(”0”) b= (”1”).Integer - - DE !!! c=Integer(”0.01”) - - HIBA !!! c=Void
Valós => Sztring a=String(0.01) b= (1.34).String
Sztring => Valós a=Float(”0.02”) b= (”0.034”).Float - - ÉS !!! c=((”0.01”).Float).Integer
ElElágazásokágazások Kétszeres elágazás:
if kif1 then kif2 [else kif3]
if kif1 then
...
[else
...]
end if
Többszörös elágazás:case kif of
kif1 : ut1[kif2 :
... kif3,kif4 : ...
[otherwise...]]
end case
ElElágazásokágazások
CiklusokCiklusokrepeat with valt = kezdo [down] to utolso ...end [repeat]
repeat with valt in lista ...end [repeat]
repeat while tesztfelt...
end [repeat]
Strukturalitás LINGO környezetben (Strukturalitás LINGO környezetben (??)) A LINGO „közepesen strukturált” nyelv Eljárások, függvények, objektumok használata
DE !!! Direkt ugrások Nincs elhatárolható Definíció – Deklaráció –
Inicializáció (pl. i=1 mindhárom egyben) Értékadó operátor egyben összehasonlító operátor
is Csak név szerinti átadás van Nagy a globális változók szerepe
Változók hatásköreVáltozók hatásköre Lokális változók
on MouseDown
x1=sprite(3).loch
y1=sprite(3).locv
end Globális változók
global gDemo
on prepareMovie
global gDemo
gDemo=FALSE
...
end
Objektum orientált programozásObjektum orientált programozás Osztály (definíció) vs. Objektum Objektum orientált programozás tulajdonságai:
Zártság Öröklődés Többalakúság
Objektumok felépítése: Tulajdonságok Függvények, eljárások => Metódusok (handler-
ek) Adatok
Objektum orientált programozás LINGO-Objektum orientált programozás LINGO-banban
Hangsúly nem az osztályok, hanem az objektumok létrehozásán, kezelésén, manipulálásán van.
Példa objektumok használatára:
member(20).foreColor = 16711680- - set the foreColor of member 20 to
16711680
oldColor = sprite(5).foreColor
Cast Member-ekCast Member-ek Legfontosabb beépített objektumok:
Text Field Push Button Radio Button Check Box BitMap Vector Shape Script-ek (Frame, Movie, Sprite)
Cast Member-ekCast Member-ek
Importálható objektumok Összes beépített + Video ActiveX stb.
Importálás Lehet csatolt file-ként kezelni. (Külső) Hozzá lehet szerkeszteni a CastLib-hez (Belső)