310 likes | 467 Views
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 kzst@almos.vein.hu. Bevezetés. Multimédia szerzői nyelvek és rendszerek Oldalorientált (ToolBook) Ikonorientált (Authorware) Objektum orientált (Visual ...)
E N D
Multimédiás programok készítése Macromedia Director MX-es fejlesztői környezetben 1. előadás Készítette: Koszytán Zsolt kzst@almos.vein.hu
Bevezeté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 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 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 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 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 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 ? • 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
Legfontosabb fogalmak a Directorban • 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 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é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
Scriptek 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) • 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 • Direkt ugrás: • Go[framenumber|marker] • Indirekt ugrás: • Play [framenumber|marker] • Play Done • Play Movie “filename.dir”
Legfontosabb Scriptek • PrepareMovie • KeyDown, KeyUp • PrepareFrame, EnterFrame, ExitFrame • MouseUp, MouseDown, MouseEnter, MouseWithin, MouseLeave
Scriptek 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álata procedure [ v | (v1,v2,v3,..) ] function1 [v | (v1,v2,v3,..) ] - - szemantikai hiba - - a = the result a= function2 [ (v1,v2,v3,..) ]
Operá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ó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ó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ó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
Elágazások • Kétszeres elágazás: if kif1 then kif2 [else kif3] if kif1 then ... [else ...] end if
Elágazások • Többszörös elágazás: case kif of kif1 : ut1 [kif2 : ... kif3,kif4 : ... [otherwise ...]] end case
Ciklusok repeat withvalt = kezdo[down] toutolso ... end [repeat] repeat withvalt in lista ... end [repeat] repeat while tesztfelt ... end [repeat]
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ö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á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-ban • 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-ek • Legfontosabb beépített objektumok: • Text • Field • Push Button • Radio Button • Check Box • BitMap • Vector Shape • Script-ek (Frame, Movie, Sprite)
Cast 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ő)