Blloqe të veçanta teksti. Macromedia Flash MX - hapat e parë


Materiale leksioni, detyra shtëpie dhe teste
kursi në distancë “Shkolla elektronike Macromedia Flash MX”
Gazeta javore metodologjike ruse për mësuesit e shkencave kompjuterike. Shtëpia botuese "I Shtatori i Parë" Nr. 42 (2003)
"Një analog i programit "Rule" nga paketa "Hits of Robotland".
në mjedisin Macromedia Flash."

Botime të shtypura

MAKROMEDIA E SHKOLLËS ELEKTRONIKE FLASH MX
Kursi III: Bazat e programimit në Macromedia Flash MX
Moduli IV: The with Command. Programi "Rregulli"
Gjuha ActionScript

Plani i modulit Express:
  • me komandë
  • Flash dublikatë e programit "Rule" nga paketa "Hits of Robotland".

me komandë

Kur përdorni objekte në kodin e programit (skriptin), është e lehtë të vërehet se edhe në një bllok të vogël skripti emri i të njëjtit objekt përsëritet në mënyrë të përsëritur. Përsëritje të tilla ndodhin veçanërisht shpesh kur përdoren disa objekte individuale, për shembull objekte Math, që i përket nivelit të lartë. Për shembull, kodi i mëposhtëm është mjaft i zakonshëm:

A = Math.PI * r * r; x = r * Math.cos(Math.PI); y = r * Math.sin(Math.PI/2);

Këtu është objekti Math ndodh në mënyrë të përsëritur, gjë që e bën skenarin të vështirë për t'u kuptuar. Kjo hyrje mund të thjeshtohet shumë nëse blloku i skriptit është i mbyllur në kllapa duke përdorur komandën with. Pastaj, brenda këtij blloku skripti, interpretuesi ActionScript do të hyjë në objektin e specifikuar. Tani kodi mund të rishkruhet si më poshtë:

Me (Math) (a = PI * r * r; x = r * cos (PI); y = r * sin (PI/2); )

Le të hedhim një vështrim në formatin e përgjithshëm të komandës:

me (objekt) (
deklarata(t);
}

Objekt— një shembull i një objekti ActionScript ose Klip Filmi.

deklarata(t)- një komandë ose grup komandash të mbyllura në kllapa kaçurrelë.

Le të shohim një shembull tjetër, në të cilin përdoret objekti MovieClip i quajtur someOtherMovieClip:

Me (disaOtherMovieClip) ( _x = 50; _y = 100; gotoAndStop(3); )

Fragmenti i mëposhtëm i skriptit tregon se si shembulli i mëparshëm mund të shkruhet pa përdorur komandën with:

SomeOtherMovieClip._x = 50; someOtherMovieClip._y = 100; someOtherMovieClip.gotoAndStop(3);

Është e mundur të përdoren komanda të ndërlidhura për të aksesuar informacionin në shumë fusha kontekstuale.

Flash dublikatë e programit "Pravilka" nga paketa "Hits of Robotland".

Kur programojmë butonat, ne do të përdorim në mënyrë aktive operatorin e degëzimit: nëse dhe nëse tjetër. Ne gjithashtu do të organizojmë funksionimin e një numëruesi që i shton pikë përdoruesit në rast të një përgjigjeje të saktë dhe i zbresë pikët në rast se, pa korrigjuar një gabim ose korrigjime të pasakta, përdoruesi shtyp butonin "Next".

Do të organizojmë punën e një Klip Filmi (çmim), në të cilin do të vendoset “Fondi i Çmimeve”. Nëse përdoruesi shënon 10 pikë, çmimi i tij do të jetë një shportë me fruta të shijshme. Nëse përdoruesi ka 9 ose 8 pikë si çmim, ai do të marrë një copë djathë, nëse përdoruesi është "me fat" që shënon 6 ose 7 pikë, ai do të marrë një kungull, por nëse shënon 5 ose më pak se 5 pikë. , ai do të marrë një domate!

Për ata që pëlqejnë një vlerësim me pesë pikë, le të përkthejmë sa më sipër në një gjuhë të aksesueshme për revistën shkollore:

Shporta me fruta - 5 ;
copë djathë - 4 ;
kungull - 3 ;
domate - 2 .

Kur të hyjmë në Movie Clip ne do të përdorim komandën with.

Skena jonë do të përdorë 11 korniza. 10 kornizat e para do të jenë “fletë pune” në të cilat do të vendosen frazat me gabime gramatikore (Input Text). Zakonisht fushat e hyrjes lihen bosh, por në rastin tonë ato duhet të funksionojnë! Çdo fletë do të programohet me një fushë dinamike. Nëse përdoruesi nuk korrigjon gabimin gramatikor, do të shfaqet teksti: "Nuk e korrigjove gabimin!"

Ky program përdor dy shtresa. Shtresa e poshtme është sfondi, përmban tekstin statik "Programi i saktë" dhe një simbol grafik me një kapelë.

Nëse absolutisht dëshironi të përdorni ndonjë font ekzotik të instaluar në kompjuterin tuaj në program për të shkruar titullin, mos harroni të përdorni procedurën Break Apart nga menyja Modify për këtë tekst. Me fjalë të tjera, kthejeni tekstin në grafikë. Dhe pastaj teksti juaj nuk do të kthehet në gobbledygook në një makinë që nuk e ka këtë font!

Tani gjithçka është në rregull. Le të shkruajmë një skenar për kornizën 1:

Stop (); fscommand ("showmenu", "false"); i = 0;

Kur luani një video, duhet të çaktivizoni "Menu". Në këtë mënyrë ne nuk do të lejojmë përdoruesin të bëjë një "hap prapa". Dhe ne gjithashtu "ndezim" banakun.
Le të shkruajmë veprimin për kornizat 2-10:

Le të shohim se si funksionojnë butonat duke përdorur kornizën e parë si shembull. Ju mund të programoni vetë butonat e mbetur.

Aktiv (lësho) ( if (t1=="Kryzantemë e bardhë") ( i++; gotoAndPlay(2); ) other ( i--; z1 = "Nuk e rregullove gabimin!"; ) )

Tani do të formojmë “Fondin e Çmimeve”. Le të krijojmë simbol i ri shkruani Movie Clip me emrin çmimin në të cilat do të punojnë 5 korniza. Ne do të shkruajmë një promovim për të gjitha kornizat e klipit:

Korniza e parë e klipit do të jetë bosh.

Në kornizën e dytë do të vendosim një shportë me fruta dhe do t'i japim kornizës një etiketë: pesë.
Në kornizën e tretë do të vendosim një copë djathë dhe do t'i caktojmë një etiketë kornizës: katër.
Le të vendosim një kungull në kornizën e katërt dhe t'i caktojmë një etiketë kornizës: tre.
Le të vendosim një domate në kornizën e pestë dhe t'i caktojmë një etiketë kornizës: dy.

Në këtë program, e gjithë kjo “larmi ushqimore” u importua nga koleksioni ClipArt97 (skedarët wmf). Sidoqoftë, ju mund të krijoni "fondin tuaj të çmimeve", gjithçka varet vetëm nga imagjinata juaj.

Le të kthehemi në skenë dhe në kuadrin e fundit të 11-të do të vendosim klipin që krijuam me çmime. Mos harroni ta shprehni atë në skenë. Emri i shembullit: çmimin. Ne do të shkruajmë një skript në këtë kornizë që, duke analizuar përmbajtjen e banakut, do t'i "i japë" përdoruesit një çmim:

Stop (); sh = i; me (_rrënjë.çmim) (nëse (i

Testoni videon. Dhe nëse është e nevojshme, korrigjoni atë.

Për të thjeshtuar procesin e testimit, krijoni një fushë teksti dinamik në kornizën e fundit me emrin sh dhe shfaqni të dhënat e numëruesit në këtë fushë. Për ta bërë këtë, shtoni rreshtin e dytë në skenarin e kornizës së 11-të:

Pas përfundimit të procesit të korrigjimit, fshini këtë fushë dhe rreshtin që keni futur.

Detyrë shtëpie: Bazat e programimit në Macromedia Flash MX

Oh, sa zbulime të mrekullueshme kemi
Përgatitni frymën e iluminizmit
Dhe përvoja, bir i gabimeve të vështira,
Dhe gjeni, mik i paradokseve,
Dhe rastësia, Zoti shpikësi.
Alexander Sergeevich Pushkin, "Eugene Onegin"

Detyra juaj është të krijoni një video që dublikon materialin e paraqitur në këtë leksion. Ju mund t'i zgjidhni vetë frazat.

Materialin ilustrues të përdorur për të formuar “fondin e çmimeve” të videos e gjeni në arkivin që shoqëron materialin e leksionit. Ky arkiv përmban skedarë në formatin wmf. Nëse ky grup çmimesh nuk i plotëson kërkesat tuaja, mos ngurroni të bëheni krijues dhe të përdorni bibliotekën tuaj.

Paraqisni detyrën tuaj të përfunduar si skedar në formatin fla (nëse madhësia e skedarit i kalon 150 KB, ju lutemi arkivoni skedarin) dhe dërgojani mësuesit tuaj.

Ju uroj suksese në mësimin e Macromedia Flash MX vetë!

Seksionet në këtë faqe:

Tani le të flasim për të ashtuquajturat blloqe të veçanta teksti, pra për blloqet e tekstit që kryejnë funksione të veçanta. Sidoqoftë, për momentin, ato nuk do të jenë të dobishme për ne, por do të nevojiten kur të fillojmë të shkruajmë programe në mjedisin Flash (programimi i dedikohet pjesa IV ky libër).

Fushat e hyrjes

Fusha e hyrjes - Ky është një lloj redaktuesi i vogël teksti i vendosur në një dritare programi Windows dhe i krijuar për të futur tekst me një ose shumë rreshta. Në të njëjtën kohë, vetë Windows menaxhon futjen e tekstit: ne thjesht shkruajmë karaktere, përdorim tastet e shigjetave, , , zgjidhni tekstin, përdorni kujtesën, si në çdo "i madh" redaktori i tekstit. Programuesit e Microsoft kanë punuar shumë për t'i bërë fushat standarde të hyrjes së Windows me të vërtetë të përshtatshme.

Për të krijuar një fushë hyrëse në Flash, së pari duhet të vendosni një bllok teksti të rregullt në fletën tuaj të punës dhe ta zgjidhni atë me mjetin me shigjeta (nuk keni nevojë të futni asnjë tekst në bllokun e tekstit). Më pas, gjeni në këndin e sipërm të majtë të panelit Vetitë një listë të vogël rënëse (shih Fig. 7.4) dhe zgjidhni artikullin në të InputText. Nëse pas kësaj hapim bllokun e tekstit që rezulton, do të shohim atë që tregohet në Fig. 7.9.


Pra, çfarë shohim? Dhe ne shohim një grup të plotë të shënuesve të ndryshimit të madhësisë (ato do të ruhen edhe nëse mbyllim fushën e hyrjes). Kjo do të thotë që ne gjithashtu mund të ndryshojmë madhësinë vertikale të fushës së hyrjes që rezulton. Dhe shënuesi drejtkëndor nga këndi i sipërm i djathtë do të lëvizë në të djathtën e poshtme - kjo është një shenjë që kemi një fushë hyrëse para nesh.

Pamja e panelit Vetitë pas zgjedhjes së fushës hyrëse është paraqitur në Fig. 7.10. Siç e shohim, ata u shfaqën atje elemente shtesë kontrollet që duhet të merren parasysh.


Para së gjithash, pikërisht poshtë listës që sapo përdorëm, u shfaq një fushë në të cilën do të na duhet të specifikojmë një unik Emri, duke identifikuar fushën e hyrjes Flash që krijuam. Çdo fushë hyrëse e krijuar në një fletë pune duhet të ketë një emër unik. Ky emër mund të përmbajë shkronja të alfabetit rus dhe latin, numra dhe nënvizime dhe duhet të fillojë ose me një shkronjë ose një nënvizim.

Poshtë fushës së hyrjes së detyrës së gjurmimit është një listë tjetër rënëse. Përdoreni atë për të zgjedhur llojin e fushës së hyrjes. Ka katër artikuj të disponueshëm në këtë listë:

? Linjë e vetme- e rregullt fushë e hyrjes me një linjë;

? Shumëlinjash- fushë e hyrjes me shumë rreshta(me fjalë të tjera, zona e redaktimit);

? Multiline pa mbështjellje- një fushë hyrëse me shumë rreshta që nuk do të thyejë automatikisht një rresht (megjithëse përdoruesi mund të thyejë një linjë me dorë duke shtypur tastin );

? Fjalëkalimi- fushën e futjes së fjalëkalimit. Ngjashëm me një fushë të zakonshme hyrëse me një rresht, por fsheh tekstin e futur në të, duke shfaqur në vend të kësaj një varg yjesh.

Në të djathtë të kësaj liste është një grup prej tre butonash ndërprerës. E para prej tyre është tashmë e njohur për ne - lejon përdoruesin të zgjedhë tekstin në fushën e hyrjes:


Siç mund të shihet në Fig. 7.10, ky buton shtypet dhe çaktivizohet, pra nuk mund të çaktivizohet.

Butoni i dytë i ndërrimit, kur aktivizohet, udhëzon Flash-in të përpunojë të gjitha etiketat HTML që hasen në tekst:


Pra, nëse mbyllim një pjesë teksti në një etiketë<В>.. , Flash do ta theksojë atë me shkronja të zeza. Nëse ky buton është i çaktivizuar, Flash shfaq tekstin "siç është", së bashku me çdo etiketë HTML që specifikohet atje.

Në përgjithësi, kjo veçori është e dobishme vetëm nëse specifikojmë përmbajtjen e një fushe hyrëse nga një skript ActionScript, kështu që përshkruhet këtu përpara kohe. Informacione të hollësishme mbështetëse Etiketat HTML Fushat e hyrjes dhe blloqet dinamike të tekstit mund të gjenden në ndihmën online të Flash.

Butoni i tretë i ndërrimit, kur aktivizohet, bën që Flash të tregojë një kufi rreth fushës së hyrjes, duke e bërë atë të ngjajë me një fushë standarde hyrëse të Windows:


Nëse është i çaktivizuar, fusha e hyrjes ka një pamje "të sheshtë".

Nëse fusha e hyrjes që krijuam do të jetë pjesë e ndërfaqes origjinale, është mirë ta lini këtë buton të çaktivizuar. Nëse duam ta bëjmë fushën e hyrjes më të njohur për përdoruesin ose më të dukshme, mund ta aktivizojmë këtë buton.

Në të djathtë të këtyre tre butonave është një fushë hyrëse Var. Kjo fushë specifikon emrin e ndryshores ActionScript në të cilën do të vendoset teksti i futur në fushën hyrëse që krijuam. Një variabël është një lloj "qeliza ruajtëse" e të dhënave të krijuara në kujtesën e kompjuterit dhe ka një emër unik me të cilin mund të identifikohet në mënyrë unike. Ne mund t'i referohemi kësaj ndryshore me emër, të nxjerrim të dhëna prej saj ose të vendosim një vlerë të re në të. Variablat do të diskutohen në detaje në Kapitulli 19.

Në fushën e hyrjes Karakteret maksimale cakton numrin maksimal të karaktereve që përdoruesi mund të fusë në të. Nëse nuk duam ta kufizojmë këtë numër, atëherë do të fusim vlerën 0 atje (kjo, nga rruga, është vlera e paracaktuar e fushës).

Tani le të kthehemi në temën e zbatimit të shkronjave, por në lidhje me fushat e hyrjes (më saktë, për të gjitha blloqet e veçanta të tekstit). Puna është se në këtë rast nuk kryhet ngulitje - Flash ruan vetëm emrat e shkronjave të përdorura. Kur luani një imazh të përfunduar, Flash Player fillimisht i kërkon këto fonte në kompjuterin e klientit dhe, nëse ka, i përdor ato për të shfaqur tekstin. Nëse nuk gjendet një font i përshtatshëm, luajtësi përdor fontin e ngjashëm më të afërt me atë të dëshiruar, gjë që mund të shkaktojë shtrembërim të imazhit. Dhe kjo nuk është gjithmonë e pranueshme.

Por ne ende mund ta detyrojmë Flash-in të vendosë përshkrime të karaktereve të zgjedhura të fontit të specifikuar për një fushë hyrëse të caktuar në skedarin Shockwave/Flash që rezulton. Tani do të shohim se si bëhet kjo.

Përzgjedhja e karaktereve të shkronjave për t'u futur bëhet në kutinë e dialogut Përfshirja e personazheve(Fig. 7.11). Kjo dritare do të shfaqet në ekran pasi të shtypni butonin Embed panele Vetitë(shih Fig. 7.10).


Lista e madhe e kësaj dritareje do të na lejojë të zgjedhim grupe të tëra simbolesh që duhet të futen në skedarin Shockwave/Flash që rezulton. Ai përmban mjaft artikuj; të njëjtat që garantohen të jenë të dobishme për ne janë dhënë më poshtë:

? Të gjitha (39477 glife)- të gjitha karakteret e këtij fonti në shumën 39,477. Ky artikull është dhënë vetëm për qëllime informative; në realitet, vështirë se dikush do ta përdorë atë;

? Shkronjat e mëdha (27 glyphs)- shkronja të mëdha latine (27 karaktere);

? Shkronjat e vogla (27 glyphs)- shkronja të vogla latine (gjithashtu 27 karaktere);

? Numrat (11 glyphs)- Numrat arabë (11 karaktere);

?Shenjat e pikësimit [!@#$%…] (52 glyfe)- shenjat e pikësimit dhe emërtimet e veçanta (52 karaktere);

?Latinishtja bazë (95 glyfe)- shkronjat e shumicës së gjuhëve evropiane (95 karaktere);

?cirilik (499 glife)- Shkronja cirilike (499 karaktere). Ndoshta pika më e rëndësishme në rastin tonë.

Si rregull, disa artikuj theksohen në këtë listë menjëherë (kjo është e drejtë - kujt i duhen shkronja pa numra!). Për ta bërë këtë, së pari klikoni në artikullin e parë nga grupi i atyre që duam të zgjedhim, më pas shtypni tastin dhe, duke e mbajtur atë, klikoni mbi artikujt e mbetur derisa të zgjedhim gjithçka. Pas kësaj, mund të lëshoni çelësin .

Nën listën e shkronjave ka një fushë hyrëse Përfshini këta personazhe. Në të mund të fusim manualisht karakteret që duhet të futen. Kjo metodë është e dobishme nëse duam të vendosim vetëm disa karaktere në një font. Dhe nëse shtypim butonin Plotësimi automatik, Vetë Flash do të zëvendësojë në këtë fushë hyrëse të gjithë karakteret që kemi përdorur në tekstin e fushës së zgjedhur të hyrjes.

Në fund të dritares Opsionet e personazheve ka një fushë të vogël teksti Numri i përgjithshëm i glifeve, duke treguar se sa karaktere kemi përzgjedhur tashmë për ngulitje. Kështu që ne mund të ndalemi në kohë.

Butoni Mos e integro do t'ju lejojë të hiqni shpejt të gjithë personazhet që kemi zgjedhur për zbatim. Kur klikoni mbi të, fusha e hyrjes do të pastrohet Përfshini këta personazhe, dhe në një listë të madhe, përzgjedhja e artikujve që kemi zgjedhur do të zhduket.

Duke vendosur opsionet e futjes së fontit në kutinë e dialogut Përfshirja e personazheve, butoni duhet të shtypet NE RREGULL, për t'i zbatuar ato. Nëse duhet t'i anuloni këto cilësime, klikoni butonin Anulo.

Blloqe teksti dinamike

Shpesh, në vend që të shfaqni tekst të thjeshtë e të pandryshueshëm, dëshironi të shfaqni daljen e një skripti ActionScript në formë teksti. Për shembull, një skenar i tillë mund të nxjerrë lajme nga faqja e internetit Compulents, një parashikim moti nga faqja e internetit Aporta dhe kurset e këmbimit nga faqja e internetit Rambler, të shtojë kohën aktuale në të dhënat e nxjerra dhe të shfaqë të gjitha këto si tekst në ekran. (Meqë ra fjala, ide interesante...)

Është pikërisht për shfaqjen e tekstit që është rezultat i skenarit që ato përdoren. blloqe teksti dinamike.(Blloqet e rregullta të tekstit quhen shpesh statike.) Ndoshta nevoja për blloqe të tilla dinamike teksti lind më shpesh sesa për fushat e hyrjes.

Një bllok teksti dinamik krijohet në të njëjtën mënyrë si një fushë hyrëse. Krijoni një bllok teksti të rregullt, zgjidhni atë me mjetin me shigjeta dhe gjeni atë në këndin e sipërm të majtë të panelit Vetitë një listë e vogël rënëse (shih Figurën 7.4). Thjesht duhet të zgjidhni një artikull nga kjo listë Tekst dinamik.

Një bllok teksti dinamik i zgjedhur është i ngjashëm me një fushë hyrëse (shih Fig. 7.9) dhe panelin Vetitë do të duket afërsisht njësoj siç tregohet në Fig. 7.10. Prandaj, ne nuk do të japim një përshkrim të kontrolleve të përfshira në të, por do të kufizohemi në vënien në dukje të dallimeve ekzistuese.

Të njëjtat variabla përdoren për të shfaqur tekstin në një bllok teksti dinamik. Skripti ActionScript e vendos tekstin e daljes në një variabël të tillë dhe Flash player kryen daljen. Emri i kësaj variabli futet në të njëjtën fushë hyrëse që ndodhet nën listë, me ndihmën e së cilës sapo kemi kthyer një bllok teksti të rregullt në një dinamik.

Tani për dallimet. Në fakt, ekziston vetëm një ndryshim për sa i përket ndërfaqes dhe, përveç kësaj, ai tashmë është i njohur për ne. Butoni i ndërrimit:


Përfshirja e aftësisë për të theksuar dhe kopjuar tekstin e vendosur në një bllok teksti dinamik është tashmë i disponueshëm dhe ne mund ta çaktivizojmë nëse dëshirojmë.

Dallimi në aspektin e aftësive është se mund të bëhet një bllok teksti dinamik i lëvizshëm. Një bllok i zakonshëm dinamik duhet patjetër të ketë dimensione të tilla që të mund të përmbajë të gjithë përmbajtjen e tij. Për një bllok të lëvizshëm, kjo nuk është e nevojshme: të ngjashme me zonat Redaktimi i Windows, mund të "lëvizë" tekstin që përmban. Për të kontrolluar lëvizjen, do të duhet të shkruajmë skriptet e duhura ActionScript - një bllok teksti i lëvizshëm nuk përmban shirita lëvizjeje.

Për ta bërë një bllok teksti dinamik të lëvizshëm, fillimisht duhet ta zgjidhni atë. Pas kësaj, duhet të ndizni çelësin I lëvizshëm menu Teksti ose artikulli i menysë së kontekstit të bllokut të tekstit me të njëjtin emër. Nëse një bllok teksti është aktualisht i hapur, mund të klikoni dy herë mbi dorezën katrore të vendosur në këndin e poshtëm djathtas të drejtkëndëshit të përzgjedhjes duke mbajtur të shtypur . Blloku i tekstit i përfunduar i lëvizshëm është paraqitur në Fig. 7.12; Vini re se shënuesi që klikuam mori formën e një katrori të zi.


Nën titullin "Macromedia Flash 8: një kurs për një luftëtar të ri", kushtuar këtij produkti të mrekullueshëm softuer dhe Teknologjitë flash. Duke filluar nga sot, temat për të cilat flasim Flash do të bëhen më të fokusuara. Prandaj, tani e tutje do të heq fjalët "kursi i luftëtarëve të rinj" në titull. Sidoqoftë, kjo rrethanë nuk do të ndikojë aspak në mënyrën e prezantimit të materialit, qëllimi kryesor i të cilit është t'i përgjigjet shumë pyetjeve që kanë dizajnerët fillestarë të flashit dhe t'u japë ushqim për mendime atyre me përvojë.

Pra, sot në axhendë janë komponentët e ndërfaqes së përdoruesit të Macromedia Flash Professional 8, si dhe mënyra e personalizimit të tyre.


Standard Flash 8 Komponentët

Versioni më i fundit i paketës së fuqishme grafike Macromedia Flash 8, përveç një sërë mjetesh, metodash dhe efektesh të afatit kohor të krijuara për të krijuar animacion me cilësi të lartë, përmban një gjuhë programimi të plotë të orientuar drejt objektit ActionScript 2.0 dhe komponentë të shumtë (ndërtuar në blloqet e programit si Filmi).

Pse na duhen fare komponentë? Në shumë raste, ato thjeshtojnë shumë procesin e zhvillimit të një aplikacioni ndërveprues. Duke përdorur fushat e futjes së të dhënave dhe çelësat e ndryshëm në faqet e internetit, mund të krijohen lehtësisht formularët e regjistrimit, duke përdorur ngarkuesit mund të kontrolloni ngarkimin e tekstit dhe të dhënave multimediale nga burime të ndryshme, etj. Sot do të njihemi me një nga klasat e komponentëve në Flash 8 - elementët e ndërfaqes së përdoruesit (Ndërfaqja e përdoruesit - UI).

Objekti më i njohur në Flash është, natyrisht, butoni. Është i pranishëm në Flash si një lloj simboli ashtu edhe si një element UI. Komponentët RadioButton, CheckBox, MenuBar etj. përdoren më rrallë, por nuk janë aspak më pak të rëndësishëm. Dritarja e komponentëve thirret duke shtypur Ctrl+F8 ose nga menyja Window -> Components. Shihni tabelën për komponentët kryesorë të ndërfaqes së përdoruesit.

Komponenti Përshkrim
Fizarmonikë Navigator i formularit
Alarmi Mesazh me tekst
Butoni Buton i thjeshtë
Kutia e kontrollit Kutia e zgjedhjes
ComboBox Lista e kombinuar
Listë Listë
Ngarkues Kontejner ngarkues
RadioButton Çelësi përzgjedhës
Zona e tekstit Zona e tekstit
Dritare Enë në formën e një dritareje

Sot, duke përdorur shembullin e vendosjes së parametrave të një elementi të ndërfaqes së përdoruesit të quajtur Alert, do të shikojmë parimet e punës me stilet e komponentëve.


Paracaktimi i vetive të komponentit

Komponenti Alert ju lejon të organizoni një dialog të vogël midis përdoruesit dhe kompjuterit. Le të imagjinojmë diçka të ngjashme me programin e të folurit Alice, i krijuar në vitet '60 dhe që zotëronte një inteligjencë të vogël artificiale që bënte të mundur vazhdimin e një bisede me një person duke përdorur përgjigjet e tij për pyetjet e bëra më parë.

Së pari, le të ndryshojmë etiketat në butona dhe të shkruajmë një mbajtës për klikimet e tyre. Në varësi të cilit buton ka klikuar përdoruesi, do të shfaqet një mesazh i veçantë. E gjithë kjo arrihet pa përdorur stile. Pra, le të tërhiqni dritaren e alarmit në një fletë të zbrazët nga paneli i Komponentëve dhe t'i ofrojmë të gjitha cilësimet e nevojshme. Le të kujtojmë se në çdo skedar Flash fla ekziston një bibliotekë (e quajtur duke shtypur Ctrl+"L"), në të cilën ruhen instancat e komponentëve. Dritarja Alert gjithashtu përshtatet këtu. Meqenëse nuk duam që ai të qëndrojë gjithmonë në hapësirën e punës, ne mund ta heqim atë nga atje (nga tabela e artit, natyrisht). Alarmi do të mbetet në bibliotekë.

Tani zgjidhni kornizën e parë në afatin kohor, shkoni te seksioni Veprimet (F9) dhe shkruani kodin e programit të mëposhtëm: "import mx.controls.Alert" (për më shumë detaje, shihni listën). Shumë nga cilësimet e kërkuara mund të vendosen vetëm duke përdorur ActionScript. Dritarja Alert thirret me procedurën Alert.show ("tekst", "titulli i dritares", "butonat e përdorur", "dritare", "klikoni mbajtës", "buton i zgjedhur") me shumë parametra të specifikuar në kllapa. Për butonat e përdorur, "Alert.YES | Alert.NO" tregohet në thonjëza të vetme (ka edhe butona "OK" dhe "Cancel"), dhe për mbajtësin e ngjarjeve - funksioni "buttonclick", të cilin do ta shkruajmë një pak më vonë. Tani le të ndryshojmë etiketat në butonat "PO" dhe "JO" duke përdorur veçoritë e komponentit Alert "yesLabel" dhe "noLabel". Më pas vendosni dimensionet e kërkuara ("Gjerësia e butonit" dhe "Lartësia e butonit"). Për të zgjedhur parametrat optimalë, është e dobishme të ekzekutoni videon për testim - "Enter" + tastet Ctrl. Logjika e funksionit "buttonclick" është si më poshtë: kur shtypet butoni "Wonderful", shfaqet mesazhi "Vazhdoni ashtu!", kur "Ashtu-kështu" - "Mbani hundën lart!" Që ndryshimet të hyjnë në fuqi, përshkrimi i këtij funksioni dhe cilësimet e komponentit Alert duhet t'i paraprijnë thirrjes në procedurën Alert.show, siç tregohet në listë:

Importo mx.controls.Alert; Alert.buttonWidth=150; Alert.buttonHeight=25; Alert.yesLabel="E mrekullueshme"; Alert.noLabel="Kështu..."; klikoni butonin = funksioni(evt)(nëse (evt.detail == Alert.YES) (Alert.show ("Vazhdo ashtu!", "Macromedia Flash 8");) if (evt.detail == Alert.NO) ( Alert .show("Keep hundën lart!", "Macromedia Flash 8");)) Alert.show("Çfarë ka, shok?", "Macromedia Flash 8", Alert.YES | Alert.JO, kjo, kliko butonin , Alert .PO);

Në mënyrë të ngjashme, ju mund të organizoni një dialog më kompleks me përdoruesin.


Puna me stile

Për çfarë përdoren stilet? Unë do të shpjegoj tani. Çdo komponent në Flash ka një skemë të caktuar ngjyrash, madhësi fonti, etj. Por nëse po zhvilloni, për shembull, faqen tuaj të internetit, atëherë për të mos shkelur integritetin e figurës, do të duhet të "rregulloni" përbërësit në sit. Unë mendoj se nuk do të gaboj nëse them se çdo dizajner flash përpiqet të krijojë videot e tij në një mënyrë të veçantë që është unike për të. Me stilet dhe temat në Flash 8, ju mund ta bëni çdo komponent unik. Por le të mos rrëmbehemi dhe të fokusohemi tek stilet tani për tani.

Ndërfaqja e programimit të aplikacionit të formatimit (Styles API) i siguron përdoruesit vetitë dhe metodat që mund të përdoren për të ndryshuar ngjyrën e një komponenti dhe për të formatuar tekstin e përfshirë në të. Zakonisht kjo është e mjaftueshme. Flash 8 dërgohet me dy stile me një grup parametrash: "Halo" dhe "Sample", të cilat ndodhen në skedarët HaloTheme.fla dhe SampleTheme.fla, përkatësisht. Figura tregon vendndodhjen e tyre në Windows 2000/XP. Duhet të theksohet se tema "Sample" ka shumë më tepër veti, kështu që është më e këshillueshme që të përdoret për të modifikuar komponentët. Dhe kjo bëhet si më poshtë:

  1. Thirret komanda File -> Import -> Open External Library dhe në kutinë e dialogut specifikohet skedari SampleTheme.fla. Më pas, në panelin e bibliotekës së importuar, zgjidhni Flash UI Components2 -> Temat -> MMDefault. Pastaj nga kjo dritare duhet të tërhiqni dosjen me burimet e komponentit (aseteve) të dëshiruar në dritaren e bibliotekës së simboleve të dokumentit aktual.
  2. Duke përdorur metodat setStyle (parametër, vlerë) dhe getStyle (parametër), mund të vendosni ose të merrni vlerën e një parametri të veçantë të stilit të zgjedhur.

Meqenëse jemi duke punuar me komponentin Alert, do të tërhiqim dosjen "Alert Assets" në bibliotekën e simboleve të dokumentit tonë. Më pas do të përdorim vetitë standarde të temës "Sample" (shih listën).

Global.styles.Alert.setStyle("ngjyra", "e kuqe"); _global.styles.Alert.setStyle("themeColor", "haloBlue"); _global.styles.Alert.setStyle("backgroundColor", "0xE0C5FE"); _global.styles.Alert.setStyle("fontFamily", "times new novel"); _global.styles.Alert.setStyle("FontSize", "15");

Ngjyra e kutisë së dialogut Alert është tani vjollcë (0xE0C5FE) dhe teksti i saj tani është blu, me fontin e vendosur në Times New Roman me 15 pika. Duhet të theksohet se simboli Alert është modifikuar në këtë mënyrë, kështu që ndryshimet do të ndikojnë në të gjitha rastet e tij. Një përshkrim i të gjitha vetive të temave Halo dhe Samlpe mund të gjendet në Flash 8 Help.


Po sikur kjo të mos më mjaftojë?

Nëse, edhe me stile, pamja e komponentëve nuk i plotëson kërkesat tuaja estetike, atëherë mund të provoni të shkruani temën tuaj. Për ta bërë këtë, thjesht modifikoni ose zëvendësoni predhat e përbërësve të nevojshëm në një nga temat standarde. Për ta bërë këtë, ruani skedarin HaloTheme.fla ose SampleTheme.fla me një emër unik, ngarkoni atë, shkoni te dritarja e bibliotekës së simboleve (Window -> Library ose Ctrl+L), zgjidhni komponentin e kërkuar dhe zgjidhni opsionin "Edit" në menynë e kontekstit. Disa elementë UI përbëhen nga shumë pjesë, kështu që ato mund të transformohen lehtësisht duke rivizatuar ose rikrijuar secilën pjesë. Komponentë të tillë janë Button, CheckBox, ComboBox, DataGrid, RadioButton, etj. Predha të tjera vizatohen në mënyrë programore. Në këtë rast, për të ndryshuar pamjen komponenti do të duhet të modifikojë kodin burimor. Ky është, për shembull, komponenti Alert. Meqenëse krijimi i një teme të personalizuar është një proces që kërkon kohë, ne nuk do ta trajtojmë atë në detaje. Të paktën tani për tani. Kjo eshte e gjitha.

Menaxhmenti vendosi detyrën: ajo duhet të mbahet e përditësuar Flash Player. Shkalla: ~ 15,000 kompjuterë, gjysma e të cilëve në të vërtetë kanë nevojë për FP.

Duket se cili është problemi - ne krijojmë një politikë domain, shtyjmë paketën MSI dhe gëzohemi ... Por nuk është kështu! Struktura e kompanisë është shumë e shpërndarë, d.m.th. Në vende të largëta me një kanal prej ~ 1 Mbps në 20 kompjuterë, shtytja edhe 15 Mb nga politikanët është tashmë një problem - në mëngjes punonjësit ndezin kompjuterin dhe presin gjysmë ore që ai të ngarkohet derisa gjithçka të shkarkohet dhe instalohet (ose thjesht bie për shkak të një timeout). Për të mos përmendur faktin që kompjuterët në zyra të tilla kanë vetinë e pakëndshme që të bien periodikisht nga domeni.

Ne kishim nevojë për një zgjidhje tjetër që do të funksiononte pavarësisht politikave, nuk do ta sforconte në asnjë mënyrë përdoruesin dhe do ta përdorte kanalin minimalisht (të paktën në mënyrë që të mos shkarkojnë të gjithë në të njëjtën kohë). Opsionet me skriptet gjithashtu nuk ishin të përshtatshme për arsye të dukshme.

Google erdhi në shpëtim, si zakonisht: doli që mund të instaloni një server të brendshëm të përditësimit dhe të konfiguroni përditësuesin e integruar FP në të. Në këtë rast, do t'ju duhet vetëm të shpërndani skedarin e cilësimeve te klientët. Detaje nën prerje.

Vendosja e një serveri përditësues

1. marrim Marrëveshja e licencës

Adobe kërkon një marrëveshje licence për të shpërndarë softuerin e saj. Le të mos shkelim kushtet e përdorimit dhe të marrim një licencë (për fat të mirë, nuk është aspak e vështirë): FlashPlayer: Marrëveshja e Licencës për Shpërndarjen e Adobe Runtimes / Reader. Licenca lëshohet për një periudhë njëvjeçare. Pas skadimit, mund ta dërgoni përsëri kërkesën.

2. Ngritja e serverit në internet

Platforma nuk ka rëndësi; në rastin tim, unë drejtoj faqen e N-të në IIS nën Win2012. Praktikisht nuk konsumon burime edhe pse ~3000 kompjuterë janë konfiguruar tashmë për këtë server.

Cilësimet e serverit:

  • Qasja përmes porteve 80, 443 (http, përkatësisht https).
    E para është e nevojshme, në fakt, për shkarkim, FP e dytë do të shkojë për versionin XML të versionit aktual.
  • Certifikatë e vlefshme https.
    Kam lëshuar një certifikatë të bazuar në rrënjën e korporatës, e cila është e pranishme në të gjitha makinat si parazgjedhje.
  • Listimi i drejtorisë.
    Unë nuk e kontrollova punën pa të - pyet dokumentacioni, vendosa ta bëj siç është shkruar.
Nuk do të hyj në detaje rreth konfigurimit të serverit.

Për qartësi, le ta quajmë serverin FlashPlayerUpdate.domain.local.

3. Shkarkoni burimet dhe ngarkoni ato në server

Ne krijojmë një pemë direktorie në rrënjën e serverit në internet: /pub/flashplayer/update/current/sau/.

Pema e drejtorisë në serverin tim:

Nëse keni kërkuar një licencë në hapin e parë, atëherë si përgjigje duhet të merrni një letër me një lidhje nga ku të shkarkoni FlashPlayer - ndiqni këtë lidhje. Nëse nuk e keni marrë ose nuk e keni kërkuar, atëherë shkoni këtu: https://www.adobe.com/products/flashplayer/distribution3.html dhe shkarkoni arkivin nga lidhja " Shkarkoni burimet e përditësimit të sfondit":

Publikimi i Zgjeruar i Mbështetjes ose Publikimi Publik

Këtu duhet bërë një vërejtje. Ka 2 opsione shkarkimi në faqe: standard (Publik) dhe Release e zgjeruar e mbështetjes. Në rastin tim, stabiliteti është i rëndësishëm dhe nuk nevojiten veçori të reja, kështu që u zgjodh opsioni ESR. Në të njëjtën kohë, i shtova vetes një sasi të caktuar të hemorroideve: versioni publik mund të shkarkohet drejtpërdrejt me skenar nga faqja e internetit Macromedia. Unë ende nuk kam kërkuar në google se si të shkarkoj ESR, kështu që në rastin tim përmbajtja në serverin e brendshëm përditësohet në modaliteti manual.

Në fund të artikullit kam bashkangjitur 2 skripta PowerShell: për përditësim automatik(vetëm për versionin standard; transferohet lehtësisht në bash), për të kontrolluar për përditësime dhe për të njoftuar me e-mail (për çdo version, përfshirë ESR).


Shpaketoni arkivin e shkarkuar në dosjen /pub/flashplayer/update/current/sau/ në server.

4. Shpërndarja e skedarit të konfigurimit te klientët

Në varësi të kapacitetit të sistemit:

  • 32-bit: C:\Windows\ Sistemi 32\Macromed\Flash\mms.cfg
  • 64-bit: C:\Windows\ SysWOW64\Macromed\Flash\mms.cfg
Mund ta shpërndani në çdo mënyrë. Kam përdorur një kombinim të politikës së domenit dhe një server administrimi antivirus (për kompjuterët që janë larguar nga domeni).

Në skedar, ne aktivizojmë përditësimin automatik të heshtur, specifikojmë intervalin e përditësimit (në ditë), rrugën drejt serverit tonë dhe, për çdo rast, regjistrimin për ta bërë më të lehtë diagnostikimin e problemeve nëse ato lindin:

AutoUpdateDisable=0 SilentAutoUpdateEnable=1 AutoUpdateInterval=2 SilentAutoUpdateServerDomain=FlashPlayerUpdate.domain.local SilentAutoUpdateVerboseLogging=1
Nëse gjithçka është bërë si duhet, atëherë Flash Player në makinat e klientit duhet të fillojë të përditësohet sipas një orari (sipas skedarit të mësipërm - një herë në 2 ditë). Në mënyrë tipike, shërbimi i përditësimit Adobe funksionon një herë në orë për të kontrolluar kushtet e përditësimit - në këtë kohë Updater duhet të shohë skedarin e konfigurimit, të rikonfigurojë përditësimet sipas cilësimeve të specifikuara dhe të shkojë te server i ri kontrolloni versionin.

Kjo do të thotë, rreth një orë pas shpërndarjes së skedarit të konfigurimit, mund të shikoni regjistrat në server për kërkesat për të kontrolluar versionin.

Automatizimi

Si një përfaqësues klasik i vëllazërisë së IT, e urrej punën rutinë manuale dhe thjesht nuk mund të mos automatizoja procesin e verifikimit dhe shkarkimit version i ri. Sidoqoftë, siç u përmend më lart, nuk kam gjetur ende një mënyrë për të shkarkuar versionet ESR nga faqja e internetit Macromedia, kështu që përdor skriptin vetëm për të kontrolluar përditësimet. Sugjerimet janë të mirëseardhura.
Skript për shkarkimin automatik të përditësimeve
Vetëm për version publik!

Logjika e funksionimit: skripti shkarkon marrëzi skedarët e përditësimit direkt nga Macromedia për versionet 11,15,16,17,18,19 (nëse një version është hequr tashmë nga faqja, skripti thjesht do të betohet se nuk mund të shkarkohet dhe do kaloni atë) dhe e vendos atë me një zëvendësim me një server përditësimi. Nuk ka kontroll të versionit. Në fazën e testimit, unë përdora këtë skript: e kalova përmes planifikuesit në server gjatë natës.

Nëse dëshironi, mund të kryqëzoni këtë skript dhe tjetrin dhe të merrni automatizimin e plotë me kontrollimin e versionit, njoftimet dhe shkarkimin vetëm nëse ka përditësime.

Parametrat e skriptit:

  • *FPRoot- rruga për në dosjen rrënjë të serverit të përditësimit. Lokale ose rrjeti. Natyrisht, përdoruesi nga i cili do të nisë skripti duhet të ketë të drejta shkrimi në këtë dosje.
  • FPDdownloadRoot- rruga në faqen e internetit të Macromedia. Kjo është vendosur si parazgjedhje, por mund të ndryshohet nëse është e nevojshme.
  • Shkarko Proxy http:// proxy.domain.lokal.
  • ProxyCredits
  • UserAgent
  • Forca
* - parametri i kërkuar

Shembull përdorimi:

Powershell.exe -komandë "& ".\FPUpdater.ps1" -FPRoot "\\FlashPlayerUpdate\pub\flashplayer\update\current\sau" -DownloadProxy "http://proxy.domain.local" -ProxyCreds "DOMAIN\UserName " -UserAgent "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) si Gecko""
Të gjithë parametrat mund të kodohen në një skript nëse linjat e gjata të fillimit janë frikësuese.

Skript për kontrollimin e përditësimeve dhe njoftimin me e-mail
Përditësimet kontrollohen sipas versionit standard, por duke qenë se ato përditësohen në të njëjtën kohë (askush nuk i anuloi rregullimet e sigurisë), do të funksionojë edhe për ESR. Që skripti të funksionojë, duhet të krijoni një skedar CurrentPublic në rrënjën e serverit në internet (pranë dosjes së pub-it), në të cilin futni versionin aktual publik për ActiveX(është versioni ActiveX që përdoret për kontroll).

Logjika e funksionimit: skripti krahason versionin e marrë nga skedari CurrentPublic nga serveri juaj me versionin në serverin Macromedia. Ai shikon versionin në server sipas logjikës së përditësimit automatik: së pari kërkon ndërtimin aktual kryesor në XML, shkon te dosja me atë kryesore dhe shikon ndërtimin e plotë atje.

Parametrat e skriptit:

  • *FPIntServerRoot- Adresa e serverit tonë. Për shembull: FlashPlayerUpdate.domain.local
  • FPDdownloadRoot- rruga në faqen e internetit të makromedias. Kjo është vendosur si parazgjedhje, por mund të ndryshohet nëse është e nevojshme.
  • ESR- kontrolloni versionin ESR (pa këtë flamur do të kontrollojë atë publik).
  • Shkarko Proxy- server proxy, nëse përdoret në një kompani. Shkruani të plotë: http:// proxy.domain.lokal.
  • ProxyCredits- emri i përdoruesit për autorizim në prokurë.
  • UserAgent- për të ndryshuar agjentin e përdoruesit me të cilin do të shkarkojë PowerShell. Për shembull, përfaqësuesi ynë është i kufizuar nga UserAgents, unë përdor agjentin e Internet Explorer.
  • Forca- çaktivizoni kontrollin e certifikatës për cmdletin Invoke-Webrequest (më saktë, bëjeni që t'i besojë të gjitha certifikatave).
  • *MailTo- adresat e postës elektronike në të cilat do të dërgohen njoftimet.
  • *MailNga- nga kush do të vijnë njoftimet. Për shembull: [email i mbrojtur]
  • SmtpServer- server smtp përmes të cilit do të dërgohet mesazhi.
* - parametri i kërkuar

Shembull përdorimi:

.\FPCheckUpdate.ps1 -FPIntServerRoot "fp-update.domain.local" -ESR -Proxy "http://proxy.domain.local" -UserAgent InternetExplorer -Force -MailTo " [email i mbrojtur]","[email i mbrojtur]"-MailFrom" [email i mbrojtur]" -SmtpServer "smtp.company.com"

Burimet e përdorura

UPD

Përditësim pak i vonuar nga 17.06.16.

Që kur është shkruar ky artikull, Adobe ka arritur të ndryshojë rendin e hyrjes në faqen e shkarkimit të FlashPlayer dy herë. Si rezultat, tani për të hyrë në faqen e shkarkimit, fillimisht duhet të identifikoheni në Adobe ID. Kjo do të thotë, opsioni i analizimi i faqes për versionin ESR nuk është më i disponueshëm në listë.

Nuk jam shqetësuar ende me autorizimin ose marrjen dhe dërgimin e cookies përmes PowerShell. Si rezultat, unë rikrijova skriptin për kontrollimin e ESR në faqen e shpërndarjes3, i cili mund të zhduket në çdo moment. Deri më tani, ne do të shohim më tej.

Në fillim të vitit, bëra një pyetje në forumin Adobe mbi temën e kontrollit për përditësime në versionin ESR. Ata premtojnë se do të dalin me diçka, por deri tani problemi është ende aty.

UPD2

Një ditë tjetër, informacioni i mëposhtëm u shfaq në faqen e shpërndarjes së Flash Player (lidhja për të cilën keni marrë kur keni marrë një licencë shpërndarjeje):

KUJDES! Ndryshime të rëndësishme me Release Extended Support

Publikimi i Mbështetjes së Zgjeruar fillimisht u krijua për të minimizuar kohën që administratorët e TI-së shpenzojnë për certifikimin e çdo versioni të ri të Flash Player: Publikimi i Zgjeruar i Mbështetjes ndryshon lëshimin e kufizuar në ndryshimet e sigurisë dhe rregullimet për çështje kritike funksionale. Në atë kohë, kishte shumë më tepër ndryshime funksionale në çdo version të Flash Player sesa ndryshime sigurie. Megjithatë, situata tani ka ndryshuar: numri i masave të sigurisë proaktive dhe reaktive i tejkalon ndryshimet funksionale. Në praktikë, Publikimi i Mbështetjes së Zgjeruar nuk mbron më organizatat e TI-së nga sasi e madhe ndryshimet e bëra në versionet standarde të Flash Player, por vetëm redukton rreziqet funksionale. Në këtë drejtim, u mor vendimi për të ndërprerë versionin e zgjatur të mbështetjes dhe për t'u përqëndruar në zhvillimin e vetëm versioneve standarde. Shto etiketa

Artikulli i fundit iu kushtua animacionit. Ne krijuam animacion bazuar në ndërrimin e lëvizjes, ndërrimin e formës dhe thjesht kompozimin e lëvizjeve nga kornizat individuale. Mendoj se është koha për të kaluar në një temë më të avancuar, duke parë mjetin që krijon bazën për shumicën e filmave cilësorë Flash.

Ky mjet është ActionScript, një gjuhë e drejtuar nga ngjarjet e integruar në Flash. Versioni i fundit ActionScript (i cili është i pranishëm në Flash 5) është dukshëm i ndryshëm nga ActionScript, i cili ishte në Flash 4. Nëse në versionin e mëparshëm ishte një grup i kufizuar komandash, duke lejuar vetëm veprime themelore, dhe futej duke përdorur një ndërfaqe jo shumë miqësore për përdoruesit, atëherë ActionScript i ri është një gjuhë e fuqishme, me një grup të shtuar komandash, mbështetje për klasa, trashëgimi. (!), dhe ndërfaqe shumë më e përshtatshme.

ActionScript i bën faqet tuaja interaktive. Mund të reagoni ndaj ngjarjeve nga miu ose tastiera dhe mund të kryeni çdo veprim kur luani një kornizë të caktuar.

Për të zotëruar plotësisht ActionScript, këshillohet që tashmë të keni përvojë programimi (mundësisht në C++, JavaScript, etj.). Megjithatë, një nga përfitimet e gjuhës Flash është se ju nuk keni nevojë të jeni një profesionist i Flash-it, ose plotësisht i njohur me ActionScript, për të shkruar kodin cilësor në të. Ju mund të përdorni ato veçori gjuhësore që i konsideroni të nevojshme për punën tuaj.

Meqenëse ky artikull ka të bëjë me bazat e gjuhës, në të do të mbulojmë:

  • Paneli i Veprimeve është vendi ku ndodh pothuajse i gjithë komunikimi me ActionScript.
  • Butonat - si t'i bëjmë ato të funksionojnë siç kërkojmë.
  • Shtigjet - si të aksesoni objektet e nevojshme?
  • Veprimet bazë me karikaturat Flash (klipe filmash) - ne do të kontrollojmë procesin e luajtjes së filmit sipas dëshirës.
  • Korrigjimi në ActionScript - Dritaret Output dhe Debugger.

Qëllimi i këtij artikulli është t'ju japë një ndjenjë për ActionScript, për të treguar se kjo gjuhë mund të përdoret si për krijimin e programeve shumë mbresëlënëse ashtu edhe për kryerjen e veprimeve bazë që do ta bëjnë faqen tuaj shumë më tërheqëse.

Kushtet

Përpara se të hyjmë në veprime specifike, disa terma ActionScript:

  • Veprimet- këto janë udhëzime që i tregojnë filmit vizatimor Flash se çfarë të bëjë. Prej tyre vjen emri i gjuhës - ActionScript (fjalë për fjalë - skenar veprimi). Le të biem dakord që brenda kuadrit të këtij neni, ne do të përdorim termin "udhëzime" në mënyrë që të mos ngatërrohemi me veprimet aktuale që do të kryejmë.
  • Ngjarjet- këto janë veprimet që ndodhin kur luhet filmi vizatimor. Ngjarjet, për shembull, mund të ndodhin kur mbaron ngarkimi i një kornize të caktuar, kur arrijmë një kornizë të caktuar, kur përdoruesi shtyp një tast në tastierë ose kursori i miut është mbi objektin tonë.
  • Shprehjetështë çdo pjesë e një instruksioni që prodhon një vlerë. Shembujt e mëposhtëm janë shprehje: 2 + 2, 2 * 2, a + b, 2*pi*r, (15 + k) * e rastësishme(10).
  • Funksioneështë një bllok kodi që mund të ripërdoret. Ju mund t'i kaloni vlerat një funksioni dhe të merrni një rezultat kthimi prej tij. Për shembull, numri = get_ngjyra (15, 24). 15 dhe 24 janë argumente (ose parametra) të funksionit get_color, vlera e kthyer e të cilave shkruhet në variablin numër.
  • Klasat janë lloje të objekteve. Për shembull, klasa e pemëve është bimë. Flash ka një numër klasash të paracaktuara (ashtu si klasa JavaScript). Ju mund të krijoni klasat tuaja ose të modifikoni ato ekzistuese.
  • Instancat janë fjalë për fjalë raste të klasave të caktuara. Për shembull, një shembull bimor mund të jetë një pemë, shkurre ose lule. Një shembull është tashmë një objekt real specifik. Nëse një klasë është një përkufizim i një objekti (shembulli), atëherë një shembull është tashmë një mishërim konkret, është një klasë në veprim. Çdo shembulli mund t'i jepet një emër në mënyrë që funksionet ose ndryshoret e objektit të mund të aksesohen përmes tij.
  • Trajtuesit janë udhëzime të veçanta që përpunojnë ngjarjet. Për shembull onClipEvent- një mbajtës për veprimet që lidhen me një simbol specifik (shih).
  • Operatorët janë elementë gjuhësorë që llogaritin vlerat bazuar në një ose më shumë argumente. Për shembull, operatori i mbledhjes (+) kthen shumën e dy vlerave në të majtë dhe në të djathtë të tij.
  • Variablat janë identifikues që mund të ruajnë vlerat. Për shembull, a = 5; ose emri = "Michael".

Këto janë termat që do të përdorim kur diskutojmë ActionScript. Kështu që…

Paneli i Veprimeve

Shiriti i veprimeve përdoret për të shfaqur dhe futur programet ActionScript (Fig. 1). Ekzistojnë dy mënyra funksionimi me panelin - normal (për dummies) dhe ekspert. Në modalitetin ekspert, lista e komandave është një fushë e thjeshtë e futjes së tekstit. Në modalitetin normal, ne nuk mund të modifikojmë drejtpërdrejt komandat. Për ta bërë këtë, përdorni panelin e opsioneve.

Ju mund të shtoni një udhëzim duke klikuar në butonin “+” (shih Fig. 1) ose duke zgjedhur udhëzimin e duhur në listën e elementeve gjuhësore. Përveç kësaj, për të gjitha veprimet në Flash ka sekuenca kryesore që mund të përdoren për ta bërë këtë shumë më shpejt. Ato shfaqen në të djathtë të çdo veprimi në menunë e butonit "+". Për shembull, për të shtuar një funksion ndal (), duhet të shtypni Esc+st (në mënyrë sekuenciale: Esc, pastaj “s”, pastaj “t”).

Ju mund të fshini një udhëzim duke e zgjedhur atë dhe duke shtypur butonin "-" (ose thjesht butonin Fshi).

Unë rekomandoj që të mos filloni menjëherë përdorimin e modalitetit ekspert nëse nuk keni përvojë programimi në gjuhë të ngjashme me Java (C++, Java, JavaScript). Mënyra normale ka një avantazh të madh që e bën atë të domosdoshëm për fillestarët - ka shumë më pak shanse për të bërë gabime me sintaksën e gjuhës. Kjo do t'i ndihmojë fillestarët të kuptojnë shpejt ndërlikimet e ActionScript.


Oriz. 1 - Shiriti i veprimit

Paneli i veprimit shfaq veprimet e objektit ose kornizës së zgjedhur aktualisht.

Butonat

Gjëja e parë që dëshironi kur filloni të mësoni interaktivitetin e Flash-it është të bëni diçka që do t'i përgjigjet veprimeve të përdoruesit, të "ringjallë" krijimin tuaj, të shtoni reagime. Mënyra më e lehtë për ta bërë këtë është me butona. Prandaj, ne do të fillojmë me ta.

Siç e dini, në Flash ekziston një lloj i veçantë simboli për krijimin e butonave - Butoni (shih). Le të supozojmë se tashmë keni mësuar se si të krijoni butona, tani le të mësojmë se si të gjurmojmë klikimet në këta butona.

Butonat në Macromedia Flash kanë një listë të gjerë të ngjarjeve të cilave ne mund t'u përgjigjemi:

  • shtyp- butoni i miut shtypet kur kursori është brenda butonit;
  • lirim- butoni i miut lëshohet kur kursori është brenda butonit;
  • lirim Jashtë- butoni i miut lëshohet kur kursori është jashtë butonit;
  • rrokulliset mbi- kursori i miut hyn në butonin;
  • hapje- kursori shkon përtej butonit;
  • zvarrit mbi- kursori hyn në kufijtë e butonit, ndërsa butoni është shtypur dhe butoni i mausit është shtypur;
  • zvarritje- kursori shkon përtej butonit, ndërsa butoni është shtypur dhe butoni i miut është shtypur;
  • Shtypni tastin("çelësi") - u shtyp një "çelës". Mund të shikoni një listë çelësash në ndihmën e Flash (objekti kyç) ose të përdorni shiritin e opsioneve për të futur tastin e dëshiruar.

Fatkeqësisht, Flash "kupton" vetëm butonin e majtë të miut. E djathta përdoret për të thirrur menynë e kontekstit (kliko me të djathtën në disa filma vizatimorë Flash). Nuk kam hasur ende në ndonjë mënyrë për të kapur çelësin e mesit ose timonin e miut në Flash; nuk mendoj se ekzistojnë.

Këto ngjarje përgjohen duke përdorur direktivën në (). Sintaksa e tij është:

Në (ngjarje) (... // Veprimet tona)

Më poshtë mund të provoni të aktivizoni vetë disa ngjarje:

Një shembull shumë i përdorur është ndjekja e një lidhjeje kur klikohet një buton:

Aktiv (lëshim) ( getURL("http://rubs.boom.ru"); )

Për të testuar këtë skenar, theksoni butonin tuaj, shtypni Ctrl+Alt+A dhe futeni në program.

Kështu mund të përgjoni lehtësisht të gjitha ngjarjet që lidhen me një buton. Epo, si t'i përdorni ato është tërësisht çështje e imagjinatës suaj.

Hapat bazë me Klipet e Filmit

Një sasi e madhe krijimtarie në Flash vjen nga manipulimi i simboleve. Pothuajse të gjitha teknikat bazë, të gjitha truket dhe efektet janë të pamundura pa këto veprime.

Me ActionScript, ju mund të bëni pothuajse gjithçka që dëshironi me personazhet. Thjesht duhet të mbani mend se këto veprime mund të kryhen vetëm në përgjigje të një veprimi të përdoruesit, ose kur një kornizë e caktuar ndodh në afatin kohor.

Pra, çfarë kemi ne? Unë do të rendis vetëm mjetet kryesore (për mendimin tim). Të tjerat do t'i gjeni në listën e elementeve gjuhësore ose në ndihmë.

Funksionet e klipit të filmit që mund të quhen:

  • Luaj() - fillon ose rifillon riprodhimin e një klipi;
  • ndal () - ndalon riprodhimin e klipit;
  • gotoAndPlay () - shkon në një kornizë (skenë) të caktuar dhe vazhdon riprodhimin;
  • gotoAndStop () - shkon në një kornizë (skenë) specifike dhe ndalon riprodhimin.

Vetitë (parametrat) e klipeve që mund të lexohen/ndryshohen:

  • _x, _y - koordinatat e klipit (në pixel);
  • _xscale, _yscale - shkalla e kapjes (në përqindje), përkatësisht horizontalisht dhe vertikalisht;
  • _gjerësia, _lartësia - gjerësia dhe lartësia e kapëses (në pixel);
  • _rotacion - këndi i rrotullimit të kapëses (në gradë);
  • _alfa - transparenca e klipit (në përqindje);
  • _i dukshëm - dukshmëria.

Kjo nuk është gjithçka që mund të bëhet me klip. Përdorni parametra të tjerë, eksperimentoni, bëhuni krijues!

Emrat

Për të aksesuar klipet, ne duhet të kuptojmë konceptin e emrit të një objekti (emri i shembullit) dhe një shteg drejt një objekti (shtegu i synuar). Le të biem dakord që klipi i filmit dhe objekti janë të njëjtat gjëra për ne.

Emri i objektit është emri i një shembulli specifik simboli. Le të themi se mund të kemi një simbol - një makinë, dhe shembujt e këtij simboli do të quhen "Makina1", "Makina2", "Pickup", "Zaporozhets"...

Për t'i dhënë një emër një objekti, duhet të zgjidhni objektin dhe në panelin Instance (Window->Panels->Instance, Ctrl+I) në kolonën Emri, shkruani emrin e objektit (Fig. 2 ). Emrat mund të përbëhen vetëm nga shkronja, numra dhe karakteri i nënvizuar ("_"), dhe emri nuk mund të fillojë me një numër.


Oriz. 2 - Paneli i shembullit

Shtigjet

Rruga drejt një objekti është një regjistrim i emrit të objektit, duke marrë parasysh hierarkinë. Do të përpiqem të shpjegoj se çfarë është.

Ju e dini që në Flash, objektet mund të futen brenda njëri-tjetrit, duke formuar kështu një hierarki. Pra, ky fole jo vetëm që ofron komoditet në trajtimin e objekteve, por gjithashtu kufizon dukshmërinë e emrave të objekteve. Dukshmëria është e kufizuar në nivelin e saj. Një objekt mund të aksesojë drejtpërdrejt (me emër) vetëm objektet brenda tij që janë një nivel më poshtë në hierarki.

Për të hyrë në një objekt në një nivel tjetër, duhet të dini rrugën drejt tij. Për më tepër, shtegu mund të specifikohet ose absolutisht (nga niveli më i lartë i hierarkisë) ose relativisht (nga niveli aktual).

Shtegu përfshin objekte nëpër të cilat ne duhet të "kalojmë" përgjatë pemës së hierarkisë për të arritur te objekti që na nevojitet, i renditur përmes një pike. Për më tepër, ka disa tregues (mund t'i quajmë "objekte virtuale") që shpesh janë shumë të dobishëm:

kjo - një tregues për "veten" (d.m.th., për objektin aktual). Mund të jetë e nevojshme, për shembull, kur duhet të kaloni një tregues te objekti nga i cili ky funksion thirret në një funksion.

_prind - treguesi për "prindin". Tregon një objekt në një nivel më të lartë në hierarki.

_rrënjë - "rrënjë". Ky është fillimi i hierarkisë. Ju nuk mund të bëni pa të kur specifikoni një rrugë absolute.

Rruga duket si kjo:

fletë.luaj();- në subjekt fletë(fletë) funksioni i thirrur Luaj();

_prind.pemë.gjethe.stop();- supozohet se ka një objekt në një nivel pemë, që ka një objekt fletë, nga i cili thirret funksioni stop();

_rrënjë.banner._dukshëm = false;- bëni një klip banderolë, ndodhet ne katin e 1, te padukshem.



Oriz. 3 - Hierarkia e klipeve

Për ilustrim, le të marrim një hierarki prej 5 objektesh (Fig. 3). Objektet 1-4 janë në shtresën e parë, objekti 5 është në shtresën e dytë. Objekti 2 është i futur në objektin 1, dhe objekti 3 është i vendosur në objektin 2. Objektet në figurë janë të vendosura vizualisht brenda njëri-tjetrit, por kjo në asnjë mënyrë nuk do të thotë se kështu duhet të jetë "në jetën reale". Këtu ata janë grupuar për qartësi. Meqenëse emri i një objekti nuk mund të fillojë me një numër, le të quhen objektet tona obj1-obj5.

Tani le të merremi me shtigjet. Së pari, le të shohim se cilat objekte mund t'i referohen njëri-tjetrit me emër. obj1 mund të kontaktojë obj2, A obj2- Për të obj3, por në të njëjtën kohë obj1 nuk mund të kontaktoj obj3 drejtpërdrejt, sepse nuk është i përfshirë në obj1, dhe ne obj2.

Le të themi se objekti i parë ka nevojë për objektin 3 që të fillojë të luajë përsëri nga korniza e parë. Ja si bëhet:

Obj2.obj3.gotoAndPlay(1);

Në mënyrë që objekti i katërt ta bëjë objektin e parë (shënim me të gjitha nënobjektet!) gjysmë transparent, ai duhet të shkruajë sa vijon në skenarin e tij:

Parent.obj1._alfa = 50;

Root.obj1._alfa = 50;

Sepse obj4është në nivelin e parë të hierarkisë, pastaj për të _rrënjë Dhe _prind- njëjtë.

Tani për objektin 3 do të shkruajmë një skript që do ta bëjë objektin 5 të padukshëm kur të shtypet butoni i mausit. Në skriptin për objektin 3 shkruajmë:

OnClipEvent (mouseDown) ( _root.obj5._visible = false; )

Në këtë fragment ne kemi përdorur një shteg absolut. Nëse do të përdornim relative, do të dukej kështu:

Parent._parent._parent.obj5._visible = false;

Shpresoj se e kam sqaruar çështjen e rrugës.

Shembujt e mësipërm treguan jo vetëm se si duken shtigjet, por edhe si thirren funksionet dhe si caktohen vlerat e pronave.

Publikime mbi temën