You are on page 1of 248

NG NGC HONG THNH

SCRIPT V K THUT HOT HNH


(Gio trnh ging dy trn Flash CS5 v ActionScript 3.0)

Blank Page

-2-

LI NI U

dobe Flash l mt phn mm chuyn nghip to c|c thc phim hot hnh, c|c tr chi, thit k giao din web (RIA Rich Internet Application) Flash c mt ng dng to ln trong th gii Internet ni chung v trong cng ngh gii tr ni ring. D rng nhiu cng ngh mi ra i ang c gng cnh tranh vi Flash, nhng Flash vn chim th phn cao hn hn. C kh nhiu gio trnh v Flash c bin son, nhng i a s u da trn phin bn MacroMedia Flash MX 2004 tng i c. Vi phin bn CS5, Adobe ~ b sung vo nhng tnh nng mi gip ngi dng thit k v lp trnh n gin hn. Cun gio trnh ny gm c ba phn: Phn 1. Thit k dnh ring cho nhng c gi khng chuyn mun tm hiu cch s dng cng c v v to hot hnh bng cc cng c c sn ca Flash. Phn ny bao gm c|c chng 1, chng 2, chng 3, chng 4. Phn 2. Gm chng 5. Dnh cho cc c gi mun tm hiu v ActionScript 3.0 mt ngn ng lp trnh c cu trc gn ging vi Java c s dng tng cng sc mnh cho Flash. Phn 3. Mang tnh cht tng hp. Gm c|c chng 6 v{ 7. Phn ny gip bn c hon thin c|c thc phim hot hnh bng c|c k thut nng cao. Chng ti cn cung cp thm cc kin thc lm vic vi hnh nh, m thanh v video. ng thi, chng ti cn gii thiu gi th vin m PaperVision3D lm vic vi ha 3D trong Flash mt iu m hu nh cha c mt gi|o trnh n{o cp n. Khi bin son gi|o trnh n{y, ti ~ c gng hon thin n. Tuy nhin, khng th trnh khi sai st. Ti rt mong nhn c s ng gp kin qu bu ca cc bn c gi cng nh c|c bn ng nghip. Mi th t ng gp xin gi v cc a ch email sau dnhthanh@hueic.edu.vn hoc myhoangthanh@yahoo.com.

Hue, thang 08/2010

Chan thanh cam n !

-3-

Blank Page

-4-

PH LC
LI NI U............................................................................................................................................ 3 CHNG 1. GII THIU V FLASH............................................................................................ 10 1.1. 1.2. 1.3. 1.4. S lc v ha vector v lch s ra i ca Flash ......................................... 10 So snh Flash vi Silverlight v JavaFx .................................................................... 13 C{i t Adobe Flash CS5 ................................................................................................ 14 Gii thiu v Adobe Flash CS5 ..................................................................................... 17 Cc ch ty bin giao din............................................................................... 19 To mi d n cho desktop v mobile ............................................................. 20 Layer, Frame, Scene v Movie ............................................................................. 22 Vng thanh cng c Tools ..................................................................................... 25 Vng thuc tnh Properties................................................................................... 25 Vng son tho ActionScript ................................................................................ 26 Cc vng chc nng kh|c ....................................................................................... 28

1.4.1. 1.4.2. 1.4.3. 1.4.4. 1.4.5. 1.4.6. 1.4.7.

Tng kt chng 1 ............................................................................................................................. 35 CHNG 2. CC CNG C V C BN ..................................................................................... 37 2.1. 2.2. 2.3. 2.4. 2.5. 2.6. 2.7. Cc cng c Pencil, Brush v Erase ............................................................................ 37 Cng c v hnh c bn ................................................................................................... 39 Cng c Text......................................................................................................................... 48 Cng c chn Selection v Lasso................................................................................. 50 Cc cng c mu Paint Bucket, Ink Bottle v bt mu EyeDropper ..... 51 Cng c Free Transform v Gradient Transform ................................................ 53 Cc cng c lm vic vi ng Bezier ................................................................... 56

-5-

2.8.

Lm vic vi c|c i tng ........................................................................................... 59

Tng kt chng 2 ............................................................................................................................. 62 CHNG 3. CC BIU TNG TRONG FLASH ..................................................................... 64 3.1. 3.2. 3.3. 3.4. Biu tng Graphic........................................................................................................... 64 Biu tng Button............................................................................................................. 66 Biu tng MovieClip ...................................................................................................... 68 Lm vic vi Library ........................................................................................................ 69

Tng kt chng 3 ............................................................................................................................. 70 CHNG 4. TO HOT CNH ...................................................................................................... 72 4.1. 4.2. 4.3. 4.4. 4.5. 4.6. 4.7. Tm hiu v TimeLine ...................................................................................................... 72 Classic Tween ...................................................................................................................... 79 Shape Tween ....................................................................................................................... 81 Motion Tween ..................................................................................................................... 83 Cng c Bone v Bind ...................................................................................................... 88 Cng c Deco ....................................................................................................................... 92 Cng c 3D Translation v 3D Rotation ............................................................... 104

Tng kt chng 4 .......................................................................................................................... 107 CHNG 5. LP TRNH VI ACTIONSCRIPT ..................................................................... 109 5.1. 5.2. 5.3. 5.4. Cc kiu d liu ............................................................................................................... 111 Bin v Hng ..................................................................................................................... 112 Ton t v Biu thc ..................................................................................................... 113 Cc cu trc lnh iu khin...................................................................................... 121 Cu lnh if .................................................................................................................. 121 Cu lnh switch ....................................................................................................... 122

5.4.1. 5.4.2.

-6-

5.4.3. 5.4.4. 5.5. 5.6.

Cc cu lnh lp for, while v{ dowhile ...................................................... 123 Cc lnh continue, break v return ................................................................ 126

Hm ....................................................................................................................................... 127 Lp v{ i tng ............................................................................................................ 130 Xy dng lp ............................................................................................................ 130 Lm vic vi i tng ........................................................................................ 134 S kin chut............................................................................................................ 137 S kin bn phm .................................................................................................... 138

5.6.1. 5.6.2. 5.6.3. 5.6.4. 5.7. 5.8. 5.9.

a mt i tng vo ActionScript ..................................................................... 139 Lm vic vi XML ........................................................................................................... 141 Vng chc nng Code Snippets ................................................................................ 143

Tng kt chng 5 .......................................................................................................................... 170 CHNG 6. CC HIU CHNH NNG CAO .......................................................................... 172 6.1. 6.2. 6.3. 6.4. 6.5. 6.6. 6.7. 6.8. X l m thanh, hnh nh v video.......................................................................... 172 To k xo in nh vi Flash.................................................................................... 177 To thc phim Flash ta 3D ................................................................................... 181 Ghp ni nhiu hot cnh ........................................................................................... 188 K thut mt n mask .................................................................................................... 188 To cc nt nhn iu khin...................................................................................... 196 Xut bn mt Movie ....................................................................................................... 198 Xut bn mt tp tin Flash trong sut trn trnh duyt ................................ 202

Tng kt chng 6 .......................................................................................................................... 207 CHNG 7. TH VIN PAPERVISION3D ............................................................................ 209 7.1. Gii thiu v PaperVision3D v Adobe Flex Builder ...................................... 209

-7-

7.2. 7.3. 7.4.

Cu hnh v{ c{i t PaperVision3D cho Adobe Flex Buider ........................ 213 Chng trnh Hello, PaperVision3D ! .................................................................... 216 C|c i tng trong PaperVision3D ...................................................................... 220

7.4.1. C|c i tng hnh th ............................................................................................. 220 7.4.2. i tng Material - Phi mu cho hnh th .................................................. 228 7.4.3. i tng Lights - Hiu ng nh sng ............................................................... 232 7.4.4. i tng Shader - Hiu ng bng............................................................... 233 7.4.5. i tng ShadedMaterial ..................................................................................... 233 7.4.6. i tng CompositeMaterial .............................................................................. 233 7.4.7. i tng MaterialsList ........................................................................................... 234 7.5. Import mt m hnh 3D ............................................................................................... 234

Tng kt chng 7 .......................................................................................................................... 236 BI TP THC HNH.................................................................................................................... 238 BI THC HNH S 1 ............................................................................................................... 238 BI THC HNH S 2 ............................................................................................................... 239 BI THC HNH S 3 ............................................................................................................... 240 BI THC HNH S 4 ............................................................................................................... 240 BI THC HNH S 5 ............................................................................................................... 242 BI THC HNH S 6 ............................................................................................................... 243 TI LIU THAM KHO THM .................................................................................................... 246

-8-

Blank Page

-9-

CHNG 1. GII THIU V FLASH

CHNG 1. GII THIU V FLASH


1.1. S lc v ha vector v lch s ra i ca Flash
S lc v ha vector ha my tnh c chia lm ba dng c bn: ha im: c s ca n l{ c|c im nh (pixel). Mi bc nh ca ha im l mt ma trn im, m mi im nh c x|c nh bi mt mu mu theo chun ph bin l RGB (Red-Green-Blue). Mi tham s m{u c phn b t 0 cho n 2n -1 (nh dng n bit mu). Khi phng to bc nh ca ha im, bn s thy r tng im nh. Hy quan st v d i vi bc nh sau

Hnh 1 ha im

CHNG 1. GII THIU V FLASH

ha Fractal: s dng thut ton quy. Nu quan t}m n dng ha ny, hy tham kho thm trong cc ti liu lin quan n ha Fractal hay hnh hc Fractal.

Hnh 2 ha Fractal ha vector: c s ca n l vector v ng cong Bezier. N c nhiu u im so vi ha im. Mt trong nhng u im ln nht ca n l khng b v ht khi phng to bc nh. C|c chng trnh ha vector ni ting bao gm Adobe Illustrator, Corel Draw, Mt bc nh di dng ha vector bao gi cng mn m{ng hn so vi ha im. Khng c nhiu nh dng ha im h tr ch transparent (hay ch mu alpha). Nhng vi ha vector, th nhng tnh nng n{y c h tr mt cch hon ho. Vi ha vector, c|c chng trnh chnh sa v thit k ha lun h tr ch lp Layer, nhng vi ha im, ch c mt v{i nh dng mi h tr lp Layer n{y (nh psd ca photoshop). Hy quan st mt s i tng ha c to bi Adobe Illustrator sau }y

- 11 -

CHNG 1. GII THIU V FLASH

Hnh 3 ha vector nh dng Flash m chng ta s lm quen }y cng thuc v{o ha vector. Flash thng c s dng to ra cc hiu ng ng. Xt mt phm tr no , n c nhiu im tng ng vi k thut to video (k thut 24 hnh/giy). Nhng n c u im l phim c to bi Flash khng b v ht khi phng to (tr trng hp phim c cha c|c i tng ha im). V{ c bit, kch thc phim to bi Flash rt nh gn so vi c|c nh dng phim khc. Lch s ra i ca Flash Flash l mt k thut to cc hiu ng ng, c|c thc phim hot hnh Flash c gii thiu u tin bi cng ty MacroMedia v{o nm 1999. n nm 2005, cng ty n{y ~ c Adobe mua li vi gi 3.4 t la. T khi ra i cho n ny, Flash ~ c rt nhiu bc pht trin |ng ch . Nhiu tnh nng mi ~ lin tc c cp nhp trong cc phin bn ca n, k t cc phin bn Macromedia Flash cho n Adobe Flash hin nay.

- 12 -

CHNG 1. GII THIU V FLASH

Vi phin bn Adobe Flash CS4, cng ty Adobe ~ b sung vo cho Flash nhng tnh nng mnh m: h tr nhiu nh dng import d liu; b sung cc cng c to hot hnh mnh m nh Bone, Bind, 3D Translation, 3D Rotation, Phin bn mi nht ca Flash l{ CS5 (cho n nm 2010). Hin nay, Adobe cng ~ to ra mt n bn m ngun m cho Flash l{ cng ngh Flex. Mt trong nhng cng ngh ra i sm nht h tr to giao din web RIA. Flex l mt cng ngh ha hn em li nhiu li nhun cho Adobe (nh vo trnh pht trin Adobe Flex Buider). N l mt i th ln ca cng ngh Silverlight ca Microsoft v JavaFx ca Sun (nay c mua li bi Oracle).

1.2. So snh Flash vi Silverlight v JavaFx


Ngy nay, xu th thng mi in t ha ang ng{y c{ng len li vo cc ngc ngch x hi. C|c website l{ ni cung cp thng tin, trao i v{ t vn. Do , giao din website p mt, thit k thun tin l mt li th. Chnh v l , rt nhiu nh pht trin ch n iu ny. Cc hng phn mm ln nh Microsoft, Adobe, Sun, pht trin cc cng ngh h tr chim lnh th trng phn mm h tr cng ngh trn. Tnh v tui i pht trin ca cc cng ngh h tr RIA, Adobe t ra l{ ngi tin phong. Flash/Flex ca Adobe, Silverlight ca Microsoft v JavaFx ca Sun l nhng cng ngh |ng ch nht. Mi trong s chng u c u im ca n. Mt u im chung ca chng l{ ha rt p v chuyn ng rt mm mi. Flash/Flex c tui i kh cao, vi lng ngi dng ng o, hu ht cc nh pht trin ~ qu| quen thuc vi Flash. Flash cng h tr lp trnh hng i tng. N cng tng thch vi hu ht cc ngn ng lp trnh web hin nay. Flash h tr hu ht trn cc h iu hnh: Windows, Linux, MacOS v rt nhiu mu Mobile ca nhiu hng khc nhau. pht trin mt ng dng Flash, cc nh pht trin c th s dng trnh bin tp Adobe Flash. Trnh bin tp ny hot ng tt trn a s h iu hnh: Windows v MacOS. Mt yu cu trnh khch c th chy c Flash l cn c{i t mt Plugin Flash nh gn (khng qu 2 Mb) hoc h tr mt phin bn Flash Lite (cho c|c dng in thoi). Silverlight mc du ra i sau Flash, nhng vi s hu thun ca mt tp o{n ln nh Microsoft, n cng ang dn c mt v th |ng k. Ngoi ra, Silverlight c pht trin trn nn .NET, cc lp trnh vin c th s dng VB.NET hoc C# mt ngn ng lp trnh mnh m - pht trin. Nhc im ca n l ch tng thch trn Windows, MacOS v cc mu in thoi Windows Mobile. pht trin

- 13 -

CHNG 1. GII THIU V FLASH

ng dng trn Silverlight, cc nh pht trin ch c th s dng Visual Studio vn ch dnh cho h iu hnh Windows. Trnh khch mun chy c Silverlight cn c{i t Plugin Silverlight (khong 5 Mb). JavaFx ra i sau cng, nhng n c nhiu u im: m ngun m, h tr nhiu h iu hnh Windows, Linux, MacOS v ha hn hot ng tt trn nhiu mu Mobile, trnh khch khng cn c{i t Plugin h tr. son tho JavaFx, ngi dng c th s dng Eclipse hoc NetBean. C hai trnh bin dch n{y u hot ng tt trn Windows, Linux v MacOS. Nhng mt iu |ng tic l JavaFx li ra i qu mun mng. Vi tui i cao, lng ngi dng c kinh nghim ln, cc lp trnh vin v cc nh pht trin ~ qu| quen thuc vi Flash. Flash vn ang v{ s pht trin trong mt khong thi gian di na. Flash c ba nh hng trng tm: pht trin RIA cho web, to c|c chng trnh ng dng thng qua Adobe Air cho desktop v Flash Lite cho c|c dng di ng cng nh to cc thc phim trnh din. Trong nm 2010, W3C ~ a ra chun mi chun HTML 5 ha hn s son ngi RIA ca Flash, Silverlight v JavaFx. D sau ny, v th trong vic pht trin RIA cho web c thay i, th nhng nh hng cn li ca Flash vn l nhng nh hng pht trin quan trng, m bo s trng tn cho cng ngh ny.

1.3. C{i t Adobe Flash CS5


Yu cu cu hnh ci t: h iu hnh Windows XP Pack 3 hoc cao hn (MacOS X hoc cao hn), 1Gb Ram hoc cao hn, Pentium IV hoc cao hn. Mc du mc ch chnh ca chng ta l s dng chng trnh Adobe Flash Professional CS5, tuy nhin cc bn c th s dng thm mt s chng trnh nh km nh: Photoshop dng hiu chnh nh, Dreamweaver thit k giao din web ng thi chn cc phim Flash vo, son tho ActionScript chuyn nghip hn vi Flash Buider 4, hiu chnh }m thanh, video Chnh v l do ny, ti ngh cc bn nn chn b trn gi Adobe Master CS5. Chng ta c th ti trc tip t Adobe, bn c 30 ng{y dng th. Sau khi ti v, hy tin hnh gii nn tp tin, khi ta s thu c mt th mc chnh. Nu ta s dng mt a c{i t DVD, th h~y a a DVD v{o a DVD trn m|y tnh. Chng ta c th s dng ch AutoRun ca n, hoc m a DVD n{y ra. Trong c hai trng hp nu trn, th mc chnh s c 4 th mc con v mt tp Set-up.exe. Cu trc th mc c dng nh sau:

- 14 -

CHNG 1. GII THIU V FLASH

Hnh 4 Cu trc th mc bn trong a DVD c{i t Flash CS5 Hy nhp i chut vo tp tin Set-up.exe, khi , s c ca s sau }y hin ra

Hnh 5 M{n hnh ch{o n khi c{i t Adobe Master CS5 H~y c qua c|c iu khon s dng phn mm, nu ng th cc bn ch vic nhp Accept. Ngc li, hy chn Quit hy b vic c{i t. Sau khi nhp vo Accept, ca s sau }y s xut hin. Trong ca s ny, chng ta c th in serial vo tng ng vi Provide a serial number (nu ~ c mt s serial), ngc li, hy chn Install this product as a trial (nu cc bn mun s dng th 30 ngy). Nu mun chn ngn ng hin th, hy chn Select Language.

- 15 -

CHNG 1. GII THIU V FLASH

Sau , bn nhp Next. Adobe Master khng h tr ting vit. N ch h tr mt vi ngn ng nh ting anh, ting nht Nu s serial in v{o ng, th s xut hin mt du tch mu xanh. Ngc li, nu s serial sai, du nh}n m{u s xut hin. Nu s serial ng, ta c th nhp Next tip tc qu| trnh c{i t. Nu khng c s serial, hy chn ch dng th. Khi c{i t ch dng th, Adobe s thng xuyn a ra thng b|o nhc nh v s ngy dng th cn li v n s t ng chm dt kh nng dng th sau 30 ngy. Ta cng c th s dng ch c{i t ny nu ~ c s serial. V s serial s c b sung sau.

Hnh 6 Ca s Serial Number Sau khi nhp next, ca s Adobe ID s hin ra. Sau l{ ca s Install Options. Trong ca s ny, cho php ta chn la cc thng s c{i t.

- 16 -

CHNG 1. GII THIU V FLASH

Hnh 7 Ca s Install Options Trong ca s ny, chng ta c th chn la cc phn mm cn c{i t bng cch |nh du tch vo cc phn mm tng ng. Nu mun hc Flash CS5, hy chn Flash Professional. Ngoi ra, ti khuyn ngh hy chn thm cc phn mm sau: Photoshop (x l ha im), Flash Buider (thit k RIA cho web, lp trnh ActionScript), SoundBooth (x l m thanh). Ngoi ra, nu quan t}m n cc lnh vc ha khc, ta c th c{i t thm cc phn mm nh Illustrator l{ phn mm chuyn x l ha vector, Fireworks cng l{ phn mm chuyn x l ha im, Adobe Premier chuyn x l phim, After Effect chuyn to k xo in nh. mc Location bn di, bn hy chn v tr m bn s c{i t. Theo mc nh, n s c{i t v{o th mc C:\Program Files\Adobe. Bn cng cn lu dung lng a d{nh cho vic c{i t. Bn cn lun m bo rng dung lng ci t Total install phi lun nh hn dung lng a cn trng Available. Sau , hy nhp vo nt Install v ch i cho qu| trnh c{i t hon tt. kt thc qu| trnh c{i t, hy nhp v{o nt Finish ng ca s c{i t li.

1.4. Gii thiu v Adobe Flash CS5


Khi ng Adobe Flash Professional CS5: khi ng Adobe Flash Professional CS5, ta c th bm chn biu tng ca n trn mn hnh Desktop, hoc tin h{nh c|c bc sau:

- 17 -

CHNG 1. GII THIU V FLASH

- Vo Start > All Programs - Chn Adobe Master Collection CS5. - Chn Adobe Flash Professional.

Hnh 8 Khi ng Adobe Flash Professional CS5 Khi , m{n hnh Splash m{n hnh ch{o n ca Adobe Flash Professional CS5 sau }y s hin ra

Hnh 9 M{nh hnh ch{o n ca Adobe Flash Professional CS5 Sau khi qu trnh khi ng hon tt, bn s thy giao din sau }y

- 18 -

CHNG 1. GII THIU V FLASH

Hnh 10 Ca s ban u ca Flash Professional CS5 Phin bn Adobe Flash CS5 xut xng nm 2010. So vi cc phin bn trc , CS5 c nhiu thay i v c giao din chng trnh ln c|c tnh nng ca n. V giao din: phin bn CS5 dnh cho Windows ~ tuyt giao vi giao din Window, s dng mt giao din c lp vi h iu hnh. V tnh nng: b sung thm nhiu cng c mi lm cho cng vic sng tc tr nn n gin hn nh c|c cng c Bone, Bind, 3D Translation, 3D Rotation. 1.4.1. Cc ch ty bin giao din Trong giao din tng th Essential ca Flash CS5, c th chia lm 5 vng chnh: - Vng h thng menu pha trn cng. - Vng thanh cng c bn phi. - Vng thuc tnh v{ th vin bn cnh thanh cng c. - Vng sng tc trung tm.

- 19 -

CHNG 1. GII THIU V FLASH

- Vng TimeLine v Layer pha bn di.

Hnh 11 Giao din Adobe Flash CS5 Flash CS5 cho php bn lm vic theo ch Tab. Trn vng thanh menu, gc bn phi mc Essentials cho php ta chuyn i qua li gia cc cch b tr giao din. C 6 ch b tr giao din: Animator, Classic, Debug, Designer, Developer v Essentials. Ty vo cm quan ca bn, bn hy chn ly mt cch b tr giao din no m bn cho l ph hp v tin li cho bn nht. Ring ti, ti chn ch Essentials. phng to hay thu nh khung sng tc, ta ch cn s dng phm tt l{ Ctrl+= phng to v Ctrl+- thu nh. Hoc bn c th chn ch hin th % bn di thanh menu.

1.4.2. To mi d n cho desktop v mobile to mi mt d n, bn kch chut vo File, chn New (phm tt l Ctrl+N). Hp thoi sau }y s hin ra

- 20 -

CHNG 1. GII THIU V FLASH

Hnh 12 To mi mt d n }y, chng ta quan t}m n mt vi kiu d n - Flash File (ActionScript 3.0, ActionScript 2.0): to d n Flash vi ActionScript 3.0 hoc 2.0. Bn cng lu rng, trong gi|o trnh n{y, chng ta ang tho lun v ActionScript 3.0. Phin bn ny l phin bn mi nht ca ActionScript cho n thi im ny. - Flash File (Adobe Air 2): to d n Flash cho Desktop chy trn Adobe Air. Adobe Air l mt d n mi ca Adobe nhm to ra mi trng cho cc nh pht trin nhng ng dng da vo cng ngh Flash c th chy c lp trn cc h iu hnh. N c nhiu im tng ng vi cng ngh Java ca Sun hay .NET ca Microsoft. pht trin mt trnh ng dng trn Adobe Air, bn hon ton c th s dng trnh son tho Adobe Flash hoc Adobe Flex Builder. - Flash File (Mobile iphone OS, Flash Lite 4, Device Central): to d n Flash cho Mobile. Khi chn kiu d n ny, Adobe Flash CS5 s t ng gi n Adobe Device Central CS5. }y l{ tin ch qun l cc thng tin v Flash Lite h tr trn c|c dng in thoi. Bn ch cn tm kim loi in thoi m bn cn to dng d |n, sau bm vo Create.

- 21 -

CHNG 1. GII THIU V FLASH

Hnh 13 Adobe Device Central - Ngoi ra, nu bn mun to c|c Action c lp, bn c th to ring chng bng cch chn ActionScript File. Vic to c|c ActionScript c lp v s dng chng trong cc d n Flash s c tho lun k hn khi chng ta l{m quen vi lp trnh vi ActionScript chng 5. Remarks: Bn cng cn lu n mt v{i nh dng trong cc d n ca Flash. nh dng Flash s c phn m rng l{ .fla. nh dng ActionScript File c nh dng l{ .as. nh dng tp tin cui cng ca flash l .swf. 1.4.3. Layer, Frame, Scene v Movie Trong k thut to c|c thc phim, k thut c s dng ph bin to chuyn ng trong c|c on phim l{ k thut 24 hnh/ giy. Trong k thut ny, cc hnh nh c nhiu im tng ng s c ghp ni li mt cch lin tip. C|c i tng cn to chuyn ng s c cht thay i trn mi khung hnh. Khi cc khung hnh thay th cho nhau tc m mt ngi khng nhn ra s thay i ny, chng ta s cm thy i tng chuyn ng. K thut to hot hnh trong Flash cng ho{n to{n tng t. Trc khi tm hiu k v cc cch thc to chuyn

- 22 -

CHNG 1. GII THIU V FLASH

ng trong Flash, chng ta cng nhau tm hiu qua cc khi nim: Lp Layer, Khung hnh Frame, Cnh quay Scence, Thc phim Movie. - Layer: l cc lp c dng trong vic sng tc. Mi mt khung hnh c th cha nhiu layer khc nhau. Mi mt i tng thng c xy dng trn mi layer. K thut layer c s dng rng r~i trong ha my tnh, bao gm c ha im nh: photoshop, corel photopaint hay ha vector nh: illustrator, coreldraw.

Hnh 14 To mi Layer Nhm biu tng biu tng xa v to layer : biu tng th nht t tri sang l to mi layer, biu tng th hai l to mi mt th mc cha layer v biu tng cui cng l xa layer hoc th mc cha layer. Nhm biu tng hiu chnh layer : biu tng th nht t tri sang l cho php n hay hin layer , biu tng th hai l kha khng cho php chnh sa i tng trn layer v biu tng cui cng l{ cho php i tng trn layer hin th ng vin v mu nn hay ch ng vin. - Frame: l{ khung hnh dng trong k thut to chuyn ng. Vt th chuyn ng c l nh v{o k thut thay th cc khung hnh. Nh ti ~ trnh b{y trn, mt ngi ch c th lu c khng qu 24 hnh nh trong mt giy, nu tc chuyn i cc khung hnh ln, mt chng ta khng th nhn thy c s thay i ny m cm gi|c nh l{ hnh nh ang chuyn ng. Vi Flash, s khung hnh khng nht thit phi ln nh trong k thut to video, n gim i mt c|ch |ng k nh vo cng ngh c s dng trong Flash. iu n{y cng gip l{m gim kch thc ca tp tin Flash. - Scene: c hiu nh l{ c|c cnh quay trong Flash. Mt cnh quay l tp hp ca cc khung hnh k tip nhau to ra chuyn ng. chn thm scene, ta

- 23 -

CHNG 1. GII THIU V FLASH

vo Insert, chn Insert Scene. Nh vo cc cnh quay ny, chng ta c th to cc thc phim di, m khng phi qun l cc lp mt cch qu phc tp khi s lng i tng trn cnh quay tr nn qu ln. Mt cnh quay trong Flash cng ging mt cnh quay trong phim truyn hnh vy. Khi cn to mt thc phim hon chnh, chng ta s ghp ni nhiu cnh quay li vi nhau. Bn cng lu rng, cc cnh quay s c ghp t ng theo th t m bn sp xp. Do , nu mun thay i th t cnh quay, bn ch vic thay i th t sp xp ca n. lm xut hin ca s qun l cc cnh quay, bn vo Windows > Other Panels > Scene (hoc phm tt Shift+F2).

Hnh 15 Ca s qun l cnh quay Trong ca s ny, bn ch cn sp xp li th t trnh by ca cc Scence bng thao tc ko th n gin. Th t cc cnh quay s din ra theo th t t trn xung di. Khi xy dng cc cnh quay c lp, bn c th kim tra tng cnh quay ny bng cch vo Control > Test Scene (hoc t hp phm Ctrl+Alt+Enter). - Movie: l mt thc phim hon chnh. Mt movie c th cha mt hoc nhiu cnh quay. chuyn i qua li gia cc cnh quay trong mt movie, ta bm vo biu tng v chn tn ca scene. kim tra mt b phim hon chnh, bn chn Control > Test Movie (hoc t hp Ctrl+Enter). Bn cng lu rng, nu bn xy dng mt thc phim cha nhiu i tng ha v c nhiu cnh quay, th vic kim tra s hot ng ca tng cnh quay l{ iu cn thit. Bn ch nn kim tra s hot ng ca ton b phim khi cc cnh quay ~ hot ng tt. S d nh vy l v, qu trnh bin dch mt b phim hon chnh bao gi cng chm hn, chim nhiu ti nguyn b nh hn so vi bin dch tng cnh quay ring l. iu n{y c bit hu ch vi nhng my c cu hnh khng qu cao. Remarks: Bn cng cn lu rng, Flash cng h tr ch kim tra trc tip trong khung s|ng t|c. thc hin chc nng n{y, bn c th chn mt trong hai ch : ch kim tra bng tay, ch kim tra t ng. i vi ch kim tra bng tay, bn s dng thanh |nh du Frame hin ti, sau ko trt n trn

- 24 -

CHNG 1. GII THIU V FLASH

thanh TimeLine. Vi ch kim tra t ng, bn ch cn nhn phm Enter. Nu phim ca bn nm trn TimeLine qu di v bn ang thc hin chc nng kim tra t ng, bn mun dng ch ny ngay lp tc ! Khi , bn hy nhn phm Enter thm ln na. Ch kim tra t ng s dng ngay lp tc. 1.4.4. Vng thanh cng c Tools Vng thanh cng c cha cc cng c to hnh, hiu chnh v to cc hiu ng cho c|c i tng. Bn c th thu gn thay cng c bng cch bm vo biu tng thu nh bn phi trn cng, th hai t phi sang. Hoc tt n i, bng cch bm vo biu tng cn li.

Hnh 16 Thanh cng c Bn c th di chuyn n, ko th n vo mt v tr n{o trong giao din ca Flash. Bn c th lm xut hin hoc n n i bng cch vo menu Window, chn Tools. 1.4.5. Vng thuc tnh Properties Mi mt i tng u c cc thuc tnh ring nh m{u vin, loi vin, mu nn Vng qun l cc thuc tnh ny c b tr trong vng thuc tnh Properties. hin th cc thuc tnh ca mt i tng, bn ch vic nhp chn i tng . Khi , trong bng thuc tnh Properties ny s hin th cc thng s lin quan n cc thuc tnh ca i tng. thay i cc thng s thuc tnh ca i tng , bn ch vic thay i cc thng s trong bng thuc tnh Properties ny.

- 25 -

CHNG 1. GII THIU V FLASH

Hnh 17 Vng thuc tnh Properties Biu tng nh gc trn bn phi cho php thu nh hoc ng li vng thuc tnh Properties. Tng t, chng ta cng c th lm xut hin hoc ng vng thuc tnh ny li bng cch vo Windows, chn Properties. Thuc tnh ca vng son tho: Publish: gm Player (cho php phim trnh chiu c th hot ng tt trn phin bn Flash Player no), Script (phin bn ActionScript m{ on phim ang s dng), Class (bn ch vic nhp tn Lp th hin vo, lp tc Flash s khi to cho bn mt c php khai bo ca lp ni ti mc nh l lp tha k t MovieClip), Profile (qun l c|c thng tin lin quan n vic xut bn d n Flash), AIR Settings (cc cu hnh thit lp cho d n Flash chy trn Adobe Air). Properties: cha FPS (tc chi o bng s frame trn mi giy Frames Per Second), Size (kch thc ca khung trnh chiu o bng pixel), Stage (qun l mu nn ca khung son tho). 1.4.6. Vng son tho ActionScript Trong khung son tho ActionScript, phn son tho nm trung tm ca ca s ny. Vng pha bn tri cha cc lp th vin v cy ph h. Pha trn khung son tho l h thng cc cng c h tr son tho ActionScript.

- 26 -

CHNG 1. GII THIU V FLASH

Hnh 18 Khung son tho ActionScript (1) B sung thm cc thnh phn vo ActionScript. (2) Tm kim v thay th. (3) Chn target path. Chc nng n{y thng s dng khi lm vic vi lp. (4) Kim tra li c php. (5) nh dng cho m ngun theo ch t ng ca ActionScript. (6) Xem cc ch dn v m ngun. (7) To c|c im tho|t khi debug chng trnh. (8) ng m cc khi m lnh chng trnh. (9) H tr khi vit script.

- 27 -

CHNG 1. GII THIU V FLASH

1.4.7. Cc vng chc nng khc Ta c th lm hin th thm cc vng chc nng kh|c trong Flash bng cch vo Windows v chn ca s tng ng. o Vng Align (Ctrl+K): dng can chnh l tri, phi, trn v{ di cho c|c i tng. Can chnh kch thc cho i tng.

Hnh 19 Vng canh chnh v tr v{ kch thc Align Trong vng align ny chia lm bn nhm: Nhm Align: canh chnh v tr ca c|c i tng theo th t cc biu tng t tri sang phi l canh tri, canh gia theo chiu ngang, canh phi, canh trn, canh gia theo chiu dc v{ canh di. Nu |nh du kim vo ty chn Align to Stage th n s canh chnh theo khung son tho, ngc li, n s can chnh theo v tr tng i ca c|c i tng. Nhm Distribute: canh chnh theo trc tng i ca c|c i tng. Theo th t cc biu tng t tri sang phi l: canh chnh theo trc pha mp trn, theo trc i xng ngang, theo trc pha mp di, theo trc pha mp tri, theo trc i xng dc v theo trc pha mp phi. Nhm Match Size: hiu chnh cng kch thc ca i tng theo chiu ngang, chiu dc, hoc theo c chiu ngang v chiu dc. Nu chn ty chn Align to Stage, n s canh chnh kch thc i tng theo khung son tho. Nhm Space: hiu chnh khong cch gia c|c i tng theo chiu dc v ngang.

- 28 -

CHNG 1. GII THIU V FLASH

o Vng Transform (Ctrl+T): hiu chnh gc cnh cho i tng. Vic hiu chnh gc cnh ny bao gm:

Hnh 20 Vng Transform Nhm u tin: ko gin chiu di v chiu rng (tnh theo t l %), nu bn nhp chn ty chn cui cng trong nhm ny (biu tng mc xch b phn i), th ko gin ca i tng theo chiu ngang v chiu dc s din ra ng thi, ngc li vic hiu chnh kch thc theo chiu di v chiu rng l{ c lp. - Nhm th hai: Rotate (hiu chnh gc quay), Skew (hiu chnh gc dch chuyn xing hay ko trt theo hai pha). - Nhm th 3: lin quan n ta 3D v{ im trng tm 3D. Chc nng n{y ch hot ng i vi biu tng MovieClip. Chng ti s trnh b{y k hn v biu tng n{y trong chng 3. o Vng History (Ctrl+F10): qun l lch s cc thao tc ca bn khi sng tc. -

Hnh 21 Vng History

- 29 -

CHNG 1. GII THIU V FLASH

Bn ch vic chn thi im c ch nh trong vng History n{y phc hi cc thao t|c c |nh du ti thi im . o Vng Color: qun l mu sc. Bn c th hiu chnh trc tip mu sc cho i tng (chn i tng, sau bm vo bng mu) hoc c th kt hp vi cng c mu m ta s tm hiu trong chng tip theo.

Hnh 22 Bng mu chun Trong bng mu chun ny, ta c th chn mu mu RGB thng dng, mu mu HSL bng cch bm chut vo biu tng qu cu pha trn bn phi. Hoc chn khng mu bng cch bm vo biu tng hnh vung gch cho. Bn cng c th chn ch Transparent bng c|ch iu chnh thng s Alpha. Bng mu chun cn cung cp cho chng ta mt s mu mu Gradient c sn. Nu nhu cu s dng mu trong bng mu chun khng |p ng , bn c th s dng bng mu nng cao (t hp phm Alt+Shift+F9). Trong bng mu nng cao ny, nu bn mun hiu chnh mu cho vin th bm chn stroke, nu mun hiu chnh cho mu nn th chn fill. Trong hp thoi th xung, c cc ch m{u sau }y: + None: khng chn mu. + Solid Color: chn m{u n (hay m{u c). Bn c th chn mu mu theo ch RGB hoc HSL. C th hiu chnh thuc tnh Alpha ca n. Ni chung, ch Solid hon ton ging vi bng mu chun trn.

- 30 -

CHNG 1. GII THIU V FLASH

+ Linear Gradient: pha trn mu theo dng cu vng vi cc cu vng phn b theo ng thng.

Hnh 23 Ch mu Solid Color

Hnh 24 Ch mu Linear Gradient

Khc vi solid, ch Linear Gradient cho ta cc hiu chnh mu sc hp dn hn vi dng thc cu vng. Bn c th hiu chnh thuc tnh Flow l mt di mu bin thin theo thang m{u bn di (Extend color) hoc ch mu phn x (Reflect) hoc ch mu lp (Repeat). Nu bn mun thay i mu trong thang Gradient, bn ch vic bm chn nt |nh du mi mu trong thang mu bn di, sau chn li mu mi (hoc kch i chut vo nt ny, ri chn li mu mi). Nu bn mun b sung thm mt mu trong thang mu Gradient, bn ch vic bm chn vo mt v tr bt k trn thang m{u bn di. Ngc li, nu bn mun loi b mt mu ra khi thang mu Gradient, bn ch vic ko th n ra khi thang mu ny. Bn thy y, vic s dng mu Gradient rt n gin. + Radial Gradient: ho{n to{n tng t Linear Gradient, ch c duy nht mt s khc bit l Radial Gradient to mu cu vng theo dng xoy trn khc vi Linear Gradient theo dng ng thng. + Fill Bitmap: vi chc nng n{y, bn c th m{u cho i tng bng cc bc nh. }y l{ mt cch to hiu ng mu kh th v, rt hu dng trong nhiu tnh hung.

- 31 -

CHNG 1. GII THIU V FLASH

o Vng Common Library (Buttons, Classes v Sounds): qun l cc dng button, cc lp th vin v m thanh. o Vng Component (Ctrl+F7): qun l cc thnh phn GUI trong Flash. Bn c th s dng c|c i tng n{y to mt giao din web, mt trnh ng dng... o Vng Library (Ctrl+L): qun l c|c i tng c import v convert. Chng ta s i v{o chi tit v vng ny trong c|c chng sau. o Vng Motion Presets: vng cung cp cc ch to hot hnh c sn ca Flash. Bn ch vic chn i tng, sau chn hiu ng v nhp Apply. Lp tc bn s c mt hiu ng hot hnh nh mong i.

Hnh 25 Vng Motion Presets o Vng Code Snippets: tng t nh Motion Presets, }y l{ vng to ActionScript c sn ca Flash. Ta ch vic chn i tng, sau nhp vo chc nng tng ng, lp tc mt on m ActionScript s c pht sinh tng ng vi i tng c chn theo chc nng m{ bn ~ chn. Chc nng n{y cng rt hu ch cho nhng ngi dng ph thng, mun to c|c ActionScript iu khin i tng nhng li ngi tm hiu v ngn ng lp trnh ny bi nhiu l do khch quan ln ch quan. Tuy nhin, bn cng cn lu rng, chc nng n{y ch cung cp mt v{i tnh nng ch khng phi l tt c, bi vy, nu bn mun to mt thc phim chuyn nghip, bn cn

- 32 -

CHNG 1. GII THIU V FLASH

c s hiu bit tng i y v ngn ng lp trnh ActionScript mnh m ny c tch hp trong Flash.

Hnh 26 Vng Code Snippets Chng ta s tm hiu v vng chc nng n{y sau khi tm hiu v ngn ng lp trnh ActionScript. Trong vng chc nng Code Snippets c c|c nhm hiu ng Action sau }y: Actions: to sn cc hiu ng lin quan n c|c h{nh ng ca i tng. Timeline Navigation: iu khin qu| trnh chi phim. N cng tng t nh thanh PlayBack khi iu khin mt thc phim. Trong gio trnh ny, chng ta s tho lun vic to mt thanh PlayBack bng ActionScript m khng cn s dng chc nng Code Snippets. Chi tit chng ta s tm hiu trong chng 6. Sau khi tm hiu v cch to thanh PlayBack khng cn dng n chc nng Code Snippets, ti ngh bn hy s dng chc nng n{y to thanh PlayBack. Animation: to cc hiu ng ng cho c|c i tng MovieClip. Audio and Video: cc chc nng ca thanh PlayBack iu khin video v audio khi c|c i tng n{y c s dng trong Flash. Load and Unload: to mt m{n hnh Splash khi phim c ti. Ti v hy ti cc bc nh, on phim, trong phim Flash c to. Event Handlers: qun l vic thc thi cc Event. Event l cc s kin tng ng vi mt h{nh ng n{o ca i tng. N c th l{ h{nh ng khi phim c ti (On_Enter), h{nh ng tng ng vi s kin ca chut, ca bn phm. Cc Event s c qun l bi cc lp tng ng. Cc lp ny

- 33 -

CHNG 1. GII THIU V FLASH

cung cp cc chc nng lng nghe cc Event din ra trn mi i tng. Khi c mt Event n{o xy ra, tng ng vi c|c h{m c triu gi, n s thc thi cc chc nng tng ng. Chi tit v cc nhm chc nng n{y, ta s tm hiu thm trong chng ActionScript. o Vng String: cho php bn ty chn ngn ng cho thc phim ca mnh. Nu bn mun phim ca bn hin th ng ngn ng trn cc my tnh khc nhau, bn hy hiu chnh trong vng String ny. o Thay i phm tt trong Adobe Flash: vo Insert > KeyBoard Shortcuts.

Hnh 27 Hp thoi qun l phm tt Nu mun thay i phm tt tng ng vi mt chc nng n{o , bn hy chn chc nng tng ng trn vng Commands, sau mc ShortCuts, bn b sung t hp phm tt. Nu mun loi b mt phm tt n{o , bn ch vic bm vo du tng ng vi chc nng . Khi , phm tt s b loi b. Nu mun thay i phm tt, bn s dng nt lnh Change. Remarks: bn khng nn thay i qu nhiu cc phm tt. Nu bn s dng cc phm tt theo mc nh, s c mt vi li th khi bn s dng Flash trn nhiu my tnh khc nhau. Bi v, khng phi my tnh no bn cng c quyn thay i cc thit lp n{y. c bit i vi cc my b gii hn quyn truy cp hoc nhng my tnh khng cho php bn lu li nhng thit lp phm tt.

- 34 -

CHNG 1. GII THIU V FLASH

Tng kt chng 1
Trong chng n{y, chng ta ~ lm quen vi mt s khi nim c bn v ha, ci khi nim v Flash. Chng ta cng tm hiu v mt s vng chc nng ca Flash. Cc vng chc nng n{y c b tr trong menu Windows. Chng ti hi vng, sau khi kt thc chng n{y, bn khng cn ng ng{ng trc giao din ca Flash. Bn s ty bin giao din cho ph hp vi chnh bn. Mt iu gip bn tr nn chuyn nghip hn l{ bn nn nh cc phm tt khi thao tc. Nu cc phm tt c b tr khng thun tin, bn c th thay i n nh vo Keyboard Shortcuts.

- 35 -

CHNG 1. GII THIU V FLASH

Blank Page

- 36 -

CHNG 2. CC CNG C V C BN

CHNG 2. CC CNG C V C BN
2.1. C|c cng c Pencil, Brush v{ Erase
Cng c Pencil

Hnh 28 Cng c Pencil i vi cng c Pencil, bn c th dng v c|c i tng bng tay. Cc thuc tnh tng ng vi cng c Pencil m bn c th hiu chnh l: - Stroke color: mu sc ca nt v. - Stroke: kch thc ca nt v. - Style: dng thc ca nt v - ng lin nt, t nt Cng c Brush Cng tng t cng c Pencil, Brush cng c dng v. Ch c mt khc bit l nt v ca Brush khng bao gm vin ch c mu nn, cn Pencil th ngc li ch c mu vin khng c mu nn. Cc thuc tnh ca Brush bao gm: - Fill color: chn mu cho nt v brush.

CHNG 2. CC CNG C V C BN

- Smoothing: mm do cho nt v.

Hnh 29 Cng c Brush Cng c Spray Brush Khi bn bm vo biu tng tam gic nh trn biu tng Brush, th s xut hin biu tng ca Spray Brush. }y l{ cng c phun mu tuyt vi ca Flash. Bn c th nh ngha mu m{u phun, cc ch phun m{u: gc nghing, rng, cao, ch xoay cc biu tng theo gc ngu nhin, t nh ngha mt mu mu t, bn phi to mt biu tng hoc l Graphic, Button hoc MovieClip. Chng ta s tho lun chi tit v chng trong chng 3. }y, minh ha cho mt mu t mu, chng ta s s dng biu tng MovieClip m khng tho lun thm v n. to mt kiu phun m{u nh trong hnh minh ha, bn phi l{m theo c|c bc sau }y: Bc 1: nh ngha mt mu mu. Bn hy v mt hnh i din. V d trong trng hp ca ti, ti s dng hnh ngi sao 10 cnh c chiu di ca cc cnh xen k nhau tc l cnh di, cnh ngn lin tip nhau.

- 38 -

CHNG 2. CC CNG C V C BN

Bc 2: Hiu chnh kch thc ca n sao cho ph hp. Kch chut phi vo n, chn Convert to Symbol > MovieClips v nhp Ok. Bc 3: Bm chn cng c Spray Brush. Trong bng Properties, chn mc Symbol, chn nt Edit, v chn biu tng m ta va to. Sau , bn hy hiu chnh cc thuc tnh trn bng Properties n{y nh: ko rng ca biu tng khi phun (scale width), ko di ca biu tng khi phun (scale height), rng ca ng phun (width), cao ca ng phun (height), gc phun (Brush angle). Cc ch to mu ngu nhin: ko gin ca biu tng (random scaling), gc xoay ca biu tng (rotate symbol), gc phun (random rotation).

Hnh 30 Cng c Spray Brush Cng c Erase Cng c dng ty xa cc nt v.

2.2. Cng c v hnh c bn


Cng c Line L cng c v ng thng. Khi bm vo biu tng cng c ny trn thanh cng c, trong bng thuc tnh Properties s hin ra cc thng tin lin quan.

- 39 -

CHNG 2. CC CNG C V C BN

Hnh 31 Cng c Line Cng nh cng c Pencil, i vi cng c Line, thuc tnh Fill khng tn ti. Ch c cc thuc tnh sau: - Stroke color: chn m{u cho ng thng. - Stroke: kch thc ca nt v. - Style: dng thc ca nt v. Cng c Rectangle L cng c s dng v hnh ch nht v cc dng bin th ca n. Dng bin th ny c th l hnh ch nht c gc trn. Hnh vung hay hnh bnh h{nh cng l{ c|c trng hp ring khi s dng cng c ny. Khi mun v hnh c t l chiu ngang v chiu dc bng nhau (hnh vung chng hn), ta nhn phm Shift. Khi bm vo biu tng cng c Rectangle, trong bng thuc tnh Properties ca n, ta ch n cc thuc tnh sau }y: - Stroke color: chn mu vin cho nt v. - Fill color: chn mu nn cho nt v. - Stroke: kch thc ca nt v. - Style: dng thc ca nt v.

- 40 -

CHNG 2. CC CNG C V C BN

- Scale: ko dn ca hnh c v. N c th l None, Normal, Horizontal hoc Vertical tng ng vi khng ko gi~n, ko gi~n bnh thng, ko gin theo chiu ngang v theo chiu dc. - Hinting: gip bo v nt v ng cong khi b m.

Hnh 32 Cng c Rectangle - Cap: thit lp dng thc cho ng kt thc. - Join: x|c nh c|ch m{ hai ph}n on ca i tng ni vi nhau. - Mitter: iu khin sc nt ca Mitter, khi Cap c chn l Mitter. - Rectangle Option: cho php hiu chnh gc trn cho hnh ch nht. Nu bn chn Lock Corner Radius Controls to one Control gip bn cho php chnh gc trn ca hnh ch nht theo dng 4 gc ng thi hay ring l - tc l khi bn hiu chnh cong ca mt gc, c|c gc kh|c cng s sao chp s liu ca gc hiu chnh ny. Cc s liu 4 gc pha trn tng ng vi cong ca cc gc. Bn c th nhp s liu vo cc c cung cp sn, hoc s dng thanh trt pha bn di hiu chnh cong cc gc cho hnh ch nht cong ny. - Reset: a v cc s liu ty chnh mc nh cho cc gc trn. Cng c Oval

- 41 -

CHNG 2. CC CNG C V C BN

V cc hnh Oval. Khi bm chn vo biu tng tam gic nh pha di biu tng Rectangle, s xut hin biu tng Oval ny. Khi s dng cng c Oval, ta ch n im sau }y: nu mun t l chiu ngang v chiu dc lun cn bng nhau khi v (v d khi v hnh trn) th ta gi phm Shift v v, ngc li t l s khng cn bng gia chiu dc v chiu ngang (v d khi v hnh Eclipse).

Hnh 33 Cng c Oval Trong bng thuc tnh Properties, ta c cc ty chn sau }y: - Stroke color: chn mu cho nt v. - Fill color: chn mu nn cho hnh th. - Stroke: chn kch thc ca nt v. - Scale: ko dn ca hnh c v. N c th l None, Normal, Horizontal hoc Vertical. - Hinting: gip bo v nt v ng cong khi b m. - Cap: thit lp dng thc cho ng kt thc. - Join: x|c nh c|ch m{ hai ph}n on ca i tng ni vi nhau. - Mitter: iu khin sc nt ca Mitter, khi Cap c chn l Mitter.

- 42 -

CHNG 2. CC CNG C V C BN

- Oval Option: gc m Start Angle v{ gc ng End Angle gip to hnh Oval nh vo s gii hn ca hai gc ny. Gc m Start Angle quay theo chiu kim ng h, ly v tr gc l v tr gc 900, s o ca gc chnh l s o gc ca phn b khuyt. Gc ng End Angle quay theo chiu ngc kim ng h, s o gc phn b khuyt l gc b 2 ca gc ny (tc 360-gc ng). V d, khi thit lp gc m Start Angle l 600, ta thu c hnh nh sau

Hnh 34 Hnh to bi gc m Trong hnh ny, gc khuyt c s o l{ 600. Gc khuyt s c ly t v tr 900 v quay theo chiu kim ng h. Nu ta thit lp gc ng End Angle l 600, ta s thu c hnh nh sau

Hnh 35 Hnh to bi gc ng Trong hnh ny, gc khuyt c s o l{ 3600-600=3000, hay phn hnh th chim 600. Gc khuyt s c ly t v tr 900 v quay theo chiu ngc kim ng h. Tng t nh trn, ta c th kt hp hnh th c s o gc ng 600 v gc m 1200. Ta s thu c hnh th bn di. Phn hnh th c v ra l s kt hp ca c hai hnh to bi gc ng v{ gc m nh trn

- 43 -

CHNG 2. CC CNG C V C BN

Gc m Gc ng

Hnh 36 Hnh to bi gc ng v{ gc m - Inner Radius: ln bn knh ca ng trn bn trong. }y l{ c|ch thc to hnh v{nh khn. Hnh v{nh khn l{ hnh c to bi hai ng trn ng tm, nhng phn chng kht nhau s b loi b. - Close Path: c tc dng i vi hnh th to bi gc ng v{ gc m. N s t ng l{m cho c|c ng kt ni tr nn lin mch.

Hnh 37 Hnh to bi gc m 600 v kt hp vi ty chn Close Path. Hnh bn tri khng kch hot Close Path. Hnh bn phi kch hot Close Path. Nh ta thy, vi ty chn Close Path, hnh th s c khp knh v thuc tnh Fill Color mi c tc dng. Cng c Rectangle Primitive Khi bm vo biu tng hnh tam gic nh trn cng c Rectangle, ta s thy xut hin cng c Rectangle Primitive. Tng t cng c Rectangle, nhng vi cng c ny, ta c th hiu chnh gc trn ca n sau khi n c to ra. }y l{ mt u im ca cng c ny. Nu mun thay i gc trn, ta ch cn dch chuyn cc nt nhn nh vo cng c Selection sang tri hoc phi (i vi nt nhn nm ngang) hoc ln xung (i vi nt nhn nm dc). Chi tit v cng c Selection ta s tho lun trong cc phn tip theo. Cng c Selection ny c biu tng hnh con tr chut, m{u en,

- 44 -

CHNG 2. CC CNG C V C BN

nm pha trn cng ca thanh cng c. Cc ty chnh thuc tnh trong bng thuc tnh Properties ho{n to{n tng t vi cng c Rectangle. Bn cng cn lu rng, cng c Rectangle Primitive da trn c s ca Rectangle. iu ny bn c th nhn thy c khi pht ha hnh bng cng c ny: c mt hnh ch nht gc cnh bao quanh hnh th ca chng ta.

Hnh 38 Cng c Rectangle Primitive Cng c Oval Primitive Ho{n to{n tng t cng c Oval. Bn c th hiu chnh cc thuc tnh gc m, gc ng, b|n knh ca hnh v{nh khn. V{ cng tng t cng c Rectangle Primitive, ta c th hiu chnh cc thuc tnh ca hnh ~ v nh vo cc nt nhn nhn. Nt nhn trung t}m dng iu chnh kch thc b|n knh v{nh khn. Nt nhn bin ngo{i dng iu chnh gc ng, gc m. Vic hiu chnh c|c gc ng, gc m, b|n knh v{nh khn cng nh vo cng c Selection m chng ta s lm quen trong mc tip theo. Bn cng cn lu , cng ging cng c Oval, to dng cc hnh th sao cho chiu ngang v chiu dc (nh hnh trn) bng nhau nh vo Oval Primitive, ta cng nhn v gi Shift khi v hnh.

- 45 -

CHNG 2. CC CNG C V C BN

Vi cng c ny, ta c th to ra cc hnh dng phc tp m khng cn hiu chnh cc thng s ban u nh cng c cng loi Oval. Ch cn hiu chnh c|c nt iu khin trn cc khi hnh c s l{ ta ~ nhn c nhng hnh bin th c |o. Hnh c s ca n cng l{ hnh ch nht (hnh Oval c bin ngoi ni tip hnh ch nht ny).

Hnh 39 Cng c Oval Primitive Cng c PolyStar Dng v a gic v hnh sao. Khi bm chn cng c ny, ta ch cc ty chn trong bng thuc tnh Propeties. - Fill color: chn mu nn cho vt th. - Stroke color: chn mu vin cho nt v. - Stroke: chn kch thc cho nt v. - Style: chn dng thc cho nt v. - Cap: thit lp dng thc cho ng kt thc. - Join: x|c nh c|ch m{ hai ph}n on ca i tng ni vi nhau.

- 46 -

CHNG 2. CC CNG C V C BN

- Hinting: gip bo v nt v ng cong khi b m. - Mitter: iu khin sc nt ca Mitter, khi Cap c chn l Mitter.

Hnh 40 Cng c PolyStar - Tool Setting: thit lp cc ty chn nng cao. Khi bm vo nt Option, s hin ra hp thoi sau

Hnh 41 Thit lp PolyStar Trong , + Style: la chn hnh dng ca a gi|c l{ a gi|c li hay hnh sao. + Number of Sides: s lng cc cnh a gi|c (hay s lng cnh hnh sao).

- 47 -

CHNG 2. CC CNG C V C BN

+ Star point size (SPS): t l gia khong cch t tm ca hnh sao n nh lm ca hnh sao v khong cnh t tm ca hnh sao n nh li ca hnh sao. T l ny nm trong di t 0...1. Nu t l ny cng ln (cng gn 1) th hnh sao cng mp, ngc li, nu t l ny cng nh th hnh sao cng gy.

Hnh 42 Hnh sao mp (t l SPS = 0.9) v hnh sao gy (t l SPS = 0.1)

2.3. Cng c Text


L cng c dng son tho ni dung vn bn trong Flash.

Hnh 43 Cng c Text - Text Tool: c ba loi Static Text (vn bn c nh nh ni dung ca label trong lp trnh hng i tng), Dynamic Text (vn bn c th chn, copy

- 48 -

CHNG 2. CC CNG C V C BN

nhng khng th thay i nh ni dung ca TextBox khi hiu chnh thuc tnh Readonly=True), Input Text (ni dung vn bn c th thay i nh ni dung ca TextBox khi thuc tnh Readonly=False). - Character: Family (chn loi phng ch), Style (chn dng thc cho phng ch in m, in nghing), Size (chn kch thc cho phng ch), Letter Spacing (chn rng cho k t trng gia cc ch ci), Color (chn mu cho phng ch), Auto Kern (t ng co gin), Anti-Alias (lm cho nt ch tr nn mt m{ hn). - Show Border around Text: hin th ng vin xung quanh vn bn. - SubScript v SuperScript: to ch vit di (kiu x2) v vit trn (kiu x2). - Format: can chnh v tr vn bn (tri, phi, gia, hai pha). - Spacing v Margin: Spacing hiu chnh khong cch ca cc t trong vn bn hoc c|c dng vn bn. Margin hiu chnh khong cch bn tri hoc bn phi ca ni dung vn bn so vi vin bn ngoi. - Behavior: Single Line (ch cho php vn bn hin th trn mt dng tc khng chp nhp k t xung dng hay ni cch khc, phm Enter s khng c hiu lc khi son vn bn dng ny), MultiLine (cho php vn bn hin th trn nhiu dng, nu ni dung vn bn d{i hn khung son tho, n s t ng xung dng m khng cn phi nhn phm Enter), MultiLine no Wrap (cho php vn bn hin th trn nhiu dng, nu ni dung vn bn d{i hn khung son tho, n khng t ng xung dng), Password (ni dung vn bn s b n di mt k t c chn lm mt n nh c|c nhp password). - Orientation: thay i chiu hin th ca vn bn. Ngoi ra, khi ni dung vn bn ~ c son tho, ngoi nhng thuc tnh nu trn, vn bn cn c thm mt s thuc tnh sau }y: - Options: cc ty chn nh to lin kt trong trang html. Link ng dn n mt lin kt n{o . Target cch thc m lin kt, bao gm _blank, _parent, _self v _top. - Filter: to cc hiu ng n}ng cao nh to bng, hiu ng bng m, hiu ng cu vng s dng cc hiu ng ny, bn ch bm vo biu tng u tin trong vng cng c c t vng, t bn tri sang. Nu bn thay i mt hiu ng n{o , v{ mun lu li thit lp ny, bn nhp vo biu tng th ba t tri sang. Nu bn mun quay li thit lp mc nh, hy nhp biu tng th hai t

- 49 -

CHNG 2. CC CNG C V C BN

tri sang. Biu tng con mt cho php bn tm n hiu ng c chn. Biu tng mi tn quay li, cho php bn quay li thit lp cc thng s trc . Biu tng thng rc cui cng, cho php bn xa b mt hiu ng c chn.

Hnh 44 Thit lp vn bn nng cao

2.4. Cng c chn Selection v Lasso


Cng c Selection

Hnh 45 Cng c Selection Vi cng c ny, bn c th chn i tng, mt phn i tng bng cch kch i chut vo n hoc bi en mt phn ca n. Bn c th ko gin, un cc bin

- 50 -

CHNG 2. CC CNG C V C BN

ca hnh th (khi con tr chut t cc bin ca hnh v n c dng nh biu tng Selection b sung thm ng cong m{u en). Cng c Lasso Tng t cng c Selection, cng c Lasso cng cho php chn. im khc bit l cng c Selection dng chn ton b mt hay nhiu i tng (bng cch gi phm Shift) hoc mt phn i tng theo khung chn l hnh ch nht. Cn cng c Lasso c th chn theo hnh dng phc tp. Chng ta chn Lasso v v ra khung chn. N khng nhanh bng Selection nhng t ra hiu qu trong nhiu trng hp, nu c|c i tng c chn nm phn tn v buc phi chn mt phn i tng. Cng tng t Selection, ta c th gi phm Shift chn theo nhiu vng khc nhau. Cng c Lasso khng th dng tinh chnh i tng. Khi bm vo biu tng ny, s xut hin thm cc cng c con bao gm Magic Wand, Magic Wand Setting v Polygon Mode.

Hnh 46 Cng c Lasso

2.5. C|c cng c m{u Paint Bucket, Ink Bottle v{ bt m{u EyeDropper
Cng c Paint Bucket }y l{ cng c dng mu nn cho vt th. Khi kch vo biu tng ny trn thanh cng c, trn bng thuc tnh Properties s hin ra cc thng s lin quan n cng c ny:

- 51 -

CHNG 2. CC CNG C V C BN

- Fill color: mu nn cho i tng. m{u bn trong i tng, bn cn lu rng khung vin bao quanh n cn phi kn. Nu c mt khong h trn ng vin ny, th cng c khng hot ng (khc vi cc trnh bin tp khc, thng th trong trng hp ny, cng c s mu ln c nhng phn lin k n). cng chnh l{ u im ca cng c ny trong Flash ca Adobe. Vi cng c ny, bn c th to ra nhng hiu ng mu phc tp. N h tr cc ch mu RGB, HSL, ch mu Alpha, ch khng mu, mu dng kiu cu vng. Bng mu ca Paint Bucket khng cho php bn hiu chnh di mu cu vng vi cc mu ty chn, l{m iu ny bn cn kt hp vi bng m{u y (Windows>Color). Trong hp thoi mu ny, cho php bn c th s dng cc kiu pattern, bitmap v di mu cu vng ty chn mu nn cho i tng. Nhng bn cng lu rng, n cn kt hp vi cng c Paint Bucket ny.

Hnh 47 Cng c Paint Bucket Cng c Ink Bottle }y l{ cng c dng mu vin. Khi bm chn vo biu tng tam gi|c en nh trn biu tng Paint Bucket, s xut hin biu tng cng c Ink Bottle.

- 52 -

CHNG 2. CC CNG C V C BN

Hnh 48 Cng c Ink Bottle Khi bm vo biu tng ny, trn vng thuc tnh Properties s xut hin cc thuc tnh lin quan n cng c ny: - Stroke color: chn mu vin. - Stroke: chn kch thc cho vin. - Style: chn dng thc cho vin. - Cap: thit lp dng thc cho ng kt thc. - Join: x|c nh c|ch m{ hai ph}n on ca i tng ni vi nhau. - Mitter: iu khin sc nt ca Mitter, khi Cap c chn l Mitter. Cng c EyeDropper }y l{ cng c dng ly thng s mu ti mt v tr trn i tng. Ta ch vic chn biu tng, sau kch vo mt v tr n{o trn bc nh (v tr m ta cn ly thng s mu), khi , thng s mu nn mc nh s l mu ca v tr m bn va kch vo.

2.6. Cng c Free Transform v{ Gradient Transform


Cng c Free Transform

- 53 -

CHNG 2. CC CNG C V C BN

Hnh 49 Cng c Free Transform }y l{ cng c tinh chnh gc cnh, xoay i tng. Khi bm chn biu tng n{y, sau chn i tng, ta c th thay i s dch chuyn tng i ca cc phn i tng. Khi , ta t tr chut theo cch cnh ca i tng v dch chuyn n. Nu mun phng to, thu nh i tng, ta ch t tr chut vo cc nt ca i tng, v ko ra ngoi nu mun tng kch thc, v ko vo trong nu mun lm gim kch thc. Nu mun xoay i tng, ta nhn vo nt cc gc ca i tng, v{ xoay i tng. Khi lm vic vi c|c i tng bng cng c ny bn cn lu n mt chc nng xoay i tng.

Hnh 50 Thay i tm xoay ca i tng

- 54 -

CHNG 2. CC CNG C V C BN

Mc nh, khi ta to mt i tng th i tng ~ tn ti mt t}m im xoay (khi xoay i tng, i tng s quay quanh im xoay ny). Bn c th hiu chnh v tr ca im xoay ny bng cch bm chn n v di chuyn. Trn hnh v trn, bn c th thy s thay i v tr ca t}m xoay trn i tng. i tng bn tri, tm xoay nm chnh gia ca ng thng, cn hnh bn phi, t}m xoay c dch chuyn xung gc pha di. Bn c th xoay i tng nhn ra s khc bit: ng thng bn tri xoay theo kiu chong chng (tm quay chnh gia ca c|nh chong chng), cn ng thng bn phi th xoay theo kiu kim ng h (tm quay mt u ca kim quay). Bt k mt i tng n{o i xng tm, th theo mc nh, t}m i xng ca i tng chnh l tm xoay ca n. Tm xoay ca i tng khng nht thit phi nm trn i tng. N c th nm bt k, ty thuc vo mc ch s dng ca bn. Xoay mt i tng l mt hiu ng to kh| n gin trong Flash. Bn s c tm hiu k hn khi hc v cch to chuyn ng bng k thut Tween v ActionScript. Cng c Gradient Transform

Hnh 51 Cng c Gradient Transform

- 55 -

CHNG 2. CC CNG C V C BN

Nh vo cng c ny, ta c th hiu chnh cc thng s khi mu cu vng cho i tng. Sau khi to mu cu vng cho i tng, ta bm chn vo biu tng tam gi|c en trn cng c Free Transform, s xut hin cng c Gradient Transform, bn ch vic bm chn n. Sau , bm vo vng mu cu vng. Trn vng mu ny, s hin ra mt dng thc m{u nh hnh bn trn. Bn ch vic hiu chnh hnh bao m{u n{y nh: ko to (tng kch thc vng sng), thu nh (gim kch thc vng sng), hiu chnh v tr ca tam gi|c (thay i tm ca vng sng), bm vo nt trn v dch chuyn n (thay i v tr vng mu).

2.7. C|c cng c l{m vic vi ng Bezier


Nh ti ~ gii thiu trn, Flash l mt chun ha vector. Mi i tng trong Flash u da trn c s ca ng Bezier. C|c ng Bezier c to dng da trn phng ph|p ni suy Spline. Mt ng Bezier c t trng bi im v{ ng iu khin ca im . im }y c th l{ im un, im gc cnh, im i xng ta s gi chung l{ im iu khin (v tng ng vi ng iu khin). Nu bn ~ tng lm quen vi Microsoft Word, chc hn bn cng ~ bit n ng Bezier ny. lm vic vi c|c i tng ny Flash cung cp cho ta mt tp hp cc cng c lm vic vi ng Bezier: cng c SubSelection, Pen, Add Anchor Point, Delete Anchor Point v Convert Anchor Point. Cng c SubSelection nm ring, cc cng c cn li c b tr chung vo mt v tr trn thanh cng c. Sau }y, chng ta s ln lt tm hiu v cc cng c ny. Cng c SubSelection

Hnh 52 Cng c SubSelection

- 56 -

CHNG 2. CC CNG C V C BN

Nhp chn biu tng SubSelection, sau bm v{o i tng. Khi , ng vin ca i tng s hi ra c|c ng Bezier cu thnh nn vt th. C|c im c |nh du bng chm trn c gi l{ c|c im iu khin ng Bezier. Vi cng c ny, ta c th hiu chnh v tr ca c|c im n{y. im iu khin trong ng Bezier cng chia l{m hai nhm: nhm im gc cnh v{ nhm im un cong. Bn c th nhn thy chng hnh vung, ch nht to nn t c|c im gc cnh; ng trn, eclipse c to t c|c im un cong. Cng c Pen Cng c n{y dng v c|c ng a gi|c bng cch to c|c im iu khin, sau , t ng ni c|c im ny li vi nhau. Cc thng s lin quan n cng c n{y ho{n to{n tng t vi cng c Line. Khi s dng cng c Pen, bn cng lu rng, nu bn to hnh th c dng ng thng, bn ch vic nhp v{o nt u v nt cui. Nu bn mun to dng ng cong, m cn r chut lin tip hiu chnh ng iu khin ca n.

Hnh 53 Cng c Pen Cng c Add Anchor Point v Delete Anchor Point

Cng c Add Anchor Point dng b sung thm im iu khin cho ng Bezier, ngc li, Delete Anchor Point xa bt i c|c im iu khin cho ng Bezier.

- 57 -

CHNG 2. CC CNG C V C BN

b sung thm im iu khin, ta ch vic chn cng c Add Anchor Point, sau bm vo mt v tr trn ng bin. xa i im iu khin, ta ch vic chn cng c Delete Anchor Point, sau bm vo mt im iu khin cn xa b. Vic b sung v xa b c|c im iu khin rt hu ch trong vic to c|c ng un. Vi c|c ng un c th, ta cn b sung vo mt s lng im iu khin ti u cho vic hiu chnh. Ta c th ly v d: i vi ng Parabol, ta ch cn ba im iu khin; vi ng th hm s a thc bc ba ta cn bn im iu khin. C|c im iu khin l{ c|c im nm trn ng bin. Nhng im khng nm trn ng bin l{ c|c im thuc ng iu khin.

Hnh 54 Hnh c|c im iu khin Cng c Convert Anchor Point Dng chuyn i im iu khin gc cnh th{nh im iu khin un cong. Ngoi ra n cn c chc nng hiu chnh gc un nh v{o c|c ng iu khin. Chc nng n{y tng i ging vi chc nng hiu chnh gc cnh ca cng c SubSelection. Nhng im khc bit ch, cng c Convert Anchor Point hiu chnh c|c ng iu khin mt c|ch c lp (ti mt im iu khin c hai ng iu khin bn tri v bn phi. Cng c ny hiu chnh c|c ng iu khin bn tri v bn phi mt cch ring bit.), trong khi cng c SubSelection hiu chnh ng thi hai ng iu khin ny (im un i xng). chuyn i im iu khin gc cnh th{nh im un cong, ta ch vic chn cng c v nhp v{o im cn chuyn i. hiu chnh gc xoay cho c|c ng iu khin, ta ch vic xoay c|c ng iu khin.

- 58 -

CHNG 2. CC CNG C V C BN

Hnh 55 Cng c Convert Anchor Point

2.8. L{m vic vi c|c i tng


Khi thao tc vi c|c i tng, ta thng s dng cc chc nng sau }y: - Nhm vin v nn ca i tng thnh mt nhm: c hai cch nhm s dng chc nng Group v chc nng Union. Chn i tng nn v vin (nhp i chut v{o i tng), sau vo Modify, chn Group (Ctrl+G) hoc Combine Object > Union. nhm nhiu i tng thnh mt nhm, ta s dng chc nng Group: chn c|c i tng cn nhm, nhn t hp phm Ctrl+G. - V hiu ha vic chnh sa mt i tng: chn i tng cn kha, vo Modify, chn Arrange > Lock (Ctrl+Alt+L). - Kch hot vic chnh sa mt i tng tr li: Modify > Arrange > Unlock All (Ctrl+Shift+Alt+L). - Sp xp th t i tng: chn i tng, v{o Modify > Arrange. Sau , ta c th hiu chnh th t sp xp nh i vi Microsoft Word. - Canh chnh v tr v{ kch thc ca i tng: vo Modify > Align (Ctrl+K).

Hnh 56 Vng Align

- 59 -

CHNG 2. CC CNG C V C BN

Cc chc nng trong nhm vng n{y, chng ta ~ tm hiu trn. - Lm vic vi Shape: v{o Modify > Shape. Sau ta chn chc nng cn hiu chnh. - Lm vic vi Bitmap: Bitmap l mt i tng ha im. Flash cng h tr ha im. lm vic vi Bitmap, ta v{o Modify > Bitmap. Tng ng vi Bitmap, s c hai chc nng l{ Swap Bitmap (thay i hnh Bitmap) hay Trace Bitmap (chuyn i Bitmap thnh dng vector). Vic chuyn i mt Bitmap thnh mt dng ha vector l rt phc tp. C rt nhiu thut ton thc hin chc nng n{y, nhng ni chung, vn cha c mt thut ton ti u n{o thc hin mt cch hon ho. a s nh vector thu c vn khng gi gn nguyn trng nh i vi i tng nh Bitmap ban u. - Xy dng c|c i tng trn cc Layer khc nhau: vic s dng layer l mt k thut hu ch trong ha my tnh.

Hnh 57 Distribute to Layers i vi Flash, n cng cc k quan trng. Bn hy tng tng, trn mt Scene ca bn, c mt ch ch, mt ch mo v mt khung cnh pha sau. Khi xy dng hot cnh, ch h{nh ng theo thao tc ring ca n, mo h{nh ng theo

- 60 -

CHNG 2. CC CNG C V C BN

thao tc ring ca mo, khung cnh c th ng yn hoc c nhng hiu ng ring. R rng, mi i tng c mt cch thc thc hin h{nh ng ring. Nu ta xy dng tt c chng trn cng mt layer, th vic xy dng h{nh ng khc nhau l{ iu khng th. Do , trong trng hp ny, ta cn s dng layer. xy dng tng layer cho tng i tng, bn ch vic chn ton b i tng cn xy dng layer, sau kch chut phi v chn Distribute to Layers. Khi , c|c i tng khc nhau s nm trn cc layer khc nhau.

- 61 -

CHNG 2. CC CNG C V C BN

Tng kt chng 2
Trong chng n{y, chng ta ~ lm quen vi cc cng c v hnh c bn trong Flash. Vi cc cng c v ny, chng ti hi vng bn s s dng n mt cch thun thc. Khi s dng cc cng c, bn cng cn quan t}m n c|c thao t|c ng hnh vi n. Vic s dng thnh tho cc cng c trong Flash, s gip bn to c|c i tng ha p mt, phc v cho mc ch to hot hnh v sau. Mt iu hin nhin l s cng c ny c th khng phi chuyn dng cho vic thit k ha. Nu bn mun mt trnh s|ng t|c ha chuyn dng, bn c th s dng Illustrator c nh km trong b sn phm Adobe Design. Tuy nhin, vi cc cng c h tr trong Flash, bn hon ton c th to dng nhng i tng ha nh cao.

- 62 -

CHNG 2. CC CNG C V C BN

Blank Page

- 63 -

CHNG 3. CC BIU TNG TRONG FLASH

CHNG 3. CC BIU TNG TRONG FLASH


Biu tng l mt i tng c to trong Flash v c th ti s dng. Mt biu tng c th c s dng trong mt movie hoc import v{o th vin v s dng trong mt movie khc. C ba loi biu tng l: Graphics, Buttons v MovieClips. Biu tng l{ i tng c to v lu v{o trong th vin. Nu mt bn sao ca biu tng c s dng trong movie th n c gi l mt s th hin ca biu tng . Mi s th hin ca mt biu tng c mt thuc tnh ring (mu sc, kch thc, chc nng) khc vi biu tng to ra n. Mi s th hin ca i tng c th c to nh vo chc nng ko th biu tng t th vin vo khung trnh chiu. Khi mt biu tng c chnh sa th mi s th hin ca n cng c cp nhp theo. Vic s dng biu tng l{ phng ph|p hiu qu gim kch thc ca movie. Nhng biu tng khng c s dng trong movie, d nm trong th vin th n cng khng c tnh v{o kch thc ca movie .

3.1. Biu tng Graphic


Biu tng Graphic l mt hnh nh tnh c th c ti s dng to ra chuyn ng. Bt k mt nh im, vector hay vn bn u c th chuyn i thnh Graphic. Chng ch c mt Frame trn thanh TimeLine. to mt Graphic, bn thao t|c nh sau: - Chn i tng cn chuyn i sang biu tng Graphic. - Nhn phm F8 (hoc kch chut phi, chn Convert to Symbol). Trong hp thoi Convert to Symbol, c cc ty chn sau

Hnh 58 Chuyn i sang biu tng Graphic + Name: tn ca biu tng s c to.

CHNG 3. CC BIU TNG TRONG FLASH

+Type: loi biu tng cn to. }y, chng ta chn l Graphic. Tip n, bn nhp Ok. Mt biu tng Graphic s c to v{ a v{o th vin. Cc thuc tnh ca biu tng Graphic

Hnh 59 Bng thuc tnh ca biu tng Graphic - Thanh ty chn th xung: cho php chuyn i qua li gia cc loi biu tng. - Instance of: khi kch chut vo ty chn swap, bn c th thay i biu tng ca i tng th hin c chn. - Position and Size: cho php hiu chnh v tr theo ta ca i tng th hin (x v{ y), v{ kch thc (w width v h height). Ty chn Lock width and height values together cho php thay i kch thc chiu rng v{ cao ng thi hay ring l. - Color effect: vi ty chn Style, bn c th hiu chnh cc thuc tnh Brightness, Tint, Advanced v{ Alpha cho i tng. - Looping: ty chn lin quan n s ln lp li h{nh ng ca biu tng Graphic. N c th l Loop, Play Once v Single Frame.

- 65 -

CHNG 3. CC BIU TNG TRONG FLASH

3.2. Biu tng Button


Biu tng Button dng b sung mt tng t|c vi movie, |p tr cc s kin kch chut, n phm, ko c|c thanh ko v{ c|c h{nh ng khc. Mt biu tng Button s c bn Frame tng t|c: Up, Down, Over v{ Hit. to mt Button, bn thao t|c nh sau: - Chn i tng cn chuyn i sang Button. - Nhp phm F8 hoc kch chut phi, chn Convert to Symbol. Khi , s xut hin hp thoi sau:

Hnh 60 Chuyn i sang biu tng Button Trong mc Type, chn Button v nhp Ok. To hiu ng cho Button }y, ta ch thao t|c to hiu ng cho Button. Ta khng tho lun thm v vic s dng TimeLine v cch to hiu ng ng. Chi tit v phn ny ta s tm hiu trong chng tip theo. Mi biu tng Button c 4 Frame trn TimeLine. Tng ng vi Frame Up l hiu ng khi tr chut c th ra (sau khi bm xung), Frame Down tng ng vi hiu ng khi tr chut nhn xung, Frame Over tng ng vi hiu ng khi tr chut di chuyn qua i tng v Frame Hit to mt vng tng t|c o cho Button (ngha l{ khi thao t|c trn vng n{y ho{n to{n tng t vi thao tc trn chnh Button ). Vng tng t|c n{y gi l o bi n khng hin th trn movie. Sau }y, ta s thao t|c to hiu ng cho Button. (1) Kch i chut vo Button va to. (2) Nhp chn Frame Up, nhn phm F6 v{ thay i thuc tnh cho Button ny. Ho{n to{n tng t cho Frame Down v Frame Over.

- 66 -

CHNG 3. CC BIU TNG TRONG FLASH

(3) Nu bn mun to vng tng t|c o, bn hy s dng cng c v to mt vng tng t|c n{y trong Frame Hit: chn Frame Hit, nhp F6 v v mt hnh th trong Frame Hit ny. (4) Quay tr li Scene, nhp Ctrl+Enter kim tra. Cc thuc tnh ca biu tng Button - Instance Name: tn hin th ca biu tng. c dng khi lm vic vi ActionScript. - Thanh ty chn th xung: cho php chuyn i qua li gia cc loi biu tng. - Instance of: chn swap thay i biu tng cho i tng hin th. - Position and Size: thay i v tr v{ kch thc cho i tng. - Color effect: chn hiu ng mu sc cho i tng, bao gm:Brightness, Tint, Advanced v Alpha. - Display: vi thuc tnh Blending, cho php ta chn cc ch pha trn mu sc cho Button. - Tracking: vi Options, bn c th chn Track as Button hoc Track as MenuItem. - Filter: ho{n to{n tng t vi Filter khi lm vic vi cng c Text. Hnh 61 Bng thuc tnh ca biu tng Button

To biu tng Button nhanh chng: bn c th s dng mt trong cc chc nng sau }y to mt biu tng Button ht sc nhanh chng: + S dng c|c Button c to sn: vo Windows > Common Libraries > Button. + S dng Commands: bn hy to mt khi hnh th, nhp chn n. Sau v{o Commands > Make Button.

- 67 -

CHNG 3. CC BIU TNG TRONG FLASH

3.3. Biu tng MovieClip


L mt mu hot hnh ca Flash c th c ti s dng. Khc vi Graphic v Button, MovieClip c ring mt TimeLine vi v s Frame ca mnh. Mt MovieClip c th bao gm mt hoc nhiu biu tng Graphic, Button hoc thm ch l MovieClip. Cng tng t nh Button, bn c th c{i t mt tn hin th cho n iu khin n bng ActionScript. To hiu ng cho Movieclip: chng ta s tm hiu v cch to hot hnh cho mt MovieClip trong chng tip theo. Cc thuc tnh ca biu tng MovieClip - Instance Name: tn hin th ca biu tng. c dng khi lm vic vi ActionScript. - Thanh ty chn th xung: cho php chuyn i qua li gia cc loi biu tng. - Instance of: chn swap thay i biu tng cho i tng hin th. - Position and Size: thay i v tr v kch thc cho i tng. - 3D Position and View: hiu chnh v tr trong khng gian v khung nhn 3D. - Perspective Angle: hiu chnh gc phi cnh theo xa gn. - Vanishing Point: hiu chnh ta ca im trit tiu. - Color effect: chn hiu ng mu sc cho i tng, bao gm:Brightness, Tint, Advanced v Alpha. Hnh 62 Bng thuc tnh ca biu tng MovieClip

- 68 -

CHNG 3. CC BIU TNG TRONG FLASH

- Display: vi thuc tnh Blending, cho php ta chn cc ch pha trn mu sc cho Button. - Tracking: vi Options, bn c th chn Track as Button hoc Track as MenuItem. - Filter: ho{n to{n tng t vi Filter khi lm vic vi cng c Text.

3.4. L{m vic vi Library


Library l th vin qun l c|c i tng c import v convert. convert mt i tng ta kch chut phi v{o i tng v chn Convert to Symbol. Khi , biu tng ny s xut hin trong Library. Kch thc ca mt movie khng bao gm ton b c|c i tng trong Library, n ch bao gm c|c i tng c s dng trong movie. import mt i tng t bn ngoi vo Libray, ta chn File > Import > Import to Library. Sau , c|c i tng c chn s c a v{o trong Library.

Hnh 63 Khu vc qun l th vin Library C|c i tng nm trong th vin c t chc v qun l theo cu trc c}y th mc. t chc v qun l theo c}y th mc, ta cn to mi th mc theo cu trc cy ca Windows Explorer. C|c i tng trong th vin c th c cha trong c|c th mc ca c}y th mc n{y. Th vin ca Flash cho php bn thc hin thao tc ko th c|c i tng t v tr ny trong cy th mc sang v tr khc. pha trn ca cu trc c}y th mc ny l khung Preview, cho php bn c th xem qua c|c i tng trong th vin chng trnh ca Flash.

- 69 -

CHNG 3. CC BIU TNG TRONG FLASH

Tng kt chng 3
Trong chng n{y, chng ta ~ lm quen vi ba loi biu tng trong Flash. Chng c mt v{i im tng ng v mt v{i im khc bit. Mt im khc bit nht gia chng l s Frame h tr cho mi biu tng l khc nhau: Graphic 1 Frame, Button 4 Frame v MovieClip nhiu Frame. Hi vng sau khi hc xong chng n{y, bn s hiu c cch s dng cc loi biu tng ny. Cch chuyn i mt i tng ha sang cc biu tng. Cch chuyn i c|c i tng gc cho mi biu tng.

- 70 -

CHNG 3. CC BIU TNG TRONG FLASH

Blank Page

- 71 -

CHNG 4. TO HOT CNH

CHNG 4. TO HOT CNH


4.1. Tm hiu v TimeLine
TimeLine l{ vng tng t|c to ra chuyn ng trong movie ca Flash. to ra chuyn ng, TimeLine thay th tng Frame mt theo thi gian.

Hnh 64 Vng TimeLine Trong TimeLine, bn c th d dng thy c ba phn chnh: Phn qun l Layer (bn tri), Phn qun l Frame (pha trn bn phi) v Phn qun l Cng c (pha di bn phi). - Layer: qun l cc lp i tng. Mi mt i tng trn Layer s c mt thanh TimeLine ca ring mnh. Trong trng hp minh ha trn, th i tng trn Layer 1 nm trn TimeLine pha di v{ i tng trn Layer 2 nm trn TimeLine pha trn. - Thanh TimeLine: cha nhiu Frame. Khi to ra chuyn ng, cc Frame s ln lt thay th cho nhau. Frame sau s thay th cho Frame trc . Ta c th xem qua h{nh ng bng cch ko Frame hin ti (Frame |nh du m{u ) sang tri hoc phi trn TimeLine. - Vng thanh cng c - gm cc cng c sau }y: + Center Frame: x|c nh Frame trung tm.

CHNG 4. TO HOT CNH

+ Onion Skin: cho php hin th ton b hnh nh ca i tng trn vng Frame c chn. S hin th ny bao gm ton b i tng.

Hnh 65 Onion Skin + Onion Skin Outlines: cho php hin th ton b hnh nh ca i tng trn vng Frame c chn. S hin th ny ch bao gm vin ca i tng.

Hnh 66 Onion Skin Outlines + Edit Multiple Frames: cho php hin th i tng gc trn ton b i tng hin th theo hai chc nng Onion Skin trn. Khi , ta c th chnh sa i tng (Hnh 44). + Cc thng s khc: Current Frame v tr ca Frame hin ti. Frame rate tc chuyn ng (tnh bng s Frame trn giy). Elapsed Time thi gian thc thi ton b Frame trn thanh TimeLine.

- 73 -

CHNG 4. TO HOT CNH

Hnh 67 Onion Skin v Onion Skin Outlines kt hp vi Edit Multiple Frames Mt s chc nng khi lm vic vi TimeLine Khi lm vic vi TimeLine, ta thng xuyn s dng n hai phm tt sau }y: + Phm F5: chn Frame vo thanh TimeLine (tng ng vi Insert Frame). Nu vng TimeLine trong thanh TimeLine ~ c to Tween, th n s t ng gin vng Tween n{y (chn thm Frame v{o trong vng Frame ~ to Tween, cc Frame mi to n{y cng k tha Tween). + Phm F6: chn KeyFrame v{o thanh TimeLine (tng ng vi Insert KeyFrame). Frame cui cng khi chn l mt KeyFrame. Vi KeyFrame ny, ta c th to im cht cho h{nh ng trong mt movie. Khi kt hp vi Tween, n s to mt chuyn ng mm mi cho movie ca Flash. Chng ta c th tham kho v d sau }y, hiu r hn v hai phm tt ny. Trong v d ny, chng ta s to mt hnh ch nht c nn trng v vin en (Hnh 60). Ti Frame th 5, bn nhp vo Frame ny, nhn phm F5. Sau , bn thay i ln ca vin (thuc tnh Stroke = 5) xem Hnh 61. Gi bn hy kim tra ln ca vin trn mi Frame. Nh bn thy y, vin ca tt c hnh ch nht trn mi Frame u thay i thnh 5. By gi, bn hy lm lm li v d trn bng cch thay phm F5 bng phm F6. Bn s thy rng thuc tnh Stroke s khng thay i trn mi Frame, ch thay i duy nht KeyFrame cui cng (KeyFrame m bn hiu chnh). Nh vy, bn c th thy rng, nu bn mun sao chp mt Frame cho cc Frame tip theo, bn s dng phm F5. Ngc li, nu bn mun to mt s thay i, bn cn s dng phm F6.

- 74 -

CHNG 4. TO HOT CNH

Hnh 68 Khi to mt hnh th trn KeyFrame u tin.

Hnh 69 Chn cc Frame bng phm F5

- 75 -

CHNG 4. TO HOT CNH

Hnh 70 Chn KeyFrame bng phm F6 Sao chp v ct dn mt nhm Frame: thc hin chc nng n{y, bn hy bi en nhm Frame m{ bn mun sao chp hoc ct d|n, sau bn kch chut phi v chn Copy Frames hoc Cut Frames.

Hnh 71 Sao chp hoc Ct dn nhm Frame

- 76 -

CHNG 4. TO HOT CNH

thc hin chc nng d|n, bn hy chn v tr cn d|n nhm Frame ~ copy trn TimeLine. Sau , kch chut phi v chn Paste Frames.

Hnh 72 Chp mt nhm Frame ~ c sao chp hoc ct dn Clear Frames, Clear KeyFrame v Remove Frames: chc nng Clear Frames n s l{m cho c|c i tng trn Layer ca Frame c chn s b xa i. Hay ni c|ch khc, Clear Frames s to ra hai KeyFrame v tr bt u v kt thc ca nhm Frame c |nh du. Tng ng vi v tr u tin, n s chn mt Blank KeyFrame (l mt KeyFrame nhng khng cha i tng no trn n) v KeyFrame tng ng vi v tr kt thc. Clear KeyFrame cng tng t nh Clear Frame, nhng n p dng cho mt KeyFrame. Cn Remove Frames s xa sch cc Frame ny ln i tng trn n. Convert to KeyFrames v Convert to Blank KeyFrames: chuyn i mt Frame thnh KeyFrame hoc Blank KeyFrame. Insert Blank KeyFrame: chn mt Blank KeyFrame. Reverse Frames: cho php lt ngc th t ca mt nhm Frame. thc hin chc nng n{y, bn bi n nhm Frame, kch chut phi v chn Reverse Frame. Vi chc nng n{y, bn c th to ra mt chuyn ng mang tnh i xng. To chuyn ng nh vo k thut Frame by Frame

- 77 -

CHNG 4. TO HOT CNH

}y l{ k thut to chuyn ng da trn c s ca k thut 24 hnh/giy. Cc Frame s hin th tun t trn Scene. S hin th tng Frame mt ny to ra chuyn ng cho i tng. Ta s minh ha k thut Frame by Frame. V d sau }y s to hiu ng ng cho cc k t trong t Flash. Bc 1. S dng cng c Text, to mt dng vn bn c ni dung l{ Flash. Bc 2. Chn cng c Selection. Bm v{o dng vn bn sau kch chut phi v chn Break Apart. Bc 3. Nhp chn Frame th hai trong TimeLine. Nhp phm F6. Sau bm chn k t u tin k t F, v dch chuyn n ln trn so vi cc k t cn li hoc thay i mu sc ca n.

Hnh 73 K thut Frame by Frame Chn Frame th ba trong TimeLine. Nhp phm F6. Sau tip tc vi k t th hai k t l. Qu trnh ny c tip din cho n k t cui cng l k t h. Bc 4. Nhp Ctrl+Enter kim tra sn phm. Vi k thut Frame by Frame, bn hon ton c th to ra hot cnh. Nhng mt nhc im ca k thut ny l nu bn mun to mt hiu ng mm mi th bn

- 78 -

CHNG 4. TO HOT CNH

phi thao tc rt mt thi gian. Flash cung cp cho bn c|c phng ph|p sau }y to chuyn ng vi tn gi l Tween. C ba phng ph|p Tween: Classic Tween, Motion Tween v Shape Tween. V c bn, chng khng c nhiu im tng ng. Chng ta s ln lt kho st ba loi Tween ny.

4.2. Classic Tween


Classic Tween l mt k thut to chuyn ng c cung cp trong cc phin bn t Flash CS3 tr v trc. Trong phin bn Flash CS5, Adobe vn cn duy tr k thut ny. V c bn, khi thao tc vi k thut Classic Tween ta cn phi s dng n hai KeyFrame khi u v KeyFrame kt thc. K t n bn CS4, Adobe ~ a v{o mt k thut mi gi l Motion Tween mt k thut m theo Adobe l s dng n gin, khng cn to KeyFrame rc ri nh Classic Tween. Mc ch to ra k thut Classic Tween l to ra chuyn ng cho i tng. Khi s dng Classic Tween, i tng s c chuyn i thnh hai biu tng Graphic (mt biu tng cho KeyFrame u tin v mt biu tng cho KeyFrame kt thc). Bn khng th s dng cc hiu ng 3D cho Classic Tween cng nh khng th s dng chc nng swap symbol cho i tng th hin. Nhng s d Adobe vn lu li k thut ny trong phin bn CS5 d k thut Motion Tween c nhiu u im hn l{ v k thut Classic Tween c nhng u im ring m Motion Tween khng th thay th c. Mt trong nhng u im l{ k thut Classic Tween cho php cha mt Frame Script. C|c bc s dng Classic Tween to hiu ng ng V d sau }y s trnh by cho bn phng ph|p to qu bng ri nh v{o k thut Classic Tween. Bc 1. Trn khung sng tc, bn hy s dng cng c Oval to mt hnh qu bng v trang tr cho n theo hnh qu bng chuyn. Bc 2. Kch chut vo Frame th 10, nhp phm F6 chn KeyFrame kt thc. Ti Frame th 10 ny, bn h~y thay i v tr ca qu bng (chm mt t). Sau khi chm t, qu bng s ny ln. to iu ny, bn bm vo Frame th 20, nhp phm F6 chn KeyFrame kt thc. Ti KeyFrame ny, bn h~y thay i v tr ca qu bng ln na (v tr qu bng ny n). Bn hy tip tc qu| trnh n{y cho n khi bn cm thy ph hp (thi im m qu bng dng). Bn c th quan st qu trnh n{y trong hnh 46 bn di.

- 79 -

CHNG 4. TO HOT CNH

Bc 3. Bm chut vo khong cch gia KeyFrame m u v KeyFrame kt thc, kch chut phi v chn Classic Tween. Bn hy lp li iu ny cho cc khong KeyFrame cn li. Bc 4. Nhn Ctrl+Enter kim tra kt qu. }y l{ mt v d c trng s dng Classic Tween dng to chuyn ng ca i tng. Bn hon ton c th s dng n hiu chnh thuc tnh ca i tng, d rng vic ny khng phi l chc nng chnh yu dnh cho n. Bn cng cn lu rng, trong v d trn, mi ln bn nhn phm F6 l bn ~ to mi mt KeyFrame kt thc v KeyFrame k tip ca KeyFrame kt thc cng ng chc nng l{ KeyFrame m u ca KeyFrame kt thc sau. Ngha l{ mi ln bn nhp F6, bn ~ to ra thm mt khong |nh du KeyFrame to Classic Tween.

Hnh 74 K thut Classic Tween Trong hnh minh ha trn, Layer 1 cha qu bng, Layer 2 cha nn (hnh ch nht m{u xanh). C|c nt en trn TimeLine ca Layer 1 l cc KeyFrame. Cc khong gia cc nt ny l cc khong |nh du KeyFrame ca Classic Tween.

- 80 -

CHNG 4. TO HOT CNH

4.3. Shape Tween


K thut Shape Tween dng nh c nhng tnh nng ring bit. Mc d n cng c th dng chuyn i mu sc, hnh dng ca vt th nh hai loi Tween cn li. Nhng chc nng chnh ca n l{ bin hnh. to s bin hnh, cng tng t Classic Tween, bn phi to hai KeyFrame m u v kt thc. Shape Tween khng h tr hiu ng 3D, khng h tr chc nng swap symbol thay i biu tng ngun cho mt i tng th hin. Khi to Shape Tween, i tng s chuyn i th{nh hai i tng Graphic. Hai biu tng n{y tng ng vi hai Frame u tin v Frame cui cng ca Shape Tween. V c ch ca Shape Tween, n s dng thut ton Transform ngha l{ s dch chuyn c|c im c |nh du theo mt ch s n{o Frame u tin n v tr c |nh du cng ch s trong Frame cui cng. C|c bc s dng Shape Tween to hiu ng ng Trong v d ny, chng ta s to hiu ng bin ng thng th{nh ng cong. Bn khng th to c hiu ng ny bng cc Tween cn li. }y cng l{ mt v d in hnh s dng Shape Tween.

Hnh 75 K thut Shape Tween Bc 1. Dng cng c Line v mt ng thng trn khung sng tc.

- 81 -

CHNG 4. TO HOT CNH

Bc 2. Vi cng c Shape Tween, bn c th to Tween trc khi chn KeyFrame hoc sau khi chn KeyFrame. Ta s minh ha bng vic to Tween trc. Bn hy dng cng c Selection, bm chn i tng, kch chut phi v chn Create Shape Tween. Bc 2. Bm chn vo Frame 30 trn TimeLine, nhp phm F6 chn KeyFrame kt thc. Bn bm chn cng c Add Anchor Point v bm vo v tr gia ng thng b sung im iu khin. Tip n, bn chn cng c Convert Anchor Point to im un. Bn hy bm chn im m bn va to, v un ng thng ny th{nh ng cong nh trn. Bc 3. Nhn t hp Ctrl+Enter kim tra sn phm. Bn lu rng, trong hnh minh ha trn, ti ~ s dng chc nng Onion Skin. S dng Shape Hint iu khin s bin hnh Khi s dng Shape Tween, n s t ng to ra s bin hnh theo mt thut ton c nh sn. Nu bn mun iu khin s bin hnh n{y, Flash cng cung cp cho bn cng c l{ Shape Hint. Shape Hint l mt im iu khin khi s dng Shape Tween. s dng chc nng n{y, bn cn to mt Shape Tween cho mt i tng, sau v{o menu Modify > Shape > Add Shape Hint (phm tt l Ctrl+Shift+H). Shape Hint s xut hin theo cp: mt im Frame u tin trn TimeLine ca Tween v mt im Frame cui cng. C|c Shape Hint n{y c |nh ch s l{ a, b, c. Bn hy quan st hai hnh v sau }y

Hnh 76 Cc cp Shape Hint Frame u (bn tri) v Frame cui (bn phi)

- 82 -

CHNG 4. TO HOT CNH

Khi s dng Shape Hint, c|c im cng cp (cng ch s) s to ra s bin hnh tng ng, nhng lun m bo im cng cp ca Frame th u tin s chuyn th{nh im cng cp ca Frame cui cng (im a hnh bn tri s bin thnh im a hnh bn phi, tng t im b v c). Bng cch b sung cc Shape Hint ny, bn c th iu khin chuyn ng ca i tng. g b mt Shape Hint, bn ch vic chn n, kch chut phi v chn Remove Hint.

4.4. Motion Tween


Nh ~ nu trn, k thut Motion Tween cng c dng to chuyn ng. N cng tng t nh k thut Classic Tween, nhng n n gin hn k thut Classic Tween nhiu. N khng i hi bn phi to cc KeyFrame. Mt u im ca Motion Tween m trong phin bn Flash CS4 mi c b sung vo l h tr hiu ng 3D. C hai hiu ng 3D l Translation v Rotation. Chi tit v hai chc nng n{y ta s tm hiu thm trong mc cui cng ca chng n{y.

Hnh 77 K thut Motion Tween Nu so snh vi k thut Frame by Frame v Classic Tween, th bn cng nn bit rng, vi k thut Motion Tween, bn c th ti u kch thc ca file Flash khi

- 83 -

CHNG 4. TO HOT CNH

xut bn. Vi Motion Tween, bn cn c th hiu chnh ng dch chuyn, ta , gc xoay, Filter, Blending Nh vo cng c Selection v thuc tnh trong bng Motion Editor. C|c bc s dng Motion Tween to hiu ng ng Trong v d ny, ta to hiu ng chuyn ng theo hnh c|nh cung cho i tng c v. Trong hnh minh ha, ng mu xanh minh ha cho ng chuyn ng ca i tng. Bc 1. Dng cng c Brush v mt hnh nh bt k trn khung sng tc. Bc 2. Bm vo cng c Selection, nhp chn i tng va v. Kch chut phi chn Create Motion Tween. Flash s t ng to mt khong Frame mc nh to chuyn ng. Nu s lng Frame ny khng tha mn nhu cu x dng, bn c th thay i n bng c|ch t con tr chut vo v tr cui cng cng vng Frame c |nh du. Khi tr chut c dng , bn hy nhp chut v ko sang tri hoc sang phi. Bc 2. Di chuyn hnh c v sang v tr mi. Khi , bn s thy trn khung sng tc xut hin mt thanh m t chuyn ng ca i tng (thanh mu xanh trong hnh minh ha). Bn c th s dng cng c Selection thay i dng thc ca ng chuyn ng. Bc 3. Nhn t hp Ctrl+Enter kim tra sn phm. Hiu chnh chuyn ng v cc hiu ng nng cao vi Motion Editor }y l{ mt cng c mnh m c tch hp vi k thut Motion Tween. s dng chc nng n{y, u tin bn hy to mt Motion Tween. Sau , v{o Windows>Motion Editor. Khi , ca s Motion Editor xut hin. Hp thoi Motion Editor n{y c chia lm hai phn: phn bn tri v phn bn phi. Phn bn tri cha cc chc nng v{ c|c thng s lin quan, phn bn phi l biu minh ha. Ta c th hiu chnh mt trong hai phn ny. Cc nhm chc nng trong Motion Editor m{ bn cn quan tm l: - Basic Motion: dch chuyn v tr ca vt trong khng gian ba chiu (theo ta x, ta y v gc z).

- 84 -

CHNG 4. TO HOT CNH

Hnh 78 Bng thuc tnh Motion Editor - Transformation: xoay chuyn (skew) theo chiu x, y hoc ko gin (scale) theo chiu x, y. - Color Effect: bm vo biu tng du cng b sung vo. C cc hiu ng Alpha, Tint, Brightness v Advanced color. Nu mun loi b, ta ch vic nhp vo du tr, v chn hiu ng cn xa. - Filter: cng tng t nh Filter cho vn bn. Ta c th b sung bng cch bm vo du cng, v loi b bng cch bm vo du tr. - Eases: b sung thm cc hiu ng khc. To chuyn ng nh vo Motion Presets Flash CS5 cung cp sn cho ta cc hiu ng chuyn ng c sn trong vng chc nng Motion Presets. s dng chc nng n{y, ta v{o Windows > Motion Presets. Vng chc nng Motion Presets n{y cung cp cho chng ta rt nhiu hiu ng lm sn. Khi s dng cc hiu ng trong vng chc nng n{y, c|c i tng ca bn khng cn phi chuyn i sang biu tng. Bn c th thao tc trc tip trn cc i tng. D nhin, bn cng c th p dng cc hiu ng ny cho cc biu tng nh Graphic, Button hay MovieClip.

- 85 -

CHNG 4. TO HOT CNH

minh ha cho vng chc nng n{y, ta s cng nhau xy dng mt vi hiu ng hot hnh sau }y: Hiu ng qu bng chuyn ng: bn hy to mt khi cu dng 3D nh trn hnh v. Sau , bn hy bm chn i tng, bm tip vo khung Motion Presets v chn la hiu ng chuyn ng tng ng.

Hnh 79 Chc nng Motion Presets: chn hiu ng bounce-in-3D trong v d ny, ti s dng loi chuyn ng bounce-in-3D. Sau khi chn la hiu ng chuyn ng, bn nhp nt Apply. Khi kt hp vi Onion Skin, chng ta s thy dng chuyn ng ca n nh hnh minh ha. Khi s dng dng thc chuyn ng c to sn ca Motion Presets, bn s nhn thy rng vic to chuyn ng trong trng hp n{y cng s quy v vic s dng Motion Tween. Bn s d dng kim tra c iu ny khi quan st thanh Timeline. Trn Timeline bn s nhn thy c dng Tween c s dng l Motion Tween (hay bn c th nhn thy ng chuyn ng ca i tng }y l du hiu ca Motion Tween). Nu bn quan s|t trong th vin Library, bn cng s thy rng mt movieClip mi ~ c to ra. iu n{y c ngha Flash CS5 ~ l{m sn cho bn t A-Z.

- 86 -

CHNG 4. TO HOT CNH

Hnh 80 Chc nng Motion Presets: Motion Path Hiu ng ch chy 3D: thng thng, khi kt thc mt b phim thi trung c, cc thng tin v phim s c hin th theo dng thc ch chy t di ln v thu nh dn. Chng ta s s dng chc nng Motion Presets to hiu ng ny.

Hnh 81 Chc nng Motion Presets: hiu ng text-scroll-3D

- 87 -

CHNG 4. TO HOT CNH

Bn hy nhp mt on ni dung vn bn, sau chn hiu ng text-scroll-3D trong vng chc nng Motion Presets. Nhp Apply. Cui cng, bn hy nhn t hp Ctrl+Enter kim tra. Bi tp ngh: Hy s dng k thut Tween kt hp vi cc cng c to hiu ng 3D to dng cc hiu ng nh trong Motion Presets thc hin hai hiu ng nu trn: a) Hiu ng qu bng di chuyn trong khng gian. b) Ch chy 3D.

4.5. Cng c Bone v{ Bind


Cng c Bone Vi cng c Bone, bn c th to ra cc chuyn ng da trn cc khp ni. Cc chuyn ng ny c th ly v d nh c|c khp xng tay ch}n, c|c khp ni ca cn cu, hnh rng un ln, rn trn, Cng c ny rt hu ch v{ n gin. }y l{ cng c mi c b sung vo trong Adobe Flash CS4. Khi s dng cng c ny, ta cn phn bit c|c trng hp sau: - Trng hp 1: Nu i tng cn to khp ni l{ i tng lin tc (hnh rn trn, rng ln), ta s s dng cng c ny mt cch trc tip. - Trng hp 2: Nu i tng cn to khng lin tc, cn c khp ni (nh khp xng, khp ni cn cu), ta s s dng cng c ny sau khi convert cc phn ca n thnh cc biu tng. Tip theo, ta s minh ha cho vic s dng cng c Bone trong hai trng hp ny. Cng c Bone trong trng hp 1 - Bc 1. Bn hy s dng cng c Pencil hoc Brush to hnh mt ch rn. - Bc 2. Bm chn cng c Bone, sau v c|c ng khp ni nh trong hnh minh ha. - Bc 3. Hy s dng cng c Selection kim tra cc mi ni. to hiu ng ng, bn hy nhp chn vo mt Frame n{o (v d Frame 20), nhn phm F6. C ch lm vic t ng ca cng c Bone s gip to ra chuyn ng nu bn hiu

- 88 -

CHNG 4. TO HOT CNH

chnh cong ca i tng ti Frame ny nh vo cc khp ni. Bn hon ton khng cn s dng n k thut Tween. - Bc 4. nhp t hp Ctrl+Enter kim tra kt qu. Bn thy chuyn ng ca ch rn nh th no? Rt mm mi phi khng? Vi cng c ny kt hp vi ActionScript, bn hon ton c th to ra tr chi Rn tm mi y. D nhin ch l{ nh hng m thi, nu bn mun thc s tm hiu v k thut lp trnh game trong Flash, bn hy tm cc gio trnh chuyn v ch ny. Trong phm vi gi|o trnh n{y, chng ti khng a ra nhng d n game tm c, chng ta ch tp trung v{o k thut to hot hnh, c|ch iu khin i tng (}y l{ mt trong nhng chc nng nn tng ca lp trnh game) v mt s hiu ng thng c s dng trong k xo (c k xo truyn hnh ln k xo in nh).

Hnh 82 Cng c Bone trng hp 1 Cng c Bone trong trng hp 2 - Bc 1. Bn hy to ba khi hnh ch nht (tng trng cho c|c phn ca cn cu) v{ sau convert chng th{nh c|c i tng Graphic. - Bc 2. Bm chn cng c Bone, sau v c|c ng khp ni nh trong hnh minh ha.

- 89 -

CHNG 4. TO HOT CNH

- Bc 3. Hy s dng cng c Selection kim tra cc mi ni. Chn Frame 20, nhn phm F6, sau thay i hnh dng ca cn cu bng c|ch iu chnh cc mi ni. - Bc 4. Nhn t hp Ctrl+Enter kim tra.

Hnh 83 Cng c Bone trng hp 2 Nu bn gp kh khn trong vic iu khin cc b phn ca chic cn cu ny, bn hy dnh cht thi gian tm hiu v cc thuc tnh ca c|c on ni trong cng c Bone ny ngay di }y. Bng thuc tnh ca c|c on ni bi cng c Bone Khi bn nhp chut vo mt on thng ni cc mi ni, trong bng thuc tnh Properties s hin ra cc thng s trong hnh 52. - Location: Position X v Y (ta ca thanh ni), Length ( di ca thanh ni), Angle (gc nghing ca thanh ni), Speech (tc xoay ca thanh ni). - Joint Rotation: cho php hoc khng cho php thanh ni c th xoay tng ng vi Enable c chn hay khng c chn.

- 90 -

CHNG 4. TO HOT CNH

Hnh 84 Bng thuc tnh ca mi ni to bi cng c Bone - Rotation Constrain: cho php mi ni gc ca thanh ni dch chuyn trong vng t Min n Max.

Hnh 85 Thuc tnh Constrain - Joint x Translation v Joint y Translation: cho php thanh ni dch chuyn theo chiu x hay chiu y. Thuc tnh constraint cho hai trng hp ny hon ton tng t thuc tnh constraint ca Rotation. - Spring: l mt chc nng mi ca IK Bone, n c hai thuc tnh Strength (s lng ca Spring. Khi gi tr ny ln hn 0, khung sn s phn ng li vi mt chuyn ng vt l c t l thun gia gi tr Strength v chuyn ng tng th) v Damping (gi tr khng Strength). Ty chn ny nh hng n tt dn ca chuyn ng, ln lt x|c nh bng khong thi gian gia s chhuyn ng ban u v thi gian khi IK Bone tr li v tr dng ca n). }y l{ mt tnh nng mi i vi cng c ny trong phin bn Flash CS5 n{y, m{ Adobe ~ b sung vo.

- 91 -

CHNG 4. TO HOT CNH

Cng c Bind Cng c ny phi dng kt hp vi cng c Bone. Khi s dng cng c Bone trong trng hp 1, ta c th kt hp vi cng c Bind. Vi cng c Bind, bn c th p buc cc thanh ni ph thuc ln nhau. Khi s dng cng c Bind, v bm vo mt thanh ni, s hin ra bn im iu khin i vi thanh ni (trong hnh minh ha bn di, l{ c|c nt c |nh du vng).

Hnh 86 Cng c Bind Tng ng vi c|c im iu khin ny l cc vin ca phn i tng c iu khin bi thanh ni. cho mi mi ni lin kt vi mt mi ni khc, ta s dng cng c Bind, bm chn c|c nt iu khin ny v ko th vo v tr thanh ni khc (thanh ni m{ c|c im ny ph thuc vo).

4.6. Cng c Deco


L cng c trang tr ngh thut. Vi cng c ny, ta c ba hiu ng ty chn: Vine Fill, Grid Fill, Symmetry Brush, 3D Brush, Building Brush, Decorated Brush, Fire Animation, Flame Brush, Flower Brush, Lightning Brush, Particle System, Smoke Animation v Tree Brush. Hiu ng Vine Fill To hiu ng ngh thut dng cy nho. Khi bm chn dng biu tng ny, s xut hin bng thuc tnh sau Leaf: biu tng tng ng vi biu tng l. Nu bn mun thay i, bn ch vic nhp vo Edit v chn dng symbol tng ng. Nu bn mun i mu l, bn nhp vo biu tng Color tng ng vi Leaf. Nu mun s dng hnh mc nh, bn bm chn Default Shape. Flower: ho{n to{n tng t nhng n tng ng vi biu tng hoa. Nu bn mun thay i mu hoa, bn nhp vo biu tng Color tng ng vi Flower. Nu mun s dng hnh mc nh, bn bm chn Default Shape.

- 92 -

CHNG 4. TO HOT CNH

Advanced Option: Branch Angle (gc xoay ca cc cnh nho), Color (mu ca cnh nho), Pattern Scale (ko gin mu c{nh nho) v{ Segment Length ( di ca cc cnh nho). Animate Pattern: xy dng mt nhm ln mt Frame. Chc nng n{y gip to hiu ng ng. Bn c th hiu chnh tc nh vo Frame Step.

Hnh 87 Cng c Deco vi hiu ng Vine Fill Hiu ng Grid Fill Khi bm chn hiu ng Grid Fill, trong bng thuc tnh c cc thuc tnh sau: Fill: nhp chn edit thay i biu tng. Bm vo biu tng color i mu cho biu tng. Bm v{o Default Shape chn hnh mc nh. Advanced Options: Horizontal Spacing (khong cch theo chiu ngang), Vertical Spacing (khong cch theo chiu dc) v{ Pattern Scale ( phng to ca biu tng).

- 93 -

CHNG 4. TO HOT CNH

Hnh 88 Cng c Deco vi hiu ng Grid Fill Hiu ng Symmetry Brush Khi bm chn hiu ng Symmetry Brush, trong bng thuc tnh s hin ra cc thuc tnh sau }y:

Hnh 89 Cng c Deco vi hiu ng Symmetry Brush

- 94 -

CHNG 4. TO HOT CNH

Module: bm edit thay i biu tng. Bm color i mu cho biu tng. Chn Default Shape chn hnh mc nh. Advanced Options: Reflect Across Line (to cp im i xng qua ng chun), Reflect Across Point (to cp im i tng qua im chun), Rotate Around (to c|c im dng vng), Grid Translation (to mt mng c|c im). Test Collisions: cho php trnh hin tng cc biu tng va chm vo nhau. Hiu ng 3D Brush Hiu ng 3D Brush c s dng to cc kiu phi mu t nhiu i tng. Mi mt thao tc phun mu bng hiu ng ny cn s dng ti a 4 i tng.

Hnh 90 Cng c Deco vi hiu ng 3D Brush Vi hiu ng n{y, c|c i tng s c phun theo hiu ng 3D (i tng gn, biu tng xa). thay i c|c i tng, bn ch vic nhp vo nt Edit, v chn mt i tng kh|c thay th. C|c i tng thay th phi l cc biu tng ca Flash (movieclip, button hoc graphic). C|c tnh nng trong mc Drawing Effect n{y ho{n to{n tng t trong hiu ng Vine v Grid. Trong mc Advanced Options c cc ty chn sau }y:

- 95 -

CHNG 4. TO HOT CNH

Max objects: s lng i tng c to cc i trong mi ln phun. Spray area: vng c phun (tnh theo pixel). Perspective: cho php to hiu ng phi cnh hay khng. Distance scale: ko gin theo khong cch ( phng to zoom). Random scale range: T l ko gin ngu nhin (bao nhiu trong s cc biu tng chu t|c ng ca ko gin ngu nhin). Random rotation range: to cc gc quay ngu nhin cho cc biu tng. Hiu ng Building Brush Vi hiu ng Building Brush, bn c th to dng cc ta nh cao tng. Cng c ny rt hu ch trong cc tc v mun xy dng mt th sm ut.

Hnh 91 Cng c Deco vi hiu ng Building Brush Trong mc Advanced Options, c hai chc nng: Ty chn th xung: cho php bn la chn cc mu nh cao tng. Bn c 4 la chn mu nh cao tng skyscraper 1, skyscraper 2, skyscraper 3 v skyscraper 4. Nu bn mun to cc mu nh ngu nhin, bn c th chn Radom Building. Building size: kch thc (theo chiu ngang) ca ta nh.

- 96 -

CHNG 4. TO HOT CNH

Khi xy dng cc ta nh, bn cn lu : sau khi chn cng c Deco v chn mu nh, bn hy nhp chut v ko dc theo hng ln pha trn. Nu cao ca ta nh{ ~ ph hp, bn th chut. Vi hiu ng ny bn c th d dng to dng cc ngi nh cao tng. Bn lu rng, cc ngi nh cao tng n{y c to bng cch lp ghp cc phn li vi nhau to nn mt ta nh hon chnh. Nu bn mun to hiu ng cho mt i tng ngi nh hon chnh, bn cn nhm cc phn ca ngi nh thnh mt i tng. Hiu ng Decorated Brush Vi cng c Decorated Brush, bn c th to c|c ng vin ngh thut theo cc mu c cung cp sn.

Hnh 92 Cng c Deco vi hiu ng Decorated Brush Trong mc ty chn Advanced Option, bn c 3 ty chn: Ty chn th xung: c 20 dng ngh thut ng vin cho bn chn la. Pattern color: chn m{u cho ng vin ngh thut. Pattern size: kch thc ca biu tng ngh thut. Pattern width: rng ca biu tng ngh thut.

- 97 -

CHNG 4. TO HOT CNH

Hiu ng Fire Animation Hiu ng Fire Animation s to ra mt ngn la chy sng. N rt hu dng trong cc tc v cn to dng ngn la. i vi hiu ng ny, mc Advanced Options c cc ty chn sau: Fire size: kch thc ngn la. Fire speech: tc chy ca la. Fire duration: hiu ng ng ca la s din ra trong bao nhiu frame. Bn s thy chnh l{ s keyframe hin th trn thanh TimeLine. Nhng iu ny ch ng trong trng hp ty chn End Animation khng c chn. End Animation: ngn la tn dn (nu c chn), hoc din tin mi mi (nu khng c chn). Flame color: mu pha ra ngoi ca ngn la. Flame core color: mu ca li ngn la. Fire spark: s ngn la.

Hnh 93 Cng c Deco vi hiu ng Fire Animation Thng thng, khi to dng mt hot cnh c s dng n ngn la, bn nn kt hp vi hiu ng to khi (Smoke Animation) m chng ta s tm hiu phn tip theo.

- 98 -

CHNG 4. TO HOT CNH

Hiu ng Flame Brush Hiu ng ny gip to dng cc phun mu theo hnh dng ngn la. Trong mc Advanced Options c 2 ty chn: Flame size: kch thc ca ngn la. Flame color: mu ca ngn la. Hiu ng n{y tng i n gin. N khng c nhiu ng dng trong cc d n thit k phim hot hnh.

Hnh 94 Cng c Deco vi hiu ng Flame Brush Hiu ng Flower Brush Hiu ng ny qu tht rt th v. Nh vo n, chng ta c th to cc cnh hoa. Vi mc Advanced Options, ta c cc ty chn sau: Ty chn th xung: cho php bn chn la cc loi hoa sau: Garden Flower, Rose, PoinSettia v Berry. Flower color: mu cho hoa. Flower size: kch thc ca hoa. Leaf color: mu cho l. Leaf size: kch thc ca l.

- 99 -

CHNG 4. TO HOT CNH

Hnh 95 Cng c Deco vi hiu ng Flower Brush Fruit color: mu ca qu. Ty chn branch: cho php hin th cnh cy hay khng. Nu ty chn ny c kch hot, bn c th chn hiu ng ngay di }y. Branch color: mu ca cnh cy.

Hiu ng Lightning Brush Hiu ng Lightining dng to c|c tia s|ng. N c ng dng trong vic to cc tia st, hoc cc hiu ng phng in khc. Vi mc Advanced Options, bn c cc ty chn sau }y: Lightning color: mu ca tia sng. Lightning scale: ko gin ca tia sng. Ty chn Animation: nu mun to hiu ng ng cho tia sng. Beam width: rng ca tia sng. Complexity: ri ( phc tp) ca chm tia sng.

- 100 -

CHNG 4. TO HOT CNH

Hnh 96 Cng c Deco vi hiu ng Lightning Brush Hiu ng Particle System Hiu ng ny to mt chm ht c phng ra t mt ngun pht. Bn s thy n cng rt hu ch trong nhiu tc v: phun bong bng nc, phun cc ht bi.

Hnh 97 Cng c Deco vi hiu ng Particle System

- 101 -

CHNG 4. TO HOT CNH

Mc Drawing Effect c hai ty chn cho cc loi ht. Bn c th thay i chng nh i vi hiu ng vine, grid v 3D brush. Mc Advanced options c cc ty chn sau: Total length: din tin h{nh ng trn bao nhiu frame. Particle generation: ngun pht cc ht s din ra trn bao nhiu frame. Rate per frame: tc trn mi frame. Life span: mi mt ht s c thi gian tn ti trn bao nhiu frame. Initial speech: tc khi to. Initial size: kch thc khi to. Min initial direction: gc phun nh nht. Max initial direction: gc phun ln nht. Gravity: trng lng ca ht. Rotation rate: tc quay vng ca ht.

Hiu ng Smoke Animation Hiu ng n{y tng t vi hiu ng Fire Animation. N dng to hiu ng bc khi. Thng hiu ng ny s dng kt hp vi hiu ng Fire Animation.

Hnh 98 Cng c Deco vi hiu ng Smoke Animation Trong mc Advanced options c cc ty chn sau }y:

- 102 -

CHNG 4. TO HOT CNH

Smoke size: kch thc ca khi. Smoke speed: tc khi. Smoke duration: din tin ca hiu ng khi trn bao nhiu frame. Cng tng t Fire Animation, s keyframe trn Timeline s chnh l gi tr ca Smoke duration trong trng hp ty chn End Animation khng c chn. End Animation: hiu ng khi bc ln v tan bin vo khng kh (nu ty chn n{y c chn) v khng tan bin vo khng kh (trong trng hp ty chn ny khng c chn). Smoke color: mu ca khi. Background color: mu ca khi khi khi dn tan vo khng kh. Hiu ng Tree Brush Hiu ng ny s dng to cc loi cy khc nhau. Flash cung cp cho ta kh nhiu dng c}y s dng.

Hnh 99 Cng c Deco vi hiu ng Tree Brush Trong mc Advanced options c cc ty chn sau }y: Ty chn th xung: cho php bn chn la cc loi cy. Flash cung cp sn cho chng ta 20 loi cy khc nhau. Tree scale: ko gin ca cy.

- 103 -

CHNG 4. TO HOT CNH

Branch color: mu ca cnh cy. Leaf color: mu ca l cy. Flower/Fruit color: mu ca hoa hoc qu. Vi cng c Deco, bn th sc sng tc cc kch bn cho c|c thc phim hot hnh ca bn cng nh cho game. D rng cng c Deco n{y ~ c trong phin bn CS4, nhng vi phin bn CS5 ny, cng c n{y ~ ho{n thin hn, cung cp cho ta nhiu ty chn hn sng tc. Mc tiu ca Adobe t ra qua mi phin bn l{ l{m sao n gin ha cng vic thit k cho ngi dng, m rng phm vi i tng s dng khng ch d{nh cho ngi dng chuyn nghip m cn hng n ngi dng ph thng.

4.7. Cng c 3D Translation v 3D Rotation


Cng c 3D Translation Cng c ny cho php chng ta c th to chuyn ng 3D cho i tng. Nh ta ~ tho lun trn, cng c ny ch hot ng i vi i tng c to Motion Tween. V d sau }y s minh ha cho vic s dng cng c 3D Translation. Trong v d ny, ta s to mt mt phng v cho php n chuyn ng trong khng gian 3 chiu. l{m c iu ny, chng ta s thao t|c theo c|c bc sau }y: - Bc 1. Trn Layer 1, bn hy mt hnh bnh hnh (s dng cng c hnh ch nht v cng c Free Transform) tng trng cho mt phng v trn Layer 2 bn hy to mt h ta Descartes 3 chiu nh hnh minh ha. - Bc 2. Chn hnh bnh hnh, kch chut phi v chn Create Motion Tween Sau , bm chn cng c 3D Translation. Bn c th s dng cng c n{y di chuyn mt phng theo cc chiu x (trc ngang), y (trc ng) v{ z (im chm trung tm). - Bc 3. m bo rng trc ta m ta to tn ti song song vi cc layer ca mt phng, ta hay chn Frame trn TimeLine ca n tng ng vi Frame cui cng ca TimeLine mt phng. Sau nhn phm F5. - Bc 4. Nhn t hp Ctrl+Enter kim tra kt qu.

- 104 -

CHNG 4. TO HOT CNH

Hnh 100 Cng c 3D Translation Cng c 3D Rotation Cng c ny cho php chng ta c th xoay chuyn 3D cho i tng. Nh ta ~ tho lun trn, cng c n{y cng ch hot ng i vi i tng c to Motion Tween. Bn thao t|c ho{n to{n tng t v d sau trn. Nhng }y, mt phng s xoay chuyn 3D trong khng gian. l{m c iu ny, chng ta s thao tc theo cc bc sau }y: - Bc 1. Trn Layer 1, bn hy mt hnh bnh hnh (s dng cng c hnh ch nht v cng c Free Transform) tng trng cho mt phng v trn Layer 2 bn hy to mt h ta Descartes 3 chiu nh hnh minh ha. - Bc 2. Chn hnh bnh hnh, kch chut phi v chn Create Motion Tween Sau , bm chn cng c 3D Rotation. Bn c th s dng cng c n{y xoay chuyn mt phng theo cc chiu x (trc ngang), y (trc ng) v z (vng trn bn trong) .

- 105 -

CHNG 4. TO HOT CNH

Hnh 101 Cng c 3D Rotation - Bc 3. m bo rng trc ta m ta to tn ti song song vi cc layer ca mt phng, ta hay chn Frame trn TimeLine ca n tng ng vi Frame cui cng ca TimeLine mt phng. Sau nhn phm F5. - Bc 4. Nhn t hp Ctrl+Enter kim tra kt qu.

- 106 -

CHNG 4. TO HOT CNH

Tng kt chng 4
Trong chng n{y, chng ta ~ tm hiu cch to chuyn ng cho c|c i tng. }y, chng ta ~ cng nhau tm hiu v k thut Frame by Frame, k thut Tween, cc cng c to hot hnh nh Bone, Bind, 3D, Deco. K thut Frame by Frame tuy ~ c, nhng n vn rt hu ch trong nhiu tc v. K thut Tween c chia lm ba loi: Classic Tween, Motion Tween v Shape Tween. Mi cng c u c nhng nt c trng ring. Classic Tween v{ Motion Tween tuy c nhiu im tng ng, nhng chng khng phi lc n{o cng c th thay th cho nhau: Classic Tween h tr Action Frame cn Motion Tween th khng; Motion Tween khng cn to KeyFrame nn n gin hn, hiu qu hn Classic Tween; Motion Tween h tr cc hiu ng 3D cn Classic Tween th khng. Cc cng c to hot hnh nh Bone, Bind, 3D v{ Deco cng rt hu ch. Chng c th s dng c lp hay kt hp vi k thut Tween. Nh nhng cng c mi ny, vic to hot hnh cho i tng tr nn n gin hn rt nhiu.

- 107 -

CHNG 4. TO HOT CNH

Blank Page

- 108 -

CHNG 5. LP TRNH VI ACTIONSCRIPT

CHNG 5. LP TRNH VI ACTIONSCRIPT


ActionScript l mt ngn ng lp trnh hng i tng c dng pht trin cc ng dng nh vo Adobe Flash Player v Adobe AIR. Ngn ng lp trnh ActionScript c th c bin dch bi: - Adobe Flex Builder. - Adobe Flash Professional. - Command Line nh vo b SDK. Cng tng t nh Java, sau khi c bin dch, cc ActionScript s c chuyn thnh dng bytecode m ch c my o ActionScript (AVM) mi hiu c. My o ActionScript n{y c tch hp bn trong Flash Player, Flash Plugin v Adobe AIR. Ngn ng lp trnh ActionScript (AS) l ngn ng c c php kt hp ca c Java v Delphi (c php v t kha ging Java, cch khai bo ging Delphi). Nu bn ~ tng lm quen vi ngn ng lp trnh Java, th khi lm quen vi ngn ng lp trnh ActionScript, bn s cm thy n gin hn rt nhiu. Cc ton t, cc cu lnh tng t nh Java. Mt iu c bit, l{ lp ca ActionScript c c php khai bo v cch s dng rt ging vi Java. Dng nh Adobe ~ thit k nn ngn ng ActionScript theo chun ca Java to nn s n gin v quen thuc vi a s ngi dng. Bn cng cn lu rng, chng ta ang tho lun v phin bn 3.0 ca AS. }y l{ phin bn mi nht cho n thi im ny. AS l ngn ng hng i tng nh Delphi (hay C++), ngha l{ khng tuyt giao vi lp trnh hng th tc (bng chng l ta c th vit hm bn ngoi lp). AS l ngn ng phn bit ch hoa v ch thng. Mt v d kinh in khi hc mt ngn ng lp trnh l{ v d Hello, world !. Thng qua v d kinh in ny, chng ta s c c ci nhn tng quan v ngn ng ActionScript ny. Bn hy quan st v d minh ha ny c vit trn ngn ng lp trnh ActionScript. Bn cng cn lu rng, on chng trnh n{y c vit bn ngoi lp (th hin tnh lng cc gia hng i tng v{ hng th tc).

CHNG 5. LP TRNH VI ACTIONSCRIPT

Hnh 102 Giao din ActionScript 3. Trong v d ny, bn c th thy nhiu im tng ng gia AS vi Java l: du comment (// - comment trn mt dng v /**/ - comment trn nhiu dng), cch vit ni dung hm (nm trong cp du {}) v ch c mt khi nim l hm (tr v kiu d liu hoc khng tr v kiu d liu). C|c im tng ng vi Delphi: t kha khai bo hm l function v kiu d liu hm tr v nm sau tn hm v du hai chm. Mt im khc bit ca AS so vi Java v Delphi l{ chng trnh chnh nm t do trong vng son tho (khng ging Java phi trong hm main, Delphi trong begin v end). N c th nm trc hay sau c|c h{m khai b|o. quy c v trt t s dng, ta s s dng c php tun t (lnh trc thc hin trc, lnh sau thc hin sau) ngha l phn chng trnh chnh lun nm pha sau cng v ta s |nh du n bng dng comment /*Chng trnh chnh*/. Bn cng cn lu rng, AS l ngn ng kch bn (scripting language), nn n cng mang nhiu c trng ca mt ngn ng kch bn. Cc cu lnh nm t do, khng nht thit phi c t trong mt hm c th n{o, }y chnh l{ t trng d nhn thy ca mt ngn ng kch bn (nh JavaScript, Jscript).

- 110 -

CHNG 5. LP TRNH VI ACTIONSCRIPT

Chng ta s tm thy nhiu im tng ng v khc bit ca AS so vi hai ngn ng Java v Delphi (nu bn ~ tng l{m quen vi hai ngn ng ny). Chng ta s ln lt tm hiu c php ca ngn ng lp trnh AS ny. Xin nhc li l phin bn ActionScipt m{ ta ang tho lun l ACTIONSCRIPT 3.0.

5.1. C|c kiu d liu


}y ta tho lun v cc kiu d liu trn h Windows 32 bit. Cc kiu d liu m ta tho lun l kiu nguyn thy. Trong AS, mi kiu d liu u tng ng vi mt lp d liu to ra n: kiu int v lp int, kiu Number v lp Number... a. Kiu s nguyn C hai dng s nguyn c h tr trong AS l kiu s nguyn c du int v s nguyn khng du uint. C hai loi s nguyn n{y iu chim 4byte, ngha l{ vng gi tr ca int l -231 n 231-1 v gi tr ca uint l{ 0232-1. Bn lu rng, trong cc kiu d liu, th ch c kiu s nguyn c ch c|i u tin vit thng. b. Kiu s thc S thc du chm ng theo chun IEEE-754. S thc trong AS chim 32 bit. T kha khai bo l Number. Bn lu Number vit hoa ch c|i u tin. c. Kiu Boolean Kiu Boolean trong AS c hai gi tr l true v false. Bn lu Boolean vit hoa ch c|i u tin, true v false vit thng mi ch ci. d. Kiu xu String Xu k t c |nh du t 0. Phn t cui cng trong xu c ch s l xu.lengh1. Kiu x}u c khai bo nh t kha String. Bn cng cn lu rng String vit hoa ch c|i u tin. e. Kiu mng Array Vic |nh du trong Array ho{n to{n tng t String. Kiu Array cng vit hoa ch c|i u tin. f. Kiu i tng Object Tng t kiu Struct ca C. Nhng mm do hn rt nhiu. Chng ta s thy r iu n{y qua c|c chng trnh trong gi|o trnh n{y.

- 111 -

CHNG 5. LP TRNH VI ACTIONSCRIPT

x l cc d liu lin quan n cc kiu d liu nguyn thy ny ta phi lm vic vi cc lp i tng tng ng: kiu int v uint vi lp int v uint, kiu Number vi lp Number, kiu String vi lp String, kiu Array vi lp Array v kiu i tng Object. Chi tit v c|c phng thc x l ca cc lp ny ta s tho lun sau khi tm hiu v lp trong AS.

5.2. Bin v{ Hng


a. Bin: c gi tr thay i c. Khi khai bo mt bin ta khai bo theo c php sau: var tn_bin:Kiu_D_Liu [= gi_tr_khi_to]; Khi khai bo mt bin, bn phi s dng t kha var. Ta c th ly mt vi v d v khai bo bin trong AS var a:int = 1; var b:Number; b = 1.5; //C|c dng khai b|o sau tng ng var s:String = Hello; var s:String = new String(Hello); var s:String = String(Hello); //Kt thc tnh tng ng //C|c dng khai b|o sau tng ng var ar:Array = new Array(a, b); var ar:Array = new Array(3); //Kt thc tng ng var myAssocArray:Object = {fname:"John", lname:"Public"}; trace(myAssocArray.fname); // John

trace(myAssocArray["lname"]); // Public

- 112 -

CHNG 5. LP TRNH VI ACTIONSCRIPT

myAssocArray.initial = "Q"; trace(myAssocArray.initial); // Q Bn c th khi to gi tr cho bin ti thi im khai bo bin hoc khai bo bin v khi to gi tr cho bin sau. b. Hng: c gi tr khng thay i. Trong AS, khai bo hng ta thay t kha var trong khai bo bin bng t kha const. Bn lu rng khi khai bo hng bn cn phi b sung gi tr cho n. Ngha l{ c ph|p khai bo hng phi tun theo quy tc sau const tn_hng:Kiu_D_Liu = gi_tr_khi_to; Bn lu rng, gi tr khi to khng ging trong trng hp khi to cho bin l c th c hoc khng, i vi hng bt buc phi c. Cc bn c th quan st cc khai bo hng sau }y const a:int = 1; const s:String = abc;

5.3. To|n t v{ Biu thc


Ton t l{ c|c php to|n c s dng trong AS. Cc gi tr c s dng cho ton t gi l ton hng. Biu thc l tp hp cc ton t v ton hng c sp xp theo mt trt t c ngha. Ton t gn Ton t g|n dng gn gi tr cho mt bin. V d a = 5; Cu lnh gn s thc hin gn gi tr bn phi cho bin bn tri. Bn cng c th gn gi tr ca hai bin cho nhau. V d a = b; a = b + 2; a = a + 1; a = b = c = 5; Gi tr ca a bng gi tr ca b cng thm 2 Tng gi| tr ca a ln 1 G|n ng thi nhiu gi tr. N tng ng vi tp cc lnh sau:

- 113 -

CHNG 5. LP TRNH VI ACTIONSCRIPT

c = 5; b = c; a = b;

Ton t thc hin php ton s hc Ngn ng lp trnh AS h tr cc ton t s hc sau y Ton t + * / % ngha Php cng Php tr Php nhn Php chia (chia nguyn i vi s nguyn) Chia ly d (ch vi s nguyn)

Bn lu rng, php chia c th thc hin trn s nguyn hoc s thc. Nu thc hin php chia trn hai s nguyn th }y chnh l{ kt qu ca php chia ly phn nguyn. Cn nu n thc hin trn hai s thc, th n l kt qu ca php chia bnh thng. Nh vy, theo mc nh, hai s nguyn (hoc thc) thc hin php to|n tng ng th n s tr v kt qu nguyn (hoc thc). Nu php ton thc hin trn mt s nguyn v mt s thc, n s t ng chuyn i v kiu cao hn (th{nh s thc). Vy lm th n{o thc hin php chia 3 cho 2, nu ta mun nhn c kt qu l 1.5. Ta bit rng 3 v 2 l hai s nguyn, nu ta thc hin php chia 3/2 th ta thu c s nguyn l kt qu ca php chia nguyn 3/2, tc l 1. Mun thu c kt qu 1.5, bn cn chuyn i 3 v 2 v dng s thc bng mt trong cc cch sau: Khai bo 3 v 2 l cc s thc (bng c|ch quy nh kiu d liu nh a:Number = 3, b:Number = 2 hoc 3.0, 2.0). Chuyn i kiu d liu (Xem thm phn ton t chuyn i kiu d liu).

- 114 -

CHNG 5. LP TRNH VI ACTIONSCRIPT

Ton t logic Ton t Ton t ph nh ! Php ton Php ton mt ngi !a A true false true Php ton hai ngi Ton t v && a&&b true false false true Ton t hoc || Php ton hai ngi a||b true false false b true false true false true false true false Kt qu false true true false false false true true true false

Ton t dch bit Cc ton t n{y c s dng n tnh ton trn cc s nguyn bng cch s dng cc bit. Ton t Tn gi V d 210=102 & Php V{ bit 2&3=2 310=112 210=102 210=102 | Php hoc bit 2|3=3 310=112 310=112 ^ Php hoc loi 2^3=1 210=102

- 115 -

CHNG 5. LP TRNH VI ACTIONSCRIPT

bit

310=112 110=012

<< >> ~

Dch tri bit Dch phi bit Ph nh bit

2<<3=16 2>>3=0 ~2=1

2*23=2*8=16 2/23=2/8=0 210=102 110=012

Cc ton t v bit, hoc bit, hoc loi bit v ph nh bit c tnh nh sau: chng ta chuyn i cc s thp phn sang nh ph}n tng ng, sau s dng cc php to|n tng ng cho tng bit theo v tr ca n. V d nh trn 210=102, 310=112 v ta s thc hin c|c php to|n tng ng vi tng bit. Bit th nht (t phi sang tri) l 0&1=1, bit th hai 1&1=1, nh vy kt qu ca php ton 2&3 l 102 hay 210. Tng t cho cc php ton cn li. }y bn lu rng php ton tuyn loi s c chn tr l 1 nu hai bit tng ng l khc nhau, nu ging nhau th tng ng l 0(1^1=0^0=0, 1^0=0^1=1). Cc ton t << v >> s c tnh nh sau: a<<b=a*2b v a>>b=a/2b. Ton t gn hp nht Khi mun thay i gi tr ca mt bin, chng ta c th s dng cch vit thng thng, tuy nhin AS cng h tr cc ton t vit tt. Ton t += -= *= /= %= &= a+=b a-=b a*=b a/=b a%=b a&=b V d a=a+b a=a-b a=a*b a=a/b a=a%b a=a&b ngha Phm vi Php ton s hc Php ton s hc Php ton s hc Php ton s hc Php ton s hc Php ton bit

- 116 -

CHNG 5. LP TRNH VI ACTIONSCRIPT

|= ^= >>= <<=

a|=b a^=b a>>=b a<<=b

a=a|b a=a^b a=a>>b a=a<<b

Php ton bit Php ton bit Php ton bit Php ton bit

Ton t tng v gim Mt cch vit thu gn hn na, l{ s dng ton t tng v{ gim. Nu trong biu thc a+=b, vi b = 1 th ta c th vit th{nh a++. Tng t, nu a-=b, b = 1 th ta c th vit a--. Chng ta cng lu rng, ton t ny c cht khc bit. N c th nm trc hoc nm sau ton hng. C ngha l{ c th c a++ hoc ++a (tng ng a-hoc --a). Php ton a++; ++a; a--; --a; ngha Thc hin php to|n trc, sau mi thc hin ton t Thc hin ton t trc, sau mi thc hin php ton Tng t a++; Tng t ++a;

V d a:int = 1;

Cch thc thi a = 1, b cha khi to

b:int = 1;

a = 1, b = 1

a+=b++;

Thc hin php to|n a+=b trc, sau mi thc hin php ton b++. Tc l a=2, b=2.

- 117 -

CHNG 5. LP TRNH VI ACTIONSCRIPT

a+=++b;

Thc hin php to|n ++b trc, sau mi thc hin php ton a+=b. Tc l b=3, a=5.

Ton t so snh thc hin vic so snh gi tr ca hai bin, biu thc; ta c th s dng ton t so snh. Gi tr ca php ton so snh tr v kiu bool. Ton t == != > < >= <= Bng Khc Ln hn B hn Ln hn hoc bng B hn hoc bng Tn gi Gi tr biu thc a Ton t b ng Nu a bng b Nu a khc b Nu a ln hn b Nu a nh hn b Sai Nu a khc b Nu a bng b Nu a nh hn hoc bng b Nu a ln hn hoc bng b

Nu a ln hn hoc Nu a nh hn b bng b Nu a nh hn hoc Nu a ln hn b bng b

Bn hy cn thn khi s dng ton t so snh bng. Hy ch rng ton t so snh bng l ==, khc vi ton t gn =. Ton t iu kin Ton t iu kin c dng c ph|p nh sau: iu_kin?kt_qu_1:kt_qu_2;

- 118 -

CHNG 5. LP TRNH VI ACTIONSCRIPT

Kt qu tr v gi tr kt_qu_1 nu iu_kin l{ ng, ngc li, nu iu_kin l sai, th tr v gi tr kt_qu_2. V d a:int = 1; b:int = 2; c:int; c = (a>b)?a:b; trace(c); Kt qu 2

Ton t phn tch Ton t ny k hiu l du phy. N dng phn tch hai hay nhiu biu thc cha trong mt biu thc tng ng. V d a:int; b:int; c:int; c = (a=1, b=2, a+b); trace(c); Kt qu 3

Ton t chuyn i kiu d liu Ton t n{y dng chuyn i mt bin hay hng thuc kiu d liu ny sang kiu d liu khc. Gi s bn c bin int a = 3, int b = 2. Khi thc hin php chia nhn c kt qu thc, bn ch cn vit nh sau: (Number)3/2. Bn phi lu rng s 3 }y ~ b chuyn thnh kiu thc, v vic thc hin php chia mt s thc cho s nguyn s tr v kiu thc 1.5. Nu bn vit 3/(float)2, kt qu cng tng t. Trong C, nu bn vit (float)(3/2) th kt qu li khc. S d nh vy l v, n s thc hin php chia nguyn 3/2 (kt qu l{ 1), sau n s

- 119 -

CHNG 5. LP TRNH VI ACTIONSCRIPT

chuyn gi tr 1 nguyn ny sang 1 thc. Nhng vi AS th kt qu tng t hai trng hp trn. Cch biu din s chuyn i mt bin thuc kiu d liu ny, sang kiu khc ch c th thc hin nu kiu ca chng tng ng. Bn c th chuyn s thnh s (sau ny khi hc v hng i tng, bn c th chuyn gia c|c i tng tng ng). Bn khng th chuyn i t s th{nh x}u, hay ngc li. Khi chuyn i, bn s dng mt trong cc c php sau: (kiu_d_liu)bin hoc (kiu_d_liu)(bin) hoc kiu_d_liu(bin). Th t u tin ca cc ton t Trong ton hc, chng ta bit rng khi tnh gi tr ca mt biu thc, th lun c s u tin ca cc ton t nh: php nh}n thc hin trc php cng, php chia v nhn thc hin ng thi, u tin t tri sang phi Trong lp trnh C++ cng vy, cc ton t cng c nhng u tin nht nh. Trong mt biu thc phc tp, bn nn ch n u tin ca cc ton t, iu ny rt d gy ra sai st. Trong bng sau }y, chng ti xin a ra th t u tin ca cc ton t trong lp trnh AS Mc u tin Ton t 1 2 :: u tin cng loi Tri-sang-phi

() [] . -> ++ -- (hu t) dynamic_cast Tri-sang-phi static_cast reinterpret_cast const_cast typeid ++ -- (tin t) ~ ! sizeof new delete *& + - (du dng m) Phi-sang-tri

4 5 6 7 8

(type) (chuyn i kiu) .* ->* */% + - (php ton cng, tr) << >>

Phi-sang-tri Tri-sang-phi Tri-sang-phi Tri-sang-phi Tri-sang-phi

- 120 -

CHNG 5. LP TRNH VI ACTIONSCRIPT

9 10 11 12 13 14 15 16 17 18

< > <= >= == != & ^ | && || ?: = *= /= %= += -= >>= <<= &= ^= |= ,

Tri-sang-phi Tri-sang-phi Tri-sang-phi Tri-sang-phi Tri-sang-phi Tri-sang-phi Tri-sang-phi Phi-sang-tri Phi-sang-tri Tri-sang-phi

Cc ton t c thc hin theo mc u tin t trn xung. Nu cc ton t cng mc, n s c thc hin theo u tin cng loi.

5.4. C|c cu trc lnh iu khin


5.4.1. Cu lnh if C php if (biu_thc_iu_kin_ng){ Thc hin lnh 1; }else{ //biu thc iu kin sai Thc hin lnh 1; } V d V d Kt qu

- 121 -

CHNG 5. LP TRNH VI ACTIONSCRIPT

var a:int = 5; if ((a%2==0)&&(a>0)){ trace(a+ l{ s dng chn); }else{ //biu thc iu kin sai trace(a+ khng l{ s dng chn); }

5 khng l s dng chn

Bn cng lu rng cc cu lnh if cng c th lng v{o nhau, ngha l{ bn trong cu lnh if cn c th cha cu lnh if khc. }y cng l{ tnh hung rt thng gp. 5.4.2. Cu lnh switch C php switch(tn_bin){ case gi_tr_1: Lnh 1; break; case gi_tr_(n-1): Lnh n-1; break; default: Lnh n; } V d

- 122 -

CHNG 5. LP TRNH VI ACTIONSCRIPT

V d var a:int = 2; switch(a){ case 0: trace(S Khng); break; case 1: trace(S Mt); break; default: trace(Khng bit); }

Kt qu Khng bit

5.4.3. Cc cu lnh lp for, while v dowhile Ngn ng AS cung cp cho chng ta ba dng vng lp for: for, forin v{ for eachin. a. Cu lnh lp for C php for(var i:int = bt_khi_to; bt_gii_hn; bt_tng){ Lnh; } V d V d Kt qu

- 123 -

CHNG 5. LP TRNH VI ACTIONSCRIPT

for(var i:int = 0; i<3; i++){ trace(i); }

0 1 2

b. Cu lnh lp forin C php

for(var index in Mng){ Lnh; }


V d V d var items:Array = new Array(1, 2, 3); for(var index in items){ trace(items[index]); } 1 2 3 Kt qu

Trong cu lnh forin n{y, th bin index l mt ch s. N c khai bo trc tip trong vng lp for }y l{ mt im t bit i vi vng lp for. c. Cu lnh lp for eachin C php for each(var item in Mng){ Lnh; } V d

- 124 -

CHNG 5. LP TRNH VI ACTIONSCRIPT

V d var items:Array = new Array(1, 2, 3); for each (var item in items){ trace(item); } 1 2 3

Kt qu

Khc vi cu lnh forin, bin item trong cu lnh for eachin l mt phn t ca mng ch khng phi l ch s nh trong trng hp trn. N cng c khai bo trc tip trong vng lp for. d. Cu lnh lp while Nu biu thc iu kin ng th lp li qu trnh thc thi lnh. Ngha l{ c}u lnh while lun kim tra biu thc iu kin trc khi thc hin lnh. Nu biu thc iu kin sai ngay t u th lnh s khng c thc hin. C php while(biu_thc_iu_kin){ Lnh; } V d V d var i:int = 3; while (i>0){ trace(i); i--; } 3 2 1 Kt qu

- 125 -

CHNG 5. LP TRNH VI ACTIONSCRIPT

e. Cu lnh lp dowhile Thc hin lnh, sau kim tra biu thc iu kin, nu biu thc iu kin cn ng th lnh s tip tc c thc hin. Khc vi lnh while, i vi lnh dowhile th lnh bn trong n c thc hin t nht mt ln. C php do{ Lnh; } while(biu_thc_iu_kin); V d V d var i:int = 3; do{ trace(i); i--; } while (i>0); 3 2 1 Kt qu

5.4.4. Cc lnh continue, break v return Lnh continue: lnh ny cho php nhy qua mt vng lp v thc hin lnh tip theo. V d for (var i:int = 0; i<4; i++){ if(i%2==0) continue; else trace(i); }; 1 3 Kt qu

- 126 -

CHNG 5. LP TRNH VI ACTIONSCRIPT

Lnh break: cho php thot khi vng lp. V d var i:int = 0; do{ trace(i); if (i>=5) break; else i++; } while (true); 0 1 2 3 4 5 Kt qu

Lnh return: tr v gi tr cho hm (nu return nm trong hm) v kt thc chng trnh (nu lnh return nm trong chng trnh chnh).

5.5. Hm
a. Khai bo v s dng C php function tn_hm(ds_tham_s):kiu_d_liu_tr_v{ thn hm; } V d V d function showMsg():void{ trace(Hello); } function Add(a:int, b:int):int{ return a+b; Hello 3 Kt qu

- 127 -

CHNG 5. LP TRNH VI ACTIONSCRIPT

} showMsg(); trace(Add(1,2));

b. Vn tham bin v tham tr Trong AS cc tham s c truyn theo tham tr nu chng thuc kiu d liu nguyn thy. Nu mun truyn tham s theo tham bin, bn cn s dng mt kiu d liu tham chiu nh kiu i tng Object. Tham tr function noSwap(a:int, b:int):void{ c:int = a; a = b; b = c; } a:int = 1; b:int = 2; noSwap(a, b); trace(a+, +b); //Kt qu l: 1, 2 } var myObj:Object = {x:1, y:2}; Swap(myObj); trace(myObj.x+", "+myObj.y); //Kt qu l: 2, 1 Tham bin function Swap(Obj:Object):void{ Obj.a = tempObj.x; Obj.x = tempObj.y; Obj.y = tempObj.a;

c. Hm vi tham s mc nh V d Kt qu

- 128 -

CHNG 5. LP TRNH VI ACTIONSCRIPT

function Add(a:int, b:int = 0, c:int = 0):int{ return a+b+c; } trace(Add(1)); trace(Add(1,2)); trace(Add(1,2,3));

1 3 6

Vi nhng tham s c quy nh l mc nh, khi gi hm chng c th khng cn xut hin trong tham s ca hm, v{ khi tham s s nhn gi tr mc nh m{ ta ~ quy c. d. Hm vi s lng tham s khng xc nh lm vic vi loi hm cha tham s dng ny, AS cung cp cho ta cng c gi l (rest) tham s. V d function Add(...args):int{ var sum:int = 0; for (var i:int = 0; i<args.length;i++) sum+=args[i]; return sum; } trace(Add(1)); trace(Add(1,2)); trace(Add(1,2,3)); 1 3 6 Kt qu

e. Kiu d liu hm

- 129 -

CHNG 5. LP TRNH VI ACTIONSCRIPT

Bn c th khi gn mt bin cho mt h{m c khai bo. Vic ny s gip bn to ra hai hm c chc nng ging nhau. V d var Cong = function Add(a:int, b:int):int{ return a+b; } trace(Cong(1,2)); 3 Kt qu

5.6. Lp v{ i tng
5.6.1. Xy dng lp H{m c xy dng da theo c ph|p sau }y public class Tn_class{ //Khai bo thuc tnh ca lp //Phng thc khi to //Phng thc getter v setter //C|c phng thc khc }

Trong , class l{ t kha bt buc khi dng khai bo lp. Mt lp i tng bao gm c|c phng thc v thuc tnh ca n. Cc thuc tnh bao gm cc tnh cht m t i tng. C|c phng thc gip i tng thc thi h{nh ng ca mnh. Khi khi to mt i tng, thng thng ta s xy dng mt hm to hoc s dng phng thc setter khi gn gi tr cho i tng. Phng thc getter gip ta nhn c cc gi tr t cc thuc tnh ca i tng. V d sau }y m t vic xy dng mt lp c tn l SinhVin. V d

- 130 -

CHNG 5. LP TRNH VI ACTIONSCRIPT

public class SinhVien{ private var ten:String; private var tuoi:uint; public function SinhVien(ten:String, tuoi:uint){ this.ten = ten; this.tuoi = tuoi; } public function toString():String{ return Ti l: +ten+, +tuoi+ tui.; } }

Trong v d ny, bn lu rng phng thc v thuc tnh u c khai bo ch nh l public, protected v private. Vi t kha private th thuc tnh v{ phng thc ch cho php truy cp bi c|c phng thc ni ti ca lp . Ngc li, vi t kha protected th phm vi truy xut l tt c cc lp trong cng mt package. Vi public th phm vi truy xut l tt c cc lp d l trong hay ngoi package. Vi class c cc t kha ch nh sau: - dynamic: cc thuc tnh c th c b sung vo trong th hin lp ti thi im runtime. - internal: c th c nhn thy trong cng mt package. - final: khng cho php tha k. - public: c th c nhn thy bt k }u. Tnh tha k AS cng l{ ngn ng n tha k, ngha l{ mt lp ch c th tha k t mt lp c s. th hin tnh tha k, AS cung cp cho ta t kha extends. Khi thc thi

- 131 -

CHNG 5. LP TRNH VI ACTIONSCRIPT

tnh k tha, lp c s hoc khng cha hm to hoc cha hm to mc nh (hm to khng i s). V d sau }y s minh ha cho tnh tha k. Lp Human c hai thuc tnh l tn v tui. Lp SinhVien k tha t lp Human ny, n b sung thm thuc tnh ids. Phng thc toString trong lp SinhVien ghi chng ln phng thc toString ca lp c s Human nh t kha override. V d //Lp c s Human public class Human{ protected var ten:String; protected var tuoi:uint; public function toStrings():String{ return "Ti l: "+ten+", "+tuoi+" tui."; } } //Lp tha k SinhVien public class SinhVien extends Human{ private var ids:int; public function SinhVien(ten:String, tuoi:uint, ids:int) { this.ten = ten; this.tuoi = tuoi; this.ids = ids; } override public function toString():String{ return this.ten+", "+this.tuoi+", "+this.ids;

- 132 -

CHNG 5. LP TRNH VI ACTIONSCRIPT

} }

Giao din interface D tnh n tha k phn |nh ng vi thc t ca mi thc th, tuy nhin tnh a tha k mang li cho ta sc mnh trong lp trnh hng i tng. Do vy, cng nh a s ngn ng lp trnh n tha k kh|c, AS cng b sung khi nim giao din interface. Tuy nhin, theo nh ngha ca giao din trong cc ngn ng lp trnh hng i tng khc, n l mt lp abstract hon ho (abstract hon to{n), cn trong AS dng nh ta cn thay i khi nim ny. S d nh vy, v trong AS khng h tr lp abstract. Ta c th hiu giao din trong AS nh sau: giao din l mt lp ch cha khai b|o phng thc, khng cha thuc tnh. Mt lp ch tha k mt lp c s, nhng n c th thc thi nhiu giao din. V d sau }y s minh ha vic to hai giao din l Animal v Meo. Lp MeoDen s thc thi hai giao din ny. V d //Giao din Animal public interface Animal { function Go():void; function Eat():void; } //Giao din Meo public interface Meo { function Sound():void; } //Lp MeoDen thc thi hai giao din Animal v Meo public class MeoDen implements Animal, Meo{

- 133 -

CHNG 5. LP TRNH VI ACTIONSCRIPT

public function MeoDen() { trace("Ti l{ Mo en."); } public function Go():void{ trace("Ti i !"); } public function Eat():void{ trace("Ti n !"); } public function Sound():void{ trace("Ti ku !"); } }

5.6.2. Lm vic vi i tng a. To s th hin ca lp Khi hc v lp trnh hng i tng, ta ~ bit rng: mt thc th trong th gii thc c cc h{nh ng v tnh cht. Khi xy dng lp m t thc th ta s dng phng thc v thuc tnh m t. Mt i tng l{ mt s th hin ca lp. V d ta c lp i tng SinhVien nh trn, th khi to i tng ta c th s dng c php sau SinhVien sv = new SinhVien(); }y, sv l{ mt i tng th hin ca lp SinhVien. C l sau khi lm quen vi cch khai bo lp trn, bn s thc mc: lm th n{o kim tra cc lp trn vit ng cha ? C}u tr li l chng ta cn c{i t debug. Nhng mi trng Flash khng cho php chng ta bin dch cc file ActionScript mt cch ring l, cc file ny mun thc thi c cn s dng bn trong ActionScript ca phim Flash. V d, bn c th to mi mt d n Flash, gi s bn t tn cho n l

- 134 -

CHNG 5. LP TRNH VI ACTIONSCRIPT

MainPrj.fla. Bn tip tc to mi mt ActionScript 3.0 v{ t tn cho n l SinhVien, sau lu file n{y li vi tn SinhVien.as. Trong file ActionScript ny, bn hy vit mt class nh trn. Bn quay tr li vi file MainPrj.fla, nhn F9 quay tr li vi giao din vit Action ca Flash. Trong giao din ny, bn hy to mt i tng. Gi }y, bn hon ton c th debug phim bng cch nhn Ctrl+Enter. Vi nhng d n phc tp, ta cn t chc cc lp theo c|c package. l{m iu ny, ta hy to c|c th mc vi tn gi khc nhau (tn ca chng cng chnh l{ tn ca package). Khi to lp, bn h~y t n trong package vi c php sau: package Tn_Package{ //Khai bo lp } iu ny s gip bn qun l tt hn c|c lp ca mnh. Package hon ton ging namespace trong .NET. Khi bn l{m iu ny, bn cng lu rng trong Action ca Flash, bn cn import cc lp n{y v{o s dng nh t kha import. import Tn_Package.Tn_Lp; Bn hy th hon tt cc v d trn nh vo package. b. i tng ca lp s nguyn int v uint Hm to Tn hm Hm to int(Number) Chc nng Hm khi to cho lp int.

toExponential(Number) Tr v nh dng s dng 3.1e+5. Ngoi l RangeError toString() valueOf() Tr v nh dng xu ca s Tr v gi tr nguyn thy ca i tng int.

c. i tng ca lp s thc Number Tn hm Chc nng

- 135 -

CHNG 5. LP TRNH VI ACTIONSCRIPT

Hm to int(Number)

Hm khi to cho lp int

toExponential(Number) Tr v nh dng s dng 3.1e+5. Ngoi l RangeError toFixed(Number) toPrecision(Number) toString() valueOf() C nh s ch s thp phn Tr v chnh x|c n num Tr v nh dng xu ca s Tr v gi tr nguyn thy ca i tng Number.

Ngoi ra, trong lp n{y c x|c nh thm cc tham s NaN v nh, NEGATIVE_INFINITY s m v cc, POSITIVE_INFINITY s dng v cc. d. i tng ca lp String Tn hm Hm to String(String) charAt(Number) concat(String) indexOf(String, Number=0) lastIndexOf(String, Number) localeCompare(String) Chc nng Hm khi to cho lp String. Tr v k t ti num. Ghp ni cc xu thnh mt xu. Tr v v tr u tin tm thy xu String k t v th ~ cho. Phng thc c nh ngha l{ danh s|ch hng, ngha l{ c th c mt hoc hai i s. Tng t indexOf, nhng tm kim t phi sang tri. So sanh hai xu. Nu bng nhau th kt qu tr v 0. Nu x}u ban u c di ln hn th tr v 1, ngc li tr v -1. Thay pattern bng c|c Obj trong x}u ~ cho. Tr v ch s u tin ca pattern trong x}u ~ cho. Phn tch xu thnh cc xu con. Kt qu tr v mt mng cc xu. Tr v xu con t v tr Number u vi di

replace(pattern, Obj) search(pattern) split(pattern) substring(Number,

- 136 -

CHNG 5. LP TRNH VI ACTIONSCRIPT

Number) toLowerCase(String) toUpperCase(String) valueOf()

Number sau. Chuyn tt c k t hoa thnh k t thng. Xu ngun khng thay i. Chuyn tt c cc k t thng thnh k t hoa. Xu ngun khng thay i. Tr v gi tr ca xu dng kiu nguyn thy.

e. i tng ca lp Array Tn hm Thuc tnh length Array(Number) v Array(values) concat(args) pop() push() reverse() sort() toString() Chc nng Tr v di ca xu. Hm to. Ghp ni cc mng thnh mt. Phng ph|p pop cho Stack. Phng ph|p push cho Stack. o mng. Sp xp mng. Chuyn sang xu.

5.6.3. S kin chut Khi lm vic vi s kin trong AS, ta cn c{i t tn hin th cho i tng. Chi tit v iu ny, chng ta s tm hiu k hn trong mc 5.7. minh ha cho vic x l s kin chut trong AS, ta s minh ha s kin n{y trn i tng stage (khung trnh chiu). import flash.events.MouseEvent; stage.addEventListener(MouseEvent.CLICK, func);

- 137 -

CHNG 5. LP TRNH VI ACTIONSCRIPT

function func(e:MouseEvent):void{ trace("Hello"); }

b sung mt s kin cho mt i tng, ta s dng hm addEventListener. H{m n{y c nm tham s, nhng ba tham s cui cng c c{i t ngm nh. Ta s quan t}m n hai tham s u. - Tham s Event: n c th l s kin chut, bn phm, s thay i kch thc, thay i ca s kch hot,. }y, ta chn MouseEvent vi phng thc tng ng nh: CLICK, DOUBLE_CLICK, - Tham s Function: l mt hm s thc thi chc nng tng ng. N cn cha mt tham s s kin tng tng vi tham s Event. 5.6.4. S kin bn phm Ho{n to{n tng t s kin chut, nu ta thay MouseEvent bng KeyboardEvent, ta s nm bt c cc s kin phm tng ng. Bn cng lu rng, cc phm c qun l bi lp Keyboard trong AS. import flash.events.KeyboardEvent; import flash.ui.Keyboard;

stage.addEventListener(KeyboardEvent.KEY_UP, func); function func(e:KeyboardEvent):void{ if(e.keyCode==Keyboard.ENTER) trace("Hello "); }

S kin ca phm KeyboardEvent ch bao gm KEY_UP v KEY_DOWN.

- 138 -

CHNG 5. LP TRNH VI ACTIONSCRIPT

5.7. a mt i tng vo ActionScript


Flash cho php bn to mt i tng bng cc cng c v. a c|c i tng ny v c|c i tng c cung cp sn(nh c|c th{nh phn GUI) vo AS. lm c iu ny, bn cn chuyn i c|c i tng ca bn thnh cc biu tng MovieClip hoc Button. i tng Graphic khng c h tr. Sau , bn hy kch chn i tng. Trong bng thuc tnh, bn hy nhp tn ca i tng th hin cn to ra vo mc <Instance Name>, sau nhp Enter. Gi }y, i tng ca bn ~ c khi to v bn c th thao tc vi n bn trong AS theo tn th hin m bn va c{i t.

Hnh 103 To mt tn th hin cho i tng Nu bn import mt i tng t bn ngo{i v{o trong th vin Library, bn cng c th to mt lp cha n (tc l lp to ra i tng ny). Chng ta s xy dng on chng trnh sau }y. Import mt file m thanh vo trong Library. Khi bm chut vo nt Play th n s chi file }m thanh ny. - Trong Stage, bn hy to mt nt Play (l biu tng Button) v{ c{i t tn th hin cho n l btPlay. - Thc hin import file }m thanh v{o trong th vin. Trong ca s th vin Library, bm chn file m thanh, kch chut phi v chn Properties.

- 139 -

CHNG 5. LP TRNH VI ACTIONSCRIPT

Hnh 104 Thao tc vi thuc tnh Properties ca i tng trong th vin - Khi , s xut hin hp thoi Properties nh sau

Hnh 105 Hp thoai Properties ca i tng file m thanh

- 140 -

CHNG 5. LP TRNH VI ACTIONSCRIPT

Bn cn |nh du tch vo Export for ActionScript. Trong Class, bn nhp vo tn lp s c xy dng cho i tng m thanh ny (v d l myMusic). Ngay bn di l Base Class ca n tc lp c s m n tha k. Sau nhp Ok. Kt thc cc thao tc trn, bn ~ nhn c mt i tng btPlay v mt lp myMusic. Tip theo, bn s bt tay vo vit m lnh cho chng trnh. - Nhn F9 m khung son tho ActionScript. Bn hy b sung s kin kch chut cho i tng btPlay nh sau import flash.events.MouseEvent; btPlay.addEventListener(MouseEvent.CLICK, func); var Player:flash.media.Sound = new myMusic(); function func(e:MouseEvent):void{ Player.play(); }

i tng Player l mt s th hin ca lp myMusic. Khi bm chut vo nt btPlay, hm func s c gi n. Kt qu l{ phng thc play ca i tng Player c thc thi.

5.8. L{m vic vi XML


a. i tng XML lm vic vi xml, ta s dng i tng XML. i tng ny c hm khi to nh sau: var xml:XML = new XML( <books> <book>Ton</book> <book>L</book> </books>

- 141 -

CHNG 5. LP TRNH VI ACTIONSCRIPT

); trace(xml.children()[0]);

Trong v d ny, ta c mt cu trc xml n gin. Phng thc children s tr v mt mng c|c i tng con ca books tc l mng cc book. Ta c th truy cp chng theo ch s - ch s c |nh s t 0. Ta c th tri nghim vi mt cu trc xml theo nh dng kh|c c s dng rng ri hin nay. var xml:XML = new XML( <books> <book name=To|n description=Lp 12>book1</book> <book name=L description=Lp 11>book2</book> </books> ); trace(xml.children()[0]. attribute(name));

b. c file xml bng URLLoader Trong trng hp trn, ta lm vic vi mt cu trc xml bn trong AS. c mt file xml t bn ngoi, bn phi s dng mt i tng URLLoader. Bn hy quan st m ngun sau: import flash.net.URLLoader; import flash.net.URLRequest; import flash.events.Event; var xmlloader:URLLoader = new URLLoader(); var xml;

- 142 -

CHNG 5. LP TRNH VI ACTIONSCRIPT

xmlloader.load(new URLRequest("book.xml")); xmlloader.addEventListener(Event.COMPLETE, success); function success(e:Event):void{ xml = new XML(e.target.data); trace(xml.children()[0].attribute("name")); }

i tng URLLoader c khi to nh v{o phng thc load t mt URLRequest. i tng URLRequest ny khi to nh hm to t mt file xml ch nh. Chng ta ch c th thao tc vi file xml khi n c ti xong nh vo s kin Event.COMPLETE. D liu t file xml c c s lu v{o target.data ca Event .

5.9. Vng chc nng Code Snippets


Chng ta s tm hiu chi tit v cc nhm chc nng c t chc trong vng Code Snippets ny. Nhng trc tin, chng ta s tm hiu v chng thng qua cc v d minh ha. To chic ng h treo tng Trong v d ny, chng ta s tm hiu cch to mt chic ng h treo tng. Bn hy s dng cc cng c v to cho mnh mt chic ng h theo thch ca bn. Nhng bn cn lu mt v{i im sau }y: Cc kim quay phi nm trn cc Layer ring bit. Chng phi l cc MovieClip. Tm xoay ca cc kim quay ny phi nm mt u ca n. Cc phn cn li ca ng h, ty thuc vo mc ch ca bn, bn c th to trn cc Layer khc nhau, hoc trn cng mt Layer.

Trong chic h m ti to, ti s dng c|c Layer sau }y: Layer Oclock: chc phn khung ca chic ng h, b mt ng h. Layer Node: cha cc mc thi gian (4 mc thi gian). Layer Hours (cha kim gi), Layer Minutes (cha kim pht), Layer Seconds (cha kim giy). Layer Center: nt gc ca cc kim quay.

- 143 -

CHNG 5. LP TRNH VI ACTIONSCRIPT

Bn lu n trt t ca cc Layer. Layer Node trn Layer Oclock, Layer cc kim quay trn Layer Node, Layer center trn Layer cc kim quay che i phn gc quay ca cc kim quay.

Hnh 106 To ng h kim quay bang chc nng Code Snippets Chc bn s thc mc Layer Action trong trng hp n{y dng lm g. Chng ta s bit ngay sau }y. i vi cc kim quay, bn cn c{i t tn th hin cho n. V d ti t tn cho cc i tng kim quay nh sau: kim gi l hourobj, kim pht l minobj, kim giy l secobj.

Hnh 107 C{i t tn th hin cho cc MovieClip kim quay

- 144 -

CHNG 5. LP TRNH VI ACTIONSCRIPT

Tip theo, bn hy chn mt i tng kim quay, bm vo khung Code Snippets (hoc Windows > Code Snippets). Trong ca s ny, bn chn nhm Animation > Rotate Continuously.

Hnh 108 Vng Code Snippets: Rotate Continuously

Khi , Flash s chn t ng mt Action Frame vo trong TimeLine v khi to ni dung Action cho bn nh sau. minobj.addEventListener(Event.ENTER_FRAME, fl_RotateContinuously); function fl_RotateContinuously(event:Event) {

//Son tho m~ chng trnh }y


minobj.rotation += 10; }

By gi bn h~y thay on m trong hm fl_RotateContinuously bng on m sau var dd:Date = new Date(); hourobj.rotation = ((dd.getHours()>=12)?(dd.getHours()):(dd.getHours()12))*30;

- 145 -

CHNG 5. LP TRNH VI ACTIONSCRIPT

minobj.rotation = dd.getMinutes()*6; secobj.rotation = dd.getSeconds()*6;

Trc khi thay th hai on m ny, bn nn kim tra xem chic ng h ca bn hot ng nh th n{o ~ nh. R rang n ch xoay duy nht chic kim pht m thi. Bn cng lu rng hiu ng ny ca Code Snippets l hiu ng quay lin tc (Rotate Continuously), do , bn khng cn tng t|c vi i tng Timer. Gii thch: cho chic ng h hot ng ng, ta cn b sung s kin thi gian cho n. Bin dd thuc kiu Date. Ta s dng hm khi to Date() khi to gi tr cho bin dd. i tng thuc kiu Date c nhiu hm to kh|c nhau, nhng }y ta s dng hm to khng i s. Vi hm to n{y, i tng dd s nhn gi tr l thi gian hin ti. Ta s s dng c|c phng thc getHours, getMinutes, getSeconds ly gi, pht, gi}y tng ng. }y, Flash s dng bin c Event.ENTER_FRAME. Vi bin c n{y, h{nh ng s lin tc c cp nhp trn tng frame. Bn lu rng mc nh, s Frame trn mt gi}y l{ 24fps. Do , bn hon ton yn tm rng thi gian trn ng h ca bn s c cp nht n tng 1/24 giy. Tip theo, chng ta s tho lun v cc cng thc tnh gc quay. Chng ta bit rng khi kim pht v{ kim gi}y quay ng mt vng l 60 pht hoc 60 giy. N tng ng vi s o l{ 3600. Nh vy, tng ng vi 1 pht hoc 1 giy s c s o l{ 60. Nu c s pht v s giy hin ti, ta ch vic nhn vi 6 l nhn c kt qu ca gc o tng ng vi pht v giy hin ti. Vi gi th kt qu s khc. Mt vng quay 3600 ch tng ng vi 12 gi, do , mi gi chim n mt gc l 300. Nn gc quay ca kim gi s l s gi nhn vi 30. Mt iu lu na, nu thi gian h thng c nh dng 24h th s c mt vi sai st xy ra. Do , m bo chic ng h hot ng tt, bn nn kim tra iu kin: nu s gi vt ngng 12, th s gi s l s gi tr i 12, ngc li th gi nguyn kt qu . }y chnh l{ gi| tr ca ton t iu kin m ta s dng. n }y, bn s thc mc l ti sao addEventListener li ch p dng cho kim pht. Cu tr li khng phi nh vy. Bn c th p dng cho mt i tng bt k. Bn c th hiu chnh ba i tng trn c|c Action Frame kh|c nhau. Nhng cch thc thi nh th ch lm cho bn tn thi gian, v vic qun l nhiu Frame s lm cho bn cm thy ri. Bn hon ton c th lm th nu bn mun. Nhng

- 146 -

CHNG 5. LP TRNH VI ACTIONSCRIPT

bn cn lu n mt phng ch}m khi lp trnh l{ C{ng n gin, nh gn nhng vn m bo y cc ni dung th cng tt. To Menu iu khin cc cnh quay trong Game Trong v d ny, chng ta s tho lun cch to mt Menu iu khin Game. Bn hy to 4 cnh quay Scene v{ t tn cho chng ln lt l: Menu, Result, Play v{ Help. C|c Scene n{y c sp xp theo th t nh sau

Hnh 109 Th t ca cc Scene Bn c th trang tr cho cc Scene ny ty . Trn Scene Menu cha ba MenuItem l{ Result, Play v{ Help nh hnh bn di. Khi bn nhn v{o Play, chng trnh s chuyn sang Scene Play chi game. Khi bn nhn v{o Result, chng trnh s chuyn n Scene Result xem kt qu. Khi bn nhn v{o Help, chng trnh s chuyn n Scene Help xem hng dn chi game. Bn cng lu trn mi Scene Result, Play v{ Help c Menu Back tr li Menu chnh.

Hnh 110 Scene Menu Trong cc Scene cn li, cha ni dung lin quan v{ menu Back quay tr li Scene Menu ny.

- 147 -

CHNG 5. LP TRNH VI ACTIONSCRIPT

By gi, chng ta s s dng chc nng Code Snippets to cc hiu ng m chng ta ~ tho lun trn. Trc tin, ta s to hiu ng Button cho cc MenuItem ny. Bn hy ln lt chn Play, sau v{o Commands > Make Button. Lp li iu ny cho Help v Result. cc Scene Play, Help, Result bn b sung vo dng lnh stop(); vo v tr cui cng ca m lnh ( }y dng lnh ny l duy nht v ti khng xy dng mt chng trnh ho{n chnh). Tip theo, bn hy nhp vo nt Play trn Scene Menu, bm chn chc nng Code Snippets. Bn chn nhm TimeLine and Navigation. Tip n, bn chn chc nng Click to Go to Scene and Play. Khi , Flash s sinh on m sau btPlay.addEventListener(MouseEvent.CLICK, fl_ClickToGoToScene); function fl_ClickToGoToScene(event:MouseEvent):void { MovieClip(this.root).gotoAndPlay(1, "Play"); }

Bn cn thay i tn ca Scene cho ph hp vi Scene s chuyn n trong dng lnh MovieClip(this.root).gotoAndPlay(1, "i tn Scene"); Bn hy thc hin thao tc ny cho nhng chc nng cn li. Cui cng, bn nhn t hp Ctrl+Enter kim tra kt qu. Nu bn mun xy dng mt d n game hon chnh, bn hy lp trnh game ca bn vo trong Scene Play. Bng chc nng trong vng Code Snippets. Nhm Acti ons Chc nng Click to go to Web Code Gii thch

movieClip_1.addEventListener( Cho php m mt lin MouseEvent.CLICK, kt khi nhp chut vo

- 148 -

CHNG 5. LP TRNH VI ACTIONSCRIPT

page

fl_ClickToGoToWebPage);

i tng.

function movieClip_1: l{ i fl_ClickToGoToWebPage(event: tng khi ta nhp MouseEvent):void chut ln n. navigateToURL: { phng thc m lin kt. N gm hai tham navigateToURL(new s - URLRequest URLRequest("http://www.ado (c khi to t be.com"), "_blank"); mt tham s String) } v tham s String quy nh cch m lin kt (_blank, _parent, _selft, _top). //on m 1 on m 1: thay i hnh dng ca tr chut stage.addChild(movieClip_1); sang hnh dng nh ca movieClip_1.mouseEnabled = i tng moveClip_1. false; Thuc tnh mouseEnabled = movieClip_1.addEventListener( false: khng cho php Event.ENTER_FRAME, kch hot chut trn fl_CustomMouseCursor); i tng moveClip_1. Thuc tnh x, y ca function movieClip_1: honh fl_CustomMouseCursor(event: x v{ tung y ca Event) i tng { movieClip_1. stage.mouseX, movieClip_1.x = stage.mouseY: stage.mouseX; phng thc ca i movieClip_1.y = tng stage (khung stage.mouseY; trnh din) xc nh v tr ca tr } chut trn khung

Custom Mouse Cursor

- 149 -

CHNG 5. LP TRNH VI ACTIONSCRIPT

Mouse.hide();

trnh chiu ny. Mouse.hide: phng thc hide ca i tng Mouse cho php n i hnh dng ca tr chut.

//on m 2 movieClip_1.removeEventListe ner(Event.ENTER_FRAME, fl_CustomMouseCursor); stage.removeChild(movieClip_ 1); Mouse.show();

on m 2: thay i hnh dng ca tr chut sang dng mc nh ban u. removeEventListener : hy s kin chut i vi i tng movieClip_1. removeChild: xa i tng trn khung trnh chiu stage. Mouse.show: phng thc show ca i tng Mouse cho php hin hnh dng ca tr chut theo mc nh.

Drag & Drop

movieClip_1.addEventListener( Thc hin thao tc ko MouseEvent.MOUSE_DOWN, th mt i tng. i fl_ClickToDrag); tng c ko th l movieClip_1. thc function hin thao t|c ko i fl_ClickToDrag(event:MouseEv tng, ta kt hp vi s ent):void kin MOUSE_DOWN ln i tng v{ triu gi { phng thc startDrag movieClip_1.startDrag(); ca n. Ngc li, dng vic ko i tng

- 150 -

CHNG 5. LP TRNH VI ACTIONSCRIPT

} stage.addEventListener(Mouse Event.MOUSE_UP, fl_ReleaseToDrop); function fl_ReleaseToDrop(event:Mouse Event):void { movieClip_1.stopDrag(); } Play a MC Stop a MC movieClip_1.play(); movieClip_1.stop();

(th i tng) ta kt hp s kin MOUSE_UP ca i tng v{ triu gi phng thc stopDrag.

Bt u trnh movieClip_1.

din

Dng vic trnh din movieClip_1.

movieClip_1.addEventListener( Khi nhp chut v{o i MouseEvent.CLICK, tng movieClip_1 th fl_ClickToHide); i tng movieClip_2 s n i. Thuc tnh visible quy nh vic n/hin ca mt i function Click to hide fl_ClickToHide(event:MouseEv tng. Nu mun i an Object ent):void tng movieClip_2 hin tr li, ta thay i gi tr { ca movieClip_1.visible = movieClip_2.visible = true. false; } Show an Object Click to Position an movieClip_1.visible = true; Hin i movieClip_1. tng

movieClip_1.addEventListener( Thay i v tr ca i MouseEvent.CLICK, tng movieClip_2 khi

- 151 -

CHNG 5. LP TRNH VI ACTIONSCRIPT

Object

fl_ClickToPosition); function fl_ClickToPosition(event:Mous eEvent):void { movieClip_2.x = 200; movieClip_2.y = 100; }

nhp chut v{o i tng movieClip_1. Thuc tnh x v{ y ~ gii thch trn.

Click to Display a TextField

movieClip_1.addEventListener( Hin th on vn bn ti MouseEvent.CLICK, mt v tr ch nh khi ta fl_ClickToPosition); nhp chut vo mt i tng. var fl_TF:TextField; movieClip_1: i m var fl_TextToDisplay:String = ta nhp chut ln n. "Lorem ipsum dolor sit amet." fl_TF: l{ i tng TextField. TextField function trong trng hp ny fl_ClickToPosition(event:Mous s dng cc thuc eEvent):void tnh autoSize, { background, border, x, y, text. Bn c th fl_TF = new TextField(); tham kho thm cc fl_TF.autoSize = thuc tnh ca TextFieldAutoSize.LEFT; TextField trong lp flash.text.TextField. fl_TF.background = true; fl_TF.border = true; fl_TF.x = 200; fl_TF.y = 100; fl_TF.text fl_TextToDisplay; =

- 152 -

CHNG 5. LP TRNH VI ACTIONSCRIPT

addChild(fl_TF); } function fl_GenerateRandomNumber(li mit:Number):Number { Generate a Random Number Khi to mt s ngu nhin. to s ngu nhin, ta s dng lp Math. Phng thc random: khi to s ngu nhin. Phng thc floor ly sn ca mt s thc. Bi phng thc random khi to mt s thc.

var randomNumber:Number = Math.floor(Math.random()*(li mit+1)); return randomNumber; } trace(fl_GenerateRandomNum ber(100)); for (var fl_ChildIndex:int = 0;

Chuyn i tng c chn ln trn c|c i fl_ChildIndex < tng kh|c. C|c i this.numChildren; tng ny cn c chuyn i thnh fl_ChildIndex++) movieClip hoc Button. { Bring Object to the Front this.getChildAt(fl_ChildI ndex).addEventListener(Mouse Event.CLICK, fl_ClickToBringToFront); function fl_ClickToBringToFront(event: MouseEvent):void { this.addChild(event.curr

- 153 -

CHNG 5. LP TRNH VI ACTIONSCRIPT

entTarget as DisplayObject); } var fl_TimerInstance:Timer = To b m thi gian. new Timer(1000, 30); i tng fl_TimerInstance thuc fl_TimerInstance.addEventList lp Timer. N s dng ener(TimerEvent.TIMER, phng thc khi to c fl_TimerHandler); hai tham s delay v repeatCount. fl_TimerInstance.start(); var fl_SecondsElapsed:Number delay: tr (tnh theo mili giy, = 1; 1ms=1/1000s). function repeatCount: s lc fl_TimerHandler(event:TimerE lp (s dng nu b vent):void m t n gi tr ny). { Phng thc start trace("Seconds elapsed: ca i tng " + fl_SecondsElapsed); fl_TimerInstance: i tng bt u thi fl_SecondsElapsed++; hnh. Ngc li vi } phng thc ny l phng thc stop. var fl_SecondsToCountDown:Num ber = 10; Countdown Timer var fl_CountDownTimerInstance:Ti mer = new Timer(1000, fl_SecondsToCountDown); fl_CountDownTimerInstance.a ddEventListener(TimerEvent.T IMER, Ho{n to{n tng t nh b m xui. Gi tr fl_SecondsToCountDown l gi tr bt u khi to khi m ngc.

Simple Timer

- 154 -

CHNG 5. LP TRNH VI ACTIONSCRIPT

fl_CountDownTimerHandler); fl_CountDownTimerInstance.st art(); function fl_CountDownTimerHandler(ev ent:TimerEvent):void { trace(fl_SecondsToCount Down + " seconds"); fl_SecondsToCountDown --; } Stop at this Frame stop(); movieClip_1.addEventListener( MouseEvent.CLICK, fl_ClickToGoToAndStopAtFram e); TimeLine Navigation Click to Go to Frame and Stop function fl_ClickToGoToAndStopAtFram e(event:MouseEvent):void { gotoAndStop(5); } Click to Go to Frame and Play movieClip_1.addEventListener( MouseEvent.CLICK, fl_ClickToGoToAndPlayFromFr ame); function Trnh din movie nhy n Frame c ch nh. Trong trng hp n{y Frame c ch nh l 5. Dng trnh din movie ti Frame ny. Dng movie ti mt Frame c ch nh. Trong trng hp ny Frame c ch nh l Frame 5.

- 155 -

CHNG 5. LP TRNH VI ACTIONSCRIPT

fl_ClickToGoToAndPlayFromFr ame(event:MouseEvent):void { gotoAndPlay(5); } movieClip_1.addEventListener( Dng trnh din movie MouseEvent.CLICK, Frame k tip. fl_ClickToGoToNextFrame); Click to Go to Next Frame and Stop function fl_ClickToGoToNextFrame(eve nt:MouseEvent):void { nextFrame(); } movieClip_1.addEventListener( Dng trnh din movie MouseEvent.CLICK, Frame pha trc. fl_ClickToGoToPreviousFrame) ; Click to Go to Previous Frame and Stop function fl_ClickToGoToPreviousFrame( event:MouseEvent):void { prevFrame(); } Click to Go to Next Scene and Play movieClip_1.addEventListener( Bt u trnh din n MouseEvent.CLICK, cnh quay k tip trong fl_ClickToGoToNextScene); danh sch Scene. function fl_ClickToGoToNextScene(even

- 156 -

CHNG 5. LP TRNH VI ACTIONSCRIPT

t:MouseEvent):void { MovieClip(this.root).nex tScene(); } movieClip_1.addEventListener( Bt u trnh din t MouseEvent.CLICK, cnh quay trc fl_ClickToGoToPreviousScene); trong danh sch Scene. Click to Go to Previous Scene and Play function fl_ClickToGoToPreviousScene( event:MouseEvent):void { MovieClip(this.root).pre vScene(); } movieClip_1.addEventListener( Bt u trnh din n MouseEvent.CLICK, mt cnh quay c ch fl_ClickToGoToScene); nh trong danh sch Scene. Tham s th nht function l{ Frame c ch nh fl_ClickToGoToScene(event:Mo trong Scene tham s useEvent):void th 2. { MovieClip(this.root).got oAndPlay(1, "Scene 3"); } Animation Move with Keyboard Arrows stage.addEventListener(Keybo ardEvent.KEY_DOWN, fl_PressKeyToMove); function Di chuyn i tng theo c|c phm mi tn trn bn phm.

Click to Go to Scene and Play

- 157 -

CHNG 5. LP TRNH VI ACTIONSCRIPT

fl_PressKeyToMove(event:Key boardEvent):void { switch (event.keyCode) { case Keyboard.UP: { movieClip_1.y -= 5; break; } case Keyboard.DOWN: { movieClip_1.y += 5; break; } case Keyboard.LEFT: { movieClip_1.x -= 5; break; } case Keyboard.RIGHT: { movieClip_1.x += 5; break;

- 158 -

CHNG 5. LP TRNH VI ACTIONSCRIPT

} } } Move Horizontall y Move Vertically Rotate Once movieClip_1.x -= 100; Di chuyn i tng theo chiu ngang. Di chuyn i tng theo chiu dc. Quay i tng 1 ln vi gc c ch nh (tnh theo ).

movieClip_1.y -= 100; movieClip_1.rotation += 45;

movieClip_1.addEventListener( Quay i tng lin tc. Event.ENTER_FRAME, Mi ln quay mt gc 10 fl_RotateContinuously); . function fl_RotateContinuously(event:E vent) { movieClip_1.rotation += 10; } movieClip_1.addEventListener( i tng chuyn ng Event.ENTER_FRAME, theo chiu ngang. fl_AnimateHorizontally); Animate Horizontall y function fl_AnimateHorizontally(event:E vent) { movieClip_1.x -= 10;

Rotate Continously

- 159 -

CHNG 5. LP TRNH VI ACTIONSCRIPT

} movieClip_1.addEventListener( i tng chuyn ng Event.ENTER_FRAME, theo chiu dc. fl_AnimateVertically); Animate Vertically function fl_AnimateVertically(event:Eve nt) { movieClip_1.y -= 10; } movieClip_1.addEventListener( Cch xut hin ca i Event.ENTER_FRAME, tng theo dng thc fl_FadeSymbolIn); hin r dn (tng dn alpha) movieClip_1.alpha = 0; function fl_FadeSymbolIn(event:Event) { movieClip_1.alpha Fade in a Movie Clip 0.01; if(movieClip_1.alpha >= 1) { movieClip_1.removeEve ntListener(Event.ENTER_FRA ME, fl_FadeSymbolIn); } } +=

- 160 -

CHNG 5. LP TRNH VI ACTIONSCRIPT

movieClip_1.addEventListener( Cch thc bin mt ca Event.ENTER_FRAME, i tng theo cch m fl_FadeSymbolOut); dn (gim dn alpha). movieClip_1.alpha = 1; function fl_FadeSymbolOut(event:Event ) { Fade out a Movie Clip movieClip_1.alpha 0.01; if(movieClip_1.alpha <= 0) { movieClip_1.removeEve ntListener(Event.ENTER_FRA ME, fl_FadeSymbolOut); } } movieClip_1.addEventListener( Ti v hy ti mt tp tin MouseEvent.CLICK, swf hoc mt tp tin nh fl_ClickToLoadUnloadSWF); khi nhp chut v{o i tng movieClip_1. Bin var fl_Loader:Loader; Click to fl_Loader c s dng Load/Unloa var fl_ToLoad:Boolean = true; ti dng tp tin k d SWF or trn. Bin fl_ToLoad function Image lu trng th|i (~ ti fl_ClickToLoadUnloadSWF(eve true hoc cha ti nt:MouseEvent):void false). { Phng thc load ca i tng Loader s ti -=

Load and Unload

- 161 -

CHNG 5. LP TRNH VI ACTIONSCRIPT

if(fl_ToLoad) { Loader();

v tp tin theo mt a ch c ch nh trong i tng URLRequest. fl_Loader = new hy ti, ta s dng phng thc unload. Sau khi ti xong tp tin, ta b sung i tng Loader ny vo khung trnh chiu. Sau khi hy b vic ti, ta xa i tng Loader khi khung trnh chiu v gii phng bin n (gn cho gi tr null). Mi ln nhp chut ln i tng, ta thay i gi tr ca bin fl_ToLoad t true thnh false (nu ~ ti ri th ln nhp chut tip theo s l hy ti) v ngc li.

fl_Loader.load(new URLRequest("http://www.help examples.com/flash/images/i mage1.jpg")); addChild(fl_Loader); } else { fl_Loader.unload(); removeChild(fl_Loader); fl_Loader = null; } fl_ToLoad = !fl_ToLoad; }

Ti hoc hy ti mt tp tin nh trong th vin ~ c xut bn cho ActionScript. Trc tin, Click to ta cn import cc tp tin Load Image function nh v{o trong th vin from fl_ClickToLoadImageFromLibra ca Flash. Sau , t cc Library ry(event:MouseEvent):void tp tin nh ny, ta s to ra cc lp i tng { tng ng (Tng t var libImage:MyImage = xut bn tp tin m

movieClip_1.addEventListener( MouseEvent.CLICK, fl_ClickToLoadImageFromLibra ry);

- 162 -

CHNG 5. LP TRNH VI ACTIONSCRIPT

new MyImage(0,0);

thanh trong mc 5.7).

var holder:Bitmap = new i tng nh ny s tr Bitmap(libImage); thnh tham s trong i tng ca lp Bitmap. addChild(holder); } Add Instance from Stage Remove Instance from Stage var B sung mt biu tng fl_MyInstance:LibrarySymbol = (Graphic, MovieClip, new LibrarySymbol(); Button). C|c i tng n{y cng phi xut bn addChild(fl_MyInstance); cho ActionScript. removeChild(movieClip_1); Xa i tng movieClip_1 ra khi khung trnh chiu.

var fl_TextLoader:URLLoader = Ti mt on vn bn t new URLLoader(); bn ngoi. Chc nng n{y tng t nh vic var ti mt tp tin XML. Bn fl_TextURLRequest:URLReques c th xem li li gii t = new thch trn. URLRequest("http://www.help examples.com/flash/text/lore mipsum.txt"); Load External Text fl_TextLoader.addEventListene r(Event.COMPLETE, fl_CompleteHandler); function fl_CompleteHandler(event:Eve nt):void { var textData:String = new String(fl_TextLoader.data);

- 163 -

CHNG 5. LP TRNH VI ACTIONSCRIPT

trace(textData); } fl_TextLoader.load(fl_TextURL Request); movieClip_1.addEventListener( Trnh din hoc dng MouseEvent.CLICK, mt tp tin m thanh. fl_ClickToPlayStopSound); Bin fl_ToPlay lu trng thi cho php trnh din var fl_SC:SoundChannel; hoc khng (tng ng true v false). i tng var fl_ToPlay:Boolean = true; Sound s dng phng function thc khi to t mt fl_ClickToPlayStopSound(evt:M URLRequest. Cch thc ouseEvent):void thi mt tp tin m thanh chng ta ~ tm hiu { mc 5.7. if(fl_ToPlay) Audio and Video Click to Play/Stop Sound { var s:Sound = new Sound(new URLRequest("http://www.help examples.com/flash/sound/so ng1.mp3")); fl_SC = s.play(); } else { fl_SC.stop(); } fl_ToPlay = !fl_ToPlay;

- 164 -

CHNG 5. LP TRNH VI ACTIONSCRIPT

} movieClip_1.addEventListener( Dng chi tt c m MouseEvent.CLICK, thanh trong movie. fl_ClickToStopAllSounds); function Click to Stop fl_ClickToStopAllSounds(event: All Sounds MouseEvent):void { SoundMixer.stopAll(); } import fl.video.MetadataEvent; Thc thi mt event khi c n mt Cue Point movieClip_1.addEventListener( c ch nh. Cue Point MetadataEvent.CUE_POINT, l mt cch thc chia fl_CuePointHandler); nh tp tin m thanh hoc video (nh dng function fl_CuePointHandler(event:Meta flv, f4v) ln trong Flash (c theo stream). Nh dataEvent):void tp tin s c ti { nhanh hn (ti n cue point no th trnh chiu trace(event.info.name); n ). }

On Cue Point Event

movieClip_1.addEventListener( Tng t nh nt Play MouseEvent.CLICK, trong cc trnh iu fl_ClickToPlayVideo); khin nhc/phim. i tng function Click to Play video_instance_name l fl_ClickToPlayVideo(event:Mou Video tn th hin ca thnh seEvent):void phn iu khin vic thi hnh tp tin video hoc { }m thanh (thng l FLV video_instance_name.play(); playback).

- 165 -

CHNG 5. LP TRNH VI ACTIONSCRIPT

} movieClip_1.addEventListener( Tm dng. MouseEvent.CLICK, fl_ClickToPauseVideo); function fl_ClickToPauseVideo(event:M Click to Pause Video ouseEvent):void { video_instance_name.pause(); } movieClip_1.addEventListener( Quay tr li v tr ban MouseEvent.CLICK, u trn trnh iu khin fl_ClickToPauseVideo); media playback. Click to Rewind Video function fl_ClickToPauseVideo(event:M ouseEvent):void { video_instance_name.seek(0); } video_instance_name.addEvent Listener(MouseEvent.CLICK, fl_ClickToSetSource); Click to Set Video Source function fl_ClickToSetSource(event:Mou seEvent):void { video_instance_name.source = "http://www.helpexamples.co m/flash/video/water.flv"; Thit lp tp tin ti nguyn cho trnh media playback thng qua thuc tnh source.

- 166 -

CHNG 5. LP TRNH VI ACTIONSCRIPT

} movieClip_1.addEventListener( Di chuyn n mt Cue MouseEvent.CLICK, Point c ch nh fl_ClickToSeekToCuePoint); (trong trng hp ny l Cue Point c tn l Cue function Point 1. Phng thc fl_ClickToSeekToCuePoint(eve seek ca i tng nt:MouseEvent):void media playback ch hot ng vi tham s time { (nhy n mt thi var cuePointInstance:Object = im), do , ta cn video_instance_name.findCueP chuyn t i tng cue oint("Cue Point 1"); point sang tham s time video_instance_name.see tng ng nh thuc tnh time. k(cuePointInstance.time); } var fl_NC:NetConnection = new c mt tp tin video t NetConnection(); mt Media Server nh v{o i tng fl_NC.connect(null); NetStream. Phim sau khi var fl_NS:NetStream = new c ti s trnh chiu trc tip trn stage NetStream(fl_NC); khng dng n trnh fl_NS.client = {}; FLV playback. var fl_Vid:Video = new Video(); fl_Vid.attachNetStream(fl_NS); addChild(fl_Vid); fl_NS.play("http://www.helpex amples.com/flash/video/water .flv"); Even t Hand lers Mouse Click movieClip_1.addEventListener( H{nh ng thc thi khi Event MouseEvent.CLICK, chut c nhn ln i

Click to Seek to Cue Point

Create a NetStream Video

- 167 -

CHNG 5. LP TRNH VI ACTIONSCRIPT

fl_MouseClickHandler); function fl_MouseClickHandler(event:M ouseEvent):void { trace("Mouse clicked"); }

tng movieClip_1.

movieClip_1.addEventListener( H{nh ng thc thi khi MouseEvent.MOUSE_OVER, chut di chuyn qua i fl_MouseOverHandler); tng movieClip_1. Mouse Over Event function fl_MouseOverHandler(event:M ouseEvent):void { trace("Moused over"); } movieClip_1.addEventListener( H{nh ng thc thi khi MouseEvent.MOUSE_OUT, chut di chuyn ra khi fl_MouseOutHandler); i tng movieClip_1. Mouse Out Event function fl_MouseOutHandler(event:Mo useEvent):void { trace("Moused out"); } stage.addEventListener(Keybo Key Pressed ardEvent.KEY_DOWN, Event fl_KeyboardDownHandler); H{nh ng thc thi khi mt phm c nhn (c th l KEY_DOWN, KEY_UP. Trong trng

- 168 -

CHNG 5. LP TRNH VI ACTIONSCRIPT

function fl_KeyboardDownHandler(eve nt:KeyboardEvent):void { trace("Key Code Pressed: " + event.keyCode); } addEventListener(Event.ENTE R_FRAME, fl_EnterFrameHandler); Enter Frame Event function fl_EnterFrameHandler(event:E vent):void { trace("Entered frame"); }

hp ny, ta s dng KEY_DOWN.

H{nh ng din ra khi phim c trnh chiu.

bit thm thng tin v c|c phng thc v thuc tnh ca c|c i tng (cng nh c|c tham s trong c|c phng thc ny) hy xem thm bng tham kho v cc lp i tng trong a ch tr gip v ActionScript 3 ca Adobe http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/.

- 169 -

CHNG 5. LP TRNH VI ACTIONSCRIPT

Tng kt chng 5
Trong chng n{y, chng ta ~ tm hiu v ngn ng lp trnh ActionScript. }y l mt ngn ng lp trnh hng i tng. V c bn n cng ging nh Java. N cng c bin dch thnh m bytecode v c mt my o AVM c th hiu c. My o AVM c tch hp trong Flash Player v AIR. Bn c cung cp cc kin thc nn tng v AS 3.0: v c php, cu lnh c bn, v{ c bit, bn c cung cp cc kin thc v hng i tng. Bn cng ~ tm hiu v c|ch a mt i tng m bn xy dng hay mt i tng ~ tn ti vo ngn ng ActionScript. Ngo{i ra, chng ti cng hi vng rng, bn s bit c|ch iu khin i tng bng cc s kin event. D rng, chng ti ch a ra mt vi s kin c bn. c bit, mt chc nng cao cp cng c gii thiu trong chng n{y l{ vng chc nng Code Snippet. Vng chc nng n{y qu tht rt hu ch cho nhng ngi mi lm quen vi AS.

- 170 -

CHNG 5. LP TRNH VI ACTIONSCRIPT

Blank Page

- 171 -

CHNG 6. CC HIU CHNH NNG CAO

CHNG 6. CC HIU CHNH NNG CAO


6.1. X l }m thanh, hnh nh v{ video
a. Import m thanh, hnh nh v video vo th vin Mc d chc nng Import to Library h tr c chc nng Import Video, nhng bn nn s dng chc nng n{y ch cho m thanh v hnh nh. Ring vi video, bn nn s dng chc nng Import Video. C hai chc nng n{y u c t chc trong menu File>Import. b. X l m thanh Sau khi import mt file }m thanh v{o trong th vin, ta c th hiu chnh thuc tnh ca n. Bn hy chn file m thanh va nhp vo, kch chut phi v chn: - Properties. - Hoc Edit with Soundbooth. Bng thuc tnh ca m thanh s c dng nh sau

Hnh 111 Bng thuc tnh m thanh

CHNG 6. CC HIU CHNH NNG CAO

Bn c th nghe qua m thanh nh vo chc nng Test, dng chi nh chc nng Stop, thay i file ngun nh chc nng Import, c bit, bn c th thay i nh dng nn cho file m thanh nh vo Compression. x l }m thanh trong Flash, Adobe ~ cung cp cho ta mt trnh tin ch ring dnh cho nhim v n{y l{ Adobe SoundBooth. Vi SoundBooth, bn c th thay i nh dng m thanh (bao gm c video), trch tch m thanh khi video, b sung cc hiu ng cho m thanh, trch tch mt phn ca file }m thanh, v{ nhiu tnh nng kh|c.

Hnh 112 Giao din SoundBooth CS5 Chng ta s tho lun qua mt vi chc nng trong SoundBooth. - Trch xut mt phn file m thanh: bn hy dng tr chut v{ bi en phn m thanh trn biu ph ca n. Kch chut phi v nhp chn Crop. Sau nhp Save As v chn nh dng xut bn. kim tra phn m thanh c chn c ng hay khng, bn hy ko thanh biu din trng thi hin ti n cc v tr cn kim tra, sau nhp Play.

- 173 -

CHNG 6. CC HIU CHNH NNG CAO

- To hiu ng cho m thanh: bn hy chn mc effect bn cnh, v chn hiu ng cn p dng. Khi s dng m thanh trong phim Flash, bn cn to ring mt Layer cho n. Bn cn m bo cc phn m thanh ca bn phi tng ng vi cc hot cnh trong phim. iu s gip phim ca bn tht hn, sinh ng hn. c. X l hnh nh Sau khi import mt file hnh nh v{o trong th vin, ta c th hiu chnh thuc tnh ca n. Bn hy chn file m thanh va nhp vo, kch chut phi v chn: - Properties. - Hoc Edit with PhotoShop. Bng thuc tnh ca hnh nh s c dng nh sau

Hnh 113 Bng thuc tnh hnh nh Chc nng trong bng thuc tnh n{y tng t vi chc nng thuc tnh ca m thanh. i vi hnh nh khi nn bng JPEG, bn c th chn nn cho hnh nh gim kch thc tp tin sau khi xut bn. x l hnh nh trong Flash, Adobe cho php ta chnh sa chng bi chng trnh chuyn dng l Adobe Photoshop. C l, }y l{ chng trnh m{ bn ~ qu| quen thuc.

- 174 -

CHNG 6. CC HIU CHNH NNG CAO

Hnh 114 Giao din Adobe PhotoShop CS5 d. X l video }y c th l chc nng th v ca Flash. Bn hon ton c th s dng Flash to c|c k xo in nh (d rng }y khng phi l{ chng trnh chuyn dng Nu bn quan tm, bn c th tham kho chng trnh Adobe Premier v{ Adobe After Effect trong cng gi Master CS5 ny). lm vic vi video, Flash cung cp cho ta tin ch Adobe Media Encoder chuyn cc tp tin video thnh tp tin cho php s dng trong Flash l flv hoc f4v. chuyn i, bn ch vic chn Export Setting v hiu chnh cc thng s cn thit. Vi tin ch ny, bn c th hiu chnh mt vi thuc tnh cho c|c on video ca bn.

- 175 -

CHNG 6. CC HIU CHNH NNG CAO

Hnh 115 Giao din Adobe Media Encoder CS5 Ngoi ra, Flash cn cho php bn hiu chnh nng cao vi hai chng trnh h tr k xo in nh l Adobe Premier v Adobe After Effect. Khi import mt video vo Flash, bn c th cho php video m bn import vo s nm trn mt khung hnh c lp hay c nhng vo mt trnh media playback (ngha l{ chng trnh c c|c th{nh phn iu khin ch chi). Vi vic to mt khung hnh c lp, ta c th to cc mt n vi hnh th phc tp, to cc khung trnh chiu rt hp dn. Bn s c tm hiu iu ny khi chng ta tm hiu k hn v mt n.

- 176 -

CHNG 6. CC HIU CHNH NNG CAO

6.2. To k xo in nh vi Flash
Trong phn ny, chng ti s hng dn cho bn cch to mt s k xo thng c dng trong c|c chng trnh truyn hnh hin nay. Trc khi tho lun chi tit, chng ta s tm hiu s qua v k xo in nh l g ? K xo in nh l{ nhng hiu ng c to dng nh cng c m|y tnh lm cho cc b phim, c|c chng trnh truyn hnh tr nn hp dn hn. K xo in nh c th phn lm hai dng c bn: + K xo d{nh ring cho c|c chng trnh truyn hnh: nh c|c hiu ng chuyn cnh, hiu ng vn bn, hiu ng trong c|c chng trnh gameshow, + K xo dnh ring cho cc thc phim in nh: cc hiu ng to sng, to my m, php thut, S phn loi n{y c quy nh trong gio trnh ny. Chng ta s khng i v{o tho lun chi tit v cc dng k xo ny. Chng ta ch s dng Flash nh l{ cng c to ra mt s k xo thng dng. K xo bin hnh (k xo in nh) Mt k xo bin hnh (v d mt nhn vt A dng php thut bin thnh nhn vt B) thc cht l{ mt k thut bm m|y. Ngi quay phim s quay hai hnh nh ny trong cng mt hnh nn, hai nhn vt c cng mt th ng nh nhau. Vic bin hnh ch n thun l s tip din ca hai cnh quay n{y. cho phim c thm hiu ng c sc, bn c th s dng hiu ng ng ca Flash (nh bc khi, to mt lung s|ng,) lm cho hiu ng thm p mt. Vic xy dng cc hiu ng ny bn c th tm hiu trong cc v d tip theo sau. Bn lu rng, nu bn mun to mt hiu ng ghp hnh, th Flash khng h tr cho bn. Bn c th dng chng trnh chuyn dng l Adobe After Effect. K xo ch gu thi la Trong v d ny, chng ta s s dng mt thc phim c hnh ch gu. Ch gu s h ming. Khi , mt lung |nh s|ng m{u (m ta gi l la) s phng ra. K xo mong ch trong thc phim cui cng l{ thc phim ch gu ny s thi ra la. u tin, bn hy to mt d n mi. Bn hy import Video hnh ch gu vo (File Bear.flv trong th mc Video ca CD nh km). Bn hy hiu chnh cc thuc tnh khi import d liu theo hnh m t ca hnh bn di }y

- 177 -

CHNG 6. CC HIU CHNH NNG CAO

Hnh 116 Hiu chnh thng s khi import d liu Sau , bn nhp vo Next. Trong ca s tip theo, bn chn Embbed Video v nhp Finish. Gi }y, video m{ bn import vo nm trong th vin (nu bn chn import to Library), nm trong Stage (nu bn chn import to Library). to k xo in nh nh chng ta tho lun trn, cc bn hy thc hin c|c bc sau }y Bc 1 Bn h~y ko video trong th vin vo trong Stage, s dng chc nng Align hiu chnh kch thc cho video trng vi kch thc ca Stage v{ t n trng khp ln Stage.

Hnh 117 Hiu chnh thuc tnh Align cho Video ch gu trn Stage Video hnh ch gu ~ c t vo Layer 1. Bn hy sa tn Layer 1 ny thnh Bear.

- 178 -

CHNG 6. CC HIU CHNH NNG CAO

Bc 2. To mi mt Layer, t tn cho n l Fire. Bn hy v ln Layer ny mt hnh ch nht m{u , loi b vin. Tip theo, bn hy convert n thnh MovieClip. Trong bng thuc tnh ca MovieClip ny, bn chn Filter l Blur, hiu chnh BlurX v BlurY l 41. Bc 3. Bn h~y ko thanh |nh du Frame hin ti trn TimeLine, xem v tr cn to qu cu la xut hin. Bn hy bm v{o Frame tng ng trn Layer Fire, nhn phm F6 to mt KeyFrame. Kch chut phi ln qu cu la, chn Create Motion Tween.

Hnh 118 Hiu chnh v tr phng la Chn Frame kt thc vic phng la v ko v tr kt thc ca Tween v ti v tr Frame ny. Ti Frame ny bn hy ko gin qu cu la ny di ra. Trn cc v tr bn trong Tween, bn hy hiu chnh v tr ca cu la khp vi ming ch gu (cc v tr |nh du en trn TimeLine).

- 179 -

CHNG 6. CC HIU CHNH NNG CAO

Gi }y, bn c th kim tra thnh qu ca mnh. Nhn Ctrl+Enter kim tra. Bn c th kt hp vi nhng video m bn xy dng nn. Vic xy dng mt video v s dng Flash to k xo l mt tri nghim kh th v ang ch i bn y. Hi vng bn s thc hin k xo ny mt cch thnh tho. K xo cuc chin trn khng ca hai ch chim

Hnh 119 K xo cuc chin trn khng trung Bn s dng video c tn Bird.flv trong th mc Video ca CD nh km. Cng tng t nh trng hp trn. Bn to Layer Bird cha video m bn import vo. Layer Light cha qung s|ng bao quanh ch chim. Bn cn to mt Motion Tween hiu chnh v tr ca qung sng lun di chuyn v bao quanh ch chim. Bn cn hiu chnh v tr bt u v kt thc ca qung sng ph hp vi v tr xut hin v bin mt ca ch chim. Ti v tr ch chim th hai xut hin, bn to mt lung sng xanh phng ra (tc ch chim ny phng la v pha ch chim th nht), n nm trn Layer One. Lung sng phng v pha trc. Do khng phng trng ch chim 1, nn lung sng s b vt tt khi st bin mn hnh. Khi vt tt, n to ra mt qung sng ln.

- 180 -

CHNG 6. CC HIU CHNH NNG CAO

Bn hy hiu chnh cc v tr cho thch hp trong Motion Tween dnh cho lung sng xanh ny. Bn hy nhn Ctrl+Enter kim tra kt qu. K xo ngi bay trn nhng ch nga }y cng l{ mt k xo tng i n gin. Bn ch cn to hai Layer: Layer 1 cha ni dung video, Layer 2 cha hnh ngi. Bn t ngi vo mt v tr thch hp trn cnh quay, v s dng Motion Tween (hay Classic Tween) to qu o bay ca nhn vt ny.

Hnh 120 K xo ngi bay

6.3. To thc phim Flash ta 3D


Flash mc nh khng h tr c|c i tng ha 3D. N khng cung cp cho chng ta cc cng c to v phi mu 3D. Flash ch cung cp cho ta cng c to ra s dch chuyn 3D v quay theo cc gc trong khng gian. Nu bn tht s

- 181 -

CHNG 6. CC HIU CHNH NNG CAO

mun to mt i tng ng 3D, ti khuyn bn nn s dng n c|c chng trnh chuyn dng: Autodesk Maya l mt s la chn hon ho nht. Tuy nhin, nu bn l{ ngi yu thch Flash, bn cng c th s dng Plugin h tr 3D FreeSpin3D. }y cng l{ mt Plugin kh th v h tr 3D hon ho. Nhng Plugin ny c gi khng r cht no. Nu bn mun tri nghim mt cm gic min ph vi ha 3D trong Flash, bn c th to dng n nh vo ngn ng lp trnh ActionScript. to mt thc phim 3D trn ActionScript, s thun li hn nu chng ta xy dng trn th vin m ngun m PaperVision3D. Chng ti s trnh by kh chi tit v th vin n{y trong chng cui ca gio trnh. Mt kh khn l{ bn cn c mt lng kin thc ton hc kh vng chc to dng c|c i tng ha 3D. Th vin m ngun m PaperVision3D c cung cp cho hu ht cc trnh son tho ActionScript, nhng chng ti s trnh by trn Flex Buider bi }y l{ trnh son tho ActionScript chuyn nghip nht. D khng cung cp cho ta cc cng c chuyn dng thit k 3D, nhng vi k thut phi m{u Gradient v{ k thut Layer, chng ta c th to dng mt thc phim c c|ch nhn 3D. Trong v d sau }y, ti s trnh by cch xy dng on phim |nh golf. Khi ngi |nh golf |nh v{o qu bng, th qu bng s ln v{ ri vo l golf trn sn c. Bc 1. To mi mt Layer c tn l Glass. Bn hy phi mu Linear Gradient, v chn ch m{u nh hnh bn di.

Hnh 121 Tr chi golf: s}n golf trn lp glass. Bc 2. To l golf trn sn golf. To mt Layer mi tn l hole. Trn Layer ny, bn hy to mt hnh Eclipse nh sau.

- 182 -

CHNG 6. CC HIU CHNH NNG CAO

Hnh 122 Tr chi golf: C|c bc to l golf Sau khi to xong l golf, bn b sung thm mt thanh dc lm c cm trn l golf. Sau khi hon tt bc ny, bn h~y t l golf vo mt v tr thch hp trn khung trnh din ca bn. Bn cng lu rng, khung trnh din trong trng hp ny rng hn theo chiu ngang s thch hp hn so vi khung trnh din c chiu dc gn bng hoc ln hn chiu ngang. Ti khuyn co bn trong trng hp ny, nn chn t l theo chun HD l 8:3 (trng hp ca ti l 850px theo chiu ngang, 400px theo chiu dc.

- 183 -

CHNG 6. CC HIU CHNH NNG CAO

Hnh 123 Tr chi golf: Ho{n tt lp Hole Bc 3. To qu bng golf. Hy s dng cng c v hnh Eclipse, to mt khi hnh trn (gi Shift v ko chut). Sau hiu chnh thuc tnh m{u Gradient nh bn di. Qu bng golf ny nm trn Layer ball.

Hnh 124 Tr chi golf: To qu bng chi golf Bc 4. To thanh chi golf. Thanh chi golf n{y s |nh v{o qu bng to hiu ng |nh golf. Thanh chi golf c t trn Layer line.

- 184 -

CHNG 6. CC HIU CHNH NNG CAO

Hnh 125 Tr chi golf: To thanh |nh golf Lu : bn cn t Layer thanh |nh bng v{o sau Layer qu bng chi golf. Tip theo, bn s s dng k thut Motion Tween to hiu ng c}y nh golf |nh v{o qu bng chi golf. Trong trng hp bn di, ti s dng kt hp cng c 3D Rotation.

Hnh 126 Tr chi golf: To cnh |nh bng

- 185 -

CHNG 6. CC HIU CHNH NNG CAO

Khi s dng Motion Tween, bn hiu chnh v tr kt thc ca n l ti Frame th 5. Trn cc Layer cn li, bn bi en Layer th 5 tng ng (nhn thm phm Ctrl), sau nhn phm F5 sao chp Frame 1 n cc Frame cn li (quan st khung TimeLine trn). Bc 5. To hiu ng qu bng ln. Ti Frame th 5 trn Layer ball, bn nhn phm F6 to mi mt KeyFrame. Sau , s dng Motion Tween to chuyn ng cho qu bng tin v pha l |nh golf.

Hnh 127 Tr chi golf: To cnh qu bng di chuyn ng di chuyn ca qu bng c chia lm hai phn: Phn 1 t v tr ban u n l golf (Frame 5 n Frame 60). Phn 2 T v tr b mt l golf xung di l golf (Frame 60 n Frame 65). Bc 6. Theo cch quan st ca chng ta, th t giai on qu bng trn b mt xung n y ca l golf, th qu bng s bin mt. thc hin iu ny, ta s s dng k thut Layer. Bn s dng cng c Lasso, chn trn Layer Glass mt phn nh hnh minh ha bn di.

Hnh 128 Tr chi golf: K thut Layer

- 186 -

CHNG 6. CC HIU CHNH NNG CAO

Lu : Bn nn s dng thuc tnh Lock cho cc Layer cn li (tr Layer glass v Layer hole). Sau khi chn c vng chn nh trn, bn s dng chc nng Distribute to Layers. Khi , s xut hin mt s Layer mi, bn hy nhm cc Layer ny thnh mt nhm bng mt Folder mi (bn t tn cho n l{ LayerTech). Sau , ko Folder ny ln trn tt c cc Layer cn li.

Hnh 129 Tr chi golf: Thanh TimeLine trong k thut Layer n }y, hu nh bn ~ ho{n tt thc phim. Tuy nhin cho phim c tht hn, chng ta s b sung thm hiu ng bng. Sau }y l{ d n hon chnh.

Hnh 130 Tr chi golf: D n hon chnh Vi d n golf ny, hi vng bn s c cm gic 3D sng ng. Chng ta ch n thun s dng nhng k thut n gin c cung cp trong Flash: hiu ng Shadow, hiu ng Gradient v{ k thut Frame, v kt qu thu c l mt thc phim ta 3D.

- 187 -

CHNG 6. CC HIU CHNH NNG CAO

Nu bn mun to mt hiu ng 3D ta nh tr|i t quay, bn cng ho{n to{n c th da vo cc hiu ng n{y. Khi , bn cn mt bc nh v hnh nh tr|i t c pht ha trn mt mt phng (ch khng phi l trn mt cu). Bn kt hp vi cng c Fill Color (bn chn l kiu Bitmap) vi k thut Shape Tween. Lc ny, bn s dng cng c Gradient Transform to s dch chuyn nh trong mt khi hnh trn. }y cng l{ mt cch thc kh th v v cc k n gin. Bn hy thc hin d |n n{y xem nh b{i tp. Nu bn mun to mt thc phim 3D vi nhng hiu ng phc tp (cc nhn vt, i tng quay trong khng gian) th dng nh vic p dng nhng k thut nu trn l{ qu| kh khn. Khi , bn nn chuyn sang mt chng trnh nh Autodesk Maya, bi l Adobe Flash cng khng h tr cch xy dng dng phim 3D hon chnh nh th (tr phi bn lp trnh hon ton trn ActionScript).

6.4. Ghp ni nhiu hot cnh


Khi bn xy dng mt b phim hot hnh, bn cn n nhiu hot cnh. Vic ghp ni nhiu hot cnh trong Flash c thc hin t ng. Bn hy to cc cnh quay khc nhau trn cc Scene khc nhau. Cc hot cnh s c ghp ni t ng theo d~y c|c Scene ~ c sp xp.

6.5. K thut mt n mask

Hnh 131 K thut mt n Mask

- 188 -

CHNG 6. CC HIU CHNH NNG CAO

Mt n l mt k thut cho php bn to ring mt khung trnh chiu vi hnh dng phc tp. Mi hot ng ch c th trnh chiu bn trong mt n. to mt mt n, bn cn to mt khung trnh chiu. to khung ny, bn ch n thun v mt hnh th n{o trn mt Layer tm gi l Layer Mask. Bn tip tc to thm mt Layer th hai to hot cnh. to mt n, bn h~y t Layer Mask ln trn layer hot cnh, kch chut phi vo Layer Mask ny, v chn Mask. Nu bn c nhiu Layer hot cnh cn to bi mt Layer Mask, bn ch vic ko chn Layer ny vo trong Layer Mask khung Layer. n }y, chc bn ~ tng tng lm th n{o to khung hnh phc tp cho cc video ? Layer Mask bn hy to khung trnh chiu, Layer video l layer hot cnh. Th l cng vic ca bn ~ ho{n tt ri ! Remarks: vic s dng mt n khng buc bn phi p dng cho ton cnh quay. Bn c th s dng nhiu mt n ng thi trong mt cnh quay. Mt mt n c tc dng cho mt lp Layer cha i tng. Mt vi v d s dng k thut mt n Mask V d v vic s dng mt n ng: trong v d ny, bn s to mt mt n ng cho mt lp i tng. Bn s s dng hai lp: Layer Art v Layer Mask.

Hnh 132 Mt n ng

- 189 -

CHNG 6. CC HIU CHNH NNG CAO

Bn hy s dng Motion Tween (hoc Classic Tween) to hiu ng dch chuyn lp mt n dc theo ng ngh thut. Tip theo, bn hy kch chut phi ln lp Mask, chn Mask. Lp tc lp mt n chuyn ng ny s to hiu ng xut hin tng phn cho i tng hnh ngh thut. V d v vic s dng mt n bin hnh: trong v d ny, bn s to mt mt n bin hnh. Ho{n to{n tng t nh v d trn, nhng ch khc mt im l trong v d trn, bn s dng Motion Tween (hoc Classic Tween), cn trong v d ny, bn s dng Shape Tween.

Hnh 133 Mt n bin hnh Mt n ng to ra mt hiu ng kh th v. Mt n bin hnh c chc nng cng khng km th v. Bn hon ton c th s dng hai loi mt n ny to ra cc hiu ng hay khi trnh chiu mt Album nh. V d v vic s dng mt n c th di chuyn c (draggable mask). to loi mt n ny, chng ta cn to mt i tng lm mt n. i tng ny phi l biu tng movieclip hoc button. Thng thng, ngi ta s s dng biu tng movieclip. u tin, bn hy to hai Layer: Layer 1 cha nh nn (tm gi l background), Layer 2 to mt hnh ng gi|c lm mt n (tm gi l mask).

- 190 -

CHNG 6. CC HIU CHNH NNG CAO

Hnh 134 To mt draggable mask Bc 1 to c hiu ng ny, bn cn s dng ActionScript. }y, chng ta s s dng ActionScript nh vo Code Snippets. Bn chn i tng hnh ng gi|c, bm vo biu tng Code Snippets.

Hnh 135 To mt draggable mask Bc 2 Bn chn nhm Actions > Drag and Drop. Sau , bn hy nhp i chut vo biu tng ny. Bn hy nhn Ctrl+Enter kim tra. Ti thi im ny, bn c th di chuyn i tng hnh ng gi|c n{y.

- 191 -

CHNG 6. CC HIU CHNH NNG CAO

Tip theo, chng ta s s dng k thut Mask. Bn hy chn Layer Mask, kch chut phi, v chn Mask. Bn s thu c kt qu nh hnh bn di.

Hnh 136 To mt draggable mask Bc 3 Bn hy kim tra movie mt ln na bng cch nhn t hp Ctrl+Enter. Bn s thy rng, hiu ng mask ~ hot ng. Tuy nhin, bn khng th di chuyn c i tng dng lm mt n ny. S d nh vy l v, khi bn s dng hiu ng mask, i tng movieclip c lm mt n s c t ng n nh thuc tnh buttonMode l false. Chng ta cn thay i thuc tnh ny. Bn hy nhn phm F9 quay li vi khung son tho ActionScript. Sau , b sung dng lnh movieClip_1.buttonMode = true; Bn c th tham kho ton b m lnh ca chng trnh nh bn di. movieClip_1.addEventListener(MouseEvent.MOUSE_DOWN, fl_ClickToDrag); function fl_ClickToDrag(event:MouseEvent):void{ movieClip_1.startDrag(); } stage.addEventListener(MouseEvent.MOUSE_UP, fl_ReleaseToDrop); function fl_ReleaseToDrop(event:MouseEvent):void{ movieClip_1.stopDrag(); } movieClip_1.buttonMode = true; To SlideShow nh: Trong v d ny, ti s hng dn cho bn cch to mt SlideShow nh nh v{o k thut Mask. to c SlideShow nh ny, bn hy s dng mt vi bc nh v import vo th vin. Trong v d ny, ti s dng 3 nh. Bn to 6 Layer, 3 Layer cha nh, v{ 3 Layer dng to mt n. Mi mt n s c t ngay trn bc nh. Bn c th tham kho hnh minh ha bn di.

- 192 -

CHNG 6. CC HIU CHNH NNG CAO

Hnh 137 To Slide nh Bc 1 Hiu ng cho mt n Mask 1. Bn hy to mt hnh ch nht c kch thc nh, nm gc trn bn phi ca khung trnh chiu.

Hnh 138 To Slide nh Bc 2

- 193 -

CHNG 6. CC HIU CHNH NNG CAO

Chn i tng hnh vung ny, kch chut phi v chn Create Motion Tween. Bn hiu chnh rng ca Tween ny, sao cho v tr kt thc ca n nm Frame 15. Sau , bn hiu chnh kch thc ca hnh vung sao cho n chim ton khung trnh chiu. Ti Frame th 19 ca Layer Pic1, nhn phm F5 (hoc F6) sao chp ton b nh trn Frame th nht ln c|c Frame 2 n 19. Chn Layer Mask 1 ny, kch chut phi v chn Mask. Hiu ng cho mt n Mask 2. Ho{n to{n tng t vi mt n Mask1. Ln ny, bn hy to mt dy cc ngi sao. Ti Frame 20 ca Layer Mask2, bn nhn phm F6, s dng cng c PolyStar to cc ngi sao.

Hnh 139 To Slide nh Bc 3 Kch chut phi ln c|c i tng ngi sao ny, chn Create Motion Tween. Hiu chnh rng ca Tween ny sao cho v tr kt thc ca n nm Frame 35 ca Layer Mask 2. Ti Frame 39 ca Layer Pic2, nhn phm F5 hoc F6 sao chp Frame 20 ln cc Frame t 21 n 39. Kch chut phi ln Layer Mask 2, chn Mask. Hiu ng cho mt n Mask 3. Tng t nh hai mt n trn. Ln ny chng ta s to hiu ng ct lt. Trn Layer Mask 3, bn hy to cc hnh ch nht (khng vin), rng 1 pixel. Hy sao chp hnh ch nht ny thnh nhiu hnh v sp xp chng gn nhau (khng dnh lin nhau). Chng bao ph ton khung trnh

- 194 -

CHNG 6. CC HIU CHNH NNG CAO

chiu. Trong hiu ng mt n ln ny, ta s dng loi mt n bin hnh. Bn hy chn Layer Mask 3, kch chut phi v chn Shape Tween. Ti Frame 55 ca Layer Mask3, nhn phm F6. Bn tip tc bn vo KeyFrame ny (Frame th 55 ca Layer Mask 3 n{y), chn tt c cc hnh ch nht. Gi phm Ctrl v r chut sao chp tt c chng v sp xp chng st vi cc hnh ch nht trc. Bn tip tc cng vic n{y cho n khi cc hnh ch nht chng kht nhau v che khut khung trnh chiu. Ti Frame th 60 ca Layer Pic3, nhp phm F5 hoc F6. Chn Layer Mask 3, kch chut phi v chn Mask.

Hnh 140 To Slide nh Bc 4 Bn hy quan st li cch b tr c|c Frame trn TimeLine theo hnh bn di.

Hnh 141 To Slide nh Bc 5

- 195 -

CHNG 6. CC HIU CHNH NNG CAO

kim tra kt qu cui cng. Bn hy nhp t hp phm Ctrl+Enter. Hi vng bn s hi long vi cc hiu ng ny. Bn hon ton c th to ra cc hiu ng ca ring bn bng cch s dng hai loi mt n nu trn.

6.6. To c|c nt nhn iu khin


Trong th vin ca Flash cung cp cho ta rt nhiu template ca c|c nt iu khin: nt iu khin c kiu dng chun ca Windows, nt iu khin to sn. Bn cng c th t to mt kiu nt iu khin cho ring mnh. Trong phn ny, chng ta s tm hiu v cch s dng c|c nt iu khin to sn iu khin phim trong Flash. To nt Play v Stop Bt hp thoi Library Button: Windows>Common Libraries>Button. Tip n bn hy chn mt loi Button m bn cho l ph hp.

Hnh 142 To nt nhn iu khin Tip n, bn h~y c{i t tn hin th cho n. Trong Action, bn hy s dng chc nng qun l s kin kch chut. Trong hm s kin tng ng, vi h{nh ng play, bn h~y dng h{m play (nhng bn cn hiu chnh cho on phim khng c chi t ng nh vo hm stop), vi h{nh ng dng phim bn s dng hm stop.

- 196 -

CHNG 6. CC HIU CHNH NNG CAO

To thanh PlayBack Bn hy to mt Movie, sau bn hy s dng thanh Slider lm thanh playback nh hnh minh ha

Hnh 143 To thanh Playback Bn c{i t tn hin th cho i tng Slider l playbar. Trong khung son tho Action, bn vit ni dung nh sau stop(); playbar.maximum = 300; var allowed:Boolean = false; playbar.addEventListener(MouseEvent.MOUSE_MOVE, playbacknow); function playbacknow(e:MouseEvent):void{ if (allowed) gotoAndPlay(playbar.value);

- 197 -

CHNG 6. CC HIU CHNH NNG CAO

} playbar.addEventListener(MouseEvent.MOUSE_DOWN, PlayIt); function PlayIt(e:MouseEvent):void{ allowed = true; } playbar.addEventListener(MouseEvent.MOUSE_UP, StopIt); function StopIt(e:MouseEvent):void{ allowed = false; }

trong on chng trnh n{y, playbar.maximum c gn bng s Frame trong Scene. Bin allowed tng ng vi s kin chut c n xung hay th ra. Khi kt hp s kin n chut v di chuyn chut trn thanh Slider ny, s nhy n Frame c ch nh v tip tc trnh din nh vo hm gotoAndPlay.

6.7. Xut bn mt Movie


Sau khi bn ~ ho{n chnh mt video, cng vic tip theo l bn cn xut bn n. Trc khi xut bn, bn cn hiu chnh mt vi thng s lin quan trong mc Publish Setting. xut bn phim, bn hy chn chc nng Export Movie. Trong hp thoi xut hin, bn hy chn nh dng *.swf. Vi nh dng swf ny, bn c th chi n trong trnh Flash Player hoc trong mt file html vi trnh duyt c c{i t plugin flash. u n{y i lc cng phin nhiu. Bn hon ton c th chn nh dng video khc, tuy nhin n khng gi li nhng hiu ng tng t|c vi cc nt nhn. n gin, Flash Player cung cp cho ta chc nng to trnh movie kh thi *.exe. to mt movie dng ny, bn hy m movie va xut bn bng Flash Player, sau chn File >Create Projector, v nhp tn movie ca bn. Xut bn tp tin cho thit b di ng. xut bn tp tin cho thit b di ng, chng ta c hai hng tip cn:

- 198 -

CHNG 6. CC HIU CHNH NNG CAO

- Nu thit b di ng ch h tr flash lite di dng plugin: chng ta cn chn la khi to mi mt d n trong flash (chn phin bn flash lite ph hp). Bn cng cn lu rng, khng phi dng in thoi n{o cng h tr ActionScript 3, v vy bn cng cn lu . S h tr ny ph thuc vo phin bn flash lite. Vic xut bn mt tp tin cho thit b di ng l hon ton t ng, hoc bn c th s dng chc nng Export Movie nh trn. - Nu thit b di ng h tr Adobe AIR (nh c|c dng m|y tnh bng tablet): khi to mt d n, chng ta cn chn d n Adobe AIR. Vic xut bn tp tin ng gi c{i t trn Adobe AIR khng din ra t ng. Chng ta cn thit lp cc thng s cu hnh cho n. Mt tp tin c{i t cho AIR c phn m rng l *.air (nu ~ c nh km tp tin chng thc) hoc *.airi (nu cha nh km tp tin chng thc). Chng ta ch c th c{i t ln AIR i vi tp tin ~ chng thc *.air. thit lp cc thng s cho tp tin c{i t trn AIR, ta chn File > Adobe Air 2 Settings. a) Mc General

Hnh 144 Thit lp tp tin c{i t trn air Mc General

- 199 -

CHNG 6. CC HIU CHNH NNG CAO

Output file: Tn tp tin c{i t s xut bn. Windows Installer (*.exe): Tn tp tin c{i t xut bn dng *.exe. File name: Tn tp tin sau khi c{i t. Apps name: Tn ca ng dng. Version: Tn phin bn. Apps ID: ID ca ng dng. Description: mt v{i t t v ng dng. Copyright: bn quyn. Windows Style: dng hin th ca ca s Windows dnh cho ng dng AIR. C ba dng hin th: System Chrome (theo h thng), Custom Chrome (ty chnh) v Transparent (trong sut).

b) Mc Signature

Hnh 145 Thit lp tp tin c{i t trn air Mc Signature To mt tp tin chng thc. Nu cha c mt tp tin chng thc, chng ta bm vo nt Create. Publisher name: tn nh xut bn ~ to ra tp tin. Organization unit: n v t chc. Organization name: tn t chc. Country: quc gia. Password/Confirm password: mt khu bo v v nhp li mt khu. Type: thut ton m ha. Save as: v tr lu tp tin chng thc.

- 200 -

CHNG 6. CC HIU CHNH NNG CAO

Hnh 146 To tp tin chng thc. c) Mc Icon: chn biu tng cho chng trnh. Chng ta cn to ra 4 kch thc cho biu tng: 16x16, 32x32, 48x48 v 128x128. d) Mc Advanced

Hnh 147 Thit lp tp tin c{i t trn air Mc Advanced.

- 201 -

CHNG 6. CC HIU CHNH NNG CAO

Associated file type: chng trnh s qun l tp tin no. Initial Windows Settings: cc thng s v ca s Windows chiu rng (width), chiu cao (height), ta x, ta y, rng ti a (maximum width), cao ti a (maximum height), rng ti thiu (minimum width), cao ti thiu (minimum height), cho php hin th ch cc i (maximizable), cho php hin th ch ti thiu (minimizable), cho php thay i kch thc (resizable), cho php hin th (visible). Other settings: cc thit lp khc install folder (th mc c{i t), program menu folder (th mc hin th trong menu program). Sau khi thit lp xong cc thng s, bn chn Publish xut bn (hoc nhp Ok).

6.8. Xut bn mt tp tin Flash trong sut trn trnh duyt


Nu thng xuyn duyt web, chng ta c th thy trn nhiu website c nhng thc phim Flash ng c th di chuyn trn trang web nhng khng che khut cc ni dung trn trang web v{ c bit khng c khung hnh bao quanh c|c i tng trong phim Flash .

Hnh 148 Phim Flash vi c|c i tng my, chim hi u, cy da v hoa

- 202 -

CHNG 6. CC HIU CHNH NNG CAO

Trong hnh 148 trn, c|c i tng s hin th ln trnh duyt web v mu nn ca Stage s khng hin th trn trnh duyt.

Hnh 149 Phim Flash trong sut trn trnh duyt to mt thc phim Flash trong sut nh th ny, ta ch thay i phn thit lp Publish Settings khi xut bn mt tp tin Flash. D mu nn ta c thit lp l m{u n{o i na, th vi ty chnh bn di }y, mu nn ca phim s lun trong sut. Bc 1. Hy thit k mt phim Flash vi mu nn ty chnh, nhng cn lu rng, ta khng c php s dng mt i tng, mt hnh nn lm hnh nn cho thc phim. Bc 2. Vo File > Publish Settings. Trong hp thoi hin ra, chn th Flash, chn chc nng Windows Mode l{ Transparent Windowsless.

- 203 -

CHNG 6. CC HIU CHNH NNG CAO

Hnh 150 Hp thoi Publish Settings Bc 3. Nhn Publish xut bn tp tin. Nu mun a phim n{y v{o trong c|c website, ta ch cn m tp tin htm ln v sao chp on m sau: <div id="flashContent" style= width:100%; height:100%; margin-top:330px; margin-left:0px;>

- 204 -

CHNG 6. CC HIU CHNH NNG CAO

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="550" height="400" id="index" align="middle"> <param name="movie" value="index.swf" /> <param name="quality" value="high" /> <param name="bgcolor" value="#0066ff" /> <param name="play" value="true" /> <param name="loop" value="true" /> <param name="wmode" value="transparent" /> <param name="scale" value="showall" /> <param name="menu" value="false" /> <param name="devicefont" value="false" /> <param name="salign" value="" /> <param name="allowScriptAccess" value="sameDomain" /> <!--[if !IE]>--> <object type="application/x-shockwave-flash" data="index.swf" width="550" height="400"> <param name="movie" value="index.swf" /> <param name="quality" value="high" /> <param name="bgcolor" value="#0066ff" /> <param name="play" value="true" /> <param name="loop" value="true" /> <param name="wmode" value="transparent" /> <param name="scale" value="showall" /> <param name="menu" value="false" /> <param name="devicefont" value="false" />

- 205 -

CHNG 6. CC HIU CHNH NNG CAO

<param name="salign" value="" /> <param name="allowScriptAccess" value="sameDomain" /> <!--<![endif]--> <a href="http://www.adobe.com/go/getflash"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_playe r.gif" alt="Get Adobe Flash player" /></a> <!--[if !IE]>--> </object> <!--<![endif]--> </object> </div> Cn lu n cc th c in m.

- 206 -

CHNG 6. CC HIU CHNH NNG CAO

Tng kt chng 6
Trong chng n{y, chng ta ~ c lm quen vi k thut Mask mt k thut rt hu ch trong Flash. Bn c th to mt mt n chuyn ng, mt n bin hnh hoc mt mt n c th di chuyn. Bn c th to cc nt nhn, thanh playback chi c|c movie. c bit hn, bn cn c lm quen vi cch x l m thanh, hnh nh v video vi c|c chng trnh chuyn dng. Sau khi hon tt chng 6 n{y, hi vng bn ~ c mt kin thc tng i v Flash v ActionScript. Bn c th n}ng cao k nng thc hnh ca mnh bng cch thc hnh cc bi lab trong phn tip theo.

- 207 -

CHNG 6. CC HIU CHNH NNG CAO

Blank Page

- 208 -

CHNG 7. TH VIN PAPERVISION3D

CHNG 7. TH VIN PAPERVISION3D


7.1. Gii thiu v PaperVision3D v Adobe Flex Builder
PaperVision3D l mt th vin m ngun m dnh cho ActionScript 3 lm vic vi c|c i tng ha 3D: xy dng i tng 3D, t mu, to hot hnh... }y l mt lp th vin mnh m c xy dng trn ActionScript. PaperVision3D c pht trin u tin bi Carlos Ulloa. Nhng ng{y n{y, n ~ c mt i ng lp trnh vin quc t pht trin da trn d n m cng tn PaperVision3D. Th vin n{y c cung cp ti a ch website http://www.papervision3d.org. PaperVision3D c s dng kt hp vi cc trnh son tho ActionScript nh: Adobe Flex Builder, Adobe Flash Professional, FDT hoc FlashDevelop. Trong gio trnh ny, chng ti s trnh by trn trnh son tho Adobe Flex Buider. Adobe Flex Buider l l mt trnh sng tc RIA (Rich Internet Application) v son tho ActionScript chuyn nghip.

Hnh 151 Adobe Flex Buider 4

CHNG 7. TH VIN PAPERVISION3D

N c xy dng trn trnh son tho Eclipse mt d n m ngun m cho mt trnh IDE (Integrated Development Enviroment mi trng pht trin tch hp) chuyn nghip, tiu tn hng triu la ca IBM. V mt sng tc RIA, Adobe Flex Builder cung cp cc cng c lm vic vi hu ht cc ngn ng lp trnh web: php, jsp, asp.net, cung cp cng c kt ni c s d liu, cung cp cc thnh phn hin th giao din trn cc trang web vi tng t|c nh c|c trnh ng dng trn Desktop V mt son tho ActionScript, Adobe Flex Builder t ra vt tri so vi cc trnh son tho khc k c Adobe Flash Professional: ch son tho chuyn nghip bt li, sa li, bin dch Nu bn ~ c kinh nghim s dng Eclipse IDE th khng kh khn g khi l{m quen vi Adobe Flex Buider. a. To mt d n trong Flex Buider

Hnh 152 To mi d n trong Flex Buider Flex Project: to mi d n RIA. Flex Library Project: to d |n th vin. Flash Professional: to d n Flash bao gm c d n Flash cha ActionScript. ActionScript Project: to d n ActionScript.

- 210 -

CHNG 7. TH VIN PAPERVISION3D

Ti cng xin lu n cc bn rng, Adobe Flex Builder l cng c son tho ActionScript kt hp vi PaperVision3D ch khng phi l cng c pht trin RIA cho web. Do , chng ta s lm quen vi cch s dng n trong cc d n c minh ha trong mi v d ca gio trnh. Nu bn quan t}m n trnh bin dch ny, hay s dng n pht trin RIA cho web, chng ti s gii thiu n cc bn trong mt gio trnh khc chuyn v Adobe Flex Builder. Mt iu na cc bn cn lu l{ phin bn m{ chng ti ang s dng l Adobe Flex Buider 4 v ActionScript phin bn 3.0. iu n{y m bo cho cc cc v d minh ha ca chng ti trong gio trnh ny s hot ng tt trong cc d n ca bn m khng vp phi vn no. b. Thao tc vi mt d n trong Flex Builder M mt d n tn ti: Trong ca s Package Explorer bn tri, bn kch chut phi v chn Import (hoc vo File > Import). Sau , bn chn Flex Builder Project (theo cch vo menu File) hoc Import trc tip (theo menu kch chut phi). Hp thoi sau }y s hin ra

Hnh 153 Import mt d n Bn chn Existing Projects into Workspace. Nhp Next. Trong hp thoi tip theo, bn duyt n v tr d n ca bn, sau nhp Finish.

- 211 -

CHNG 7. TH VIN PAPERVISION3D

Import theo ty chn Flash Builder s dng khi import mt d n Flex Project (tc d n RIA). Trong gio trnh ny, chng ta khng quan t}m n trng hp ny. ng mt hoc nhiu d n ang m: bn ch vic chn d |n ang m (nu nhiu d n, bn hy nhn phm Ctrl chn cc d n khng lin tc, hoc phm Shift nu cc d n lin tc trong ca s Package Explorer). Sau , kch chut phi v chn Close Project. Bin dch mt d n ActionScript: bn m bo file ActionScript ca bn ang c m (ch ch Open Project, khng ch Open File). Sau , bn kch vo biu tng trong hnh minh ha sau

Hnh 154 Bin dch mt d n ActionScript Trong menu th xung, bn chn Other. Ca s sau }y s hin ra

Hnh 155 La chn chng trnh bin dch

- 212 -

CHNG 7. TH VIN PAPERVISION3D

Bn nhp i chut vo Web Application (nu mun s dng thc phm trn Flash Player) v Desktop Application (nu mun s dng thc phim trn Adobe AIR). Sau , bn nhp v{o nt Run thc thi d n. Sau khi la chn c chng trnh bin dch theo c|c bc nu trn, t thi im ny tr i, khi bin dch bn ch vic chn biu tng , lp tc trong menu th xung s c menu vi tn m bn ~ thit lp. Bn ch vic chn menu n{y bin dch d n m khng cn phi la chn thm ln na. Remarks: Phm tt tng ng vi Debug Desktop Application Alt+Shift+D,D v phm tt tng ng vi Debug Web Application Alt+Shift+D,W. Lm vic vi Workspace: Eclipse qun l cc d n theo workspace. Mt workspace cha mt tp cc d |n tin cho vic qun l. Adobe Flex Builder c xy dng trn Eclipse cho nn n cng qun l cc d n theo workspace. chuyn i qua li gia cc workspace, bn vo File > Switch workspace > Other. Trong ca s xut hin, bn duyt n v tr workspace m bn chn, sau nhp Ok. Adobe Flex Builder s t ng ti tt c cc d n ln Adobe Flex Builder.

7.2. Cu hnh v{ c{i t PaperVision3D cho Adobe Flex Buider


Ti PaperVision3D: bn hy truy cp v{o a ch sau }y http://papervision3d.googlecode.com/files/Papervision3D_2.1.932.zip Sau khi ti xong, bn gii nn tp tin ny vo mt v tr n{o trn a. Bn s thu c th mc Papervision3D_2.1.932 v{ bn trong n l{ th mc src. Th mc src cha ni dung nh sau

To d n th vin ActionScript: bn hy khi ng Adobe Flex Builder. Kch chut phi vo ca s Package Explorer, chn New > Flex Library Project. Trong ca s hin ra, bn t tn cho d n ny l PV3D( tc PaperVision3D). Trong d n m bn va to, c mt th mc src, bn hy copy ton b ni dung ca th mc src m bn thu c khi gii nn trn v{o trong th mc src ny (hoc n gin, bn c th s dng thao tc ko th).

- 213 -

CHNG 7. TH VIN PAPERVISION3D

Hnh 156 Th mc src To d n ActionScript: kch chut phi trong ca s Package Explorer, chn New > ActionScript Project. Tip theo, bn h~y t tn cho d n ActionScript ca mnh, v d PV3DTest. Chn th mc src trong d n ny, kch chut phi chn New > Package. Thao tc ny gip bn to mt gi cha cc lp m bn s to v sau. Package gip ng gi c|c lp. iu n{y cng gip bn qun l cc lp tt hn. Nu bn khng to mi mt package, Adobe Flex Builder s t ng s dng default package (package mc nh). Tuy nhin, ti khuyn co bn nn to cc package cho mi d n ca bn c r r{ng hn. V d, trong trng hp ny, ti to package c tn l Lession01. Sau }y l{ cu trc ca hai d n m ti va to minh ha cho v d s dng PaperVision3D.

Hnh 157 Cu trc th mc PV3D v PV3DTest Ti FLARToolKit: ARToolKit l mt th vin c to bi Hirokazu Kito ca vin Khoa hc v Cng ngh Nara Nht Bn. Sau n{y, n c pht trin v xut bn bi i hc Washington. FLARToolKit l{ th vin dnh ring cho Flash k t phin bn 9.0 da trn ARToolKit. N cung cp cc cng c cn thit v kt hp vi th vin PaperVision3D lm vic vi h ta th gii thc: v tr t camera, gc quay, chiu s|ng.N hon ton min ph v l d n m ngun

- 214 -

CHNG 7. TH VIN PAPERVISION3D

m. Bn c th ti n ti a ch: http://www.libspark.org/browser/as3/FLARToolKit/branches/alchemy/bin/FL ARToolKit.swc?format=raw a th vin FLARToolKit.swc vo d n: kch chut phi vo d n ActionScript, chn New > Folder. Bn h~y t tn cho n, v d swc. Sau , bn h~y copy file FLARToolKit.swc v{o th mc swc va mi to. Kch chut phi vo d n ActionScript ny, chn Properties. Trong ca s xut hin, bn chn ActionScript Build Path, chn tip th Library Path. Sau , bn nhp vo nt Add SWC Folder. Trong hp thoi mi xut hin, bn hy nhp tn ca th mc cha file FLARToolKit.swc trn tc th mc swc. Sau nhp Ok. Bn hy quan st hnh nh bn di

Hnh 158 Hp thoi Properties ca d n ActionScript a th vin PV3D vo d n PV3DTest: kch chut phi vo d ActionScript ny, chn Properties, chn ActionScript Build Path, sau chn th Library path. Nhp chn nt Add Project v chn d |n th vin PV3D trn.

- 215 -

CHNG 7. TH VIN PAPERVISION3D

Gi }y, bn ch n thun bt tay vo vit code to cc kch bn 3D. Mi th u tht kh| n gin bi cc lp th vin m bn va ti cha ng mt th vin hm kh ln.

7.3. Chng trnh Hello, PaperVision3D !


Mt cch thc hc lp trnh l{ bt tay v{o vit code cho mt chng trnh n gin trc khi bt u tm hiu chi tit v n. V d kinh in v{ n gin nht l vit ra mt thng b|o Hello. Tuy nhin, trong d n ny, chng ta khng a ra mt thng b|o Hello nh trn, m{ chng ta s to mt qu cu 3D n gin v khng thm bt c mt i tng no khc. Nu bn mun b sung thm mt lp ActionScript, bn hy kch chut phi vo package Lession01 m bn ~ to trn, chn New > ActionScript Class. Theo cch to d n ActionScript trn, Adobe Flex Builder ~ mc nh s dng default package, v bn trong package ny cha mt lp mc nh cng tn vi d n l PV3DTest. Ni dung ca lp n{y nh sau package Lession01 { import flash.display.Sprite; // Thit lp khung trnh chiu public class PV3DTest extends Sprite { public function Hello3D() { //Vit code v{o }y } } } Trong phn thit lp khung trnh chiu, bn c th s dng on m sau [SWF(width="1420", height="800", backgroundColor="0x000000")] Trong , width l{ rng, height l{ cao (c tnh theo pixel); backgroundColor l mu nn.

- 216 -

CHNG 7. TH VIN PAPERVISION3D

b sung vo khung trnh chiu mt i tng qu cu 3D, trc tin, ta s khi to mt i tng qu cu 3D nh hm to c cung cp bi lp Sphere Sphere sp=new Sphere(arg0:MaterialObject3D, arg1:Number, arg2:int, arg3:int); Trong , arg0 l{ c|ch phi m{u cho i tng sp, n l mt kiu MaterialObject3D; arg1 bn knh ca hnh cu, kiu d liu Number; arg2, arg3 s mnh c phn chia theo chiu ngang v chiu dc (s lng cc mt Spline). Tuy i tng sp ~ c to, nhng n cha c b sung vo khung trnh chiu. b sung n vo khung trnh chiu, ta phi s dng mt khung nhn View. Trong trng hp ny, ta s s dng BasicView l{ khung nhn c bn nht. Lp PV3DTest s k tha lp BasicView ny nh t kha extends. Nh tnh k tha ny, lp PV3DTest s c phng thc scene.addChild ca lp BasicView. scene.addChild(sp); Tuy nhin, bn c th gp hai dng lnh ny thnh mt s gn g{ng hn, nhng nu bn mi bt u lm quen vi ActionScript (hoc Java, C#) th bn khng nn vit tt nh bn di. scene.addChild(new arg3:int)); Sphere(arg0:MaterialObject3D, arg1:Number, arg2:int

Cui cng, bn hy b sung v{o phng thc startRendering() hin th i tng c to theo cch phi m{u c chn ln thit b hin th ca my tnh. Sau }y l{ chng trnh Hello y to mt qu cu 3D trong khng gian. package Lession01 { import org.papervision3d.objects.primitives.Sphere; import org.papervision3d.view.BasicView; [SWF(width="1420", height="800", backgroundColor="0x000000")] public class PV3DTest extends BasicView { public function PV3DTest() { scene.addChild(new Sphere(null, 500, 50, 50)); startRendering();//hoc singleRender(); } }

- 217 -

CHNG 7. TH VIN PAPERVISION3D

} Remarks: bn hy s dng t hp phm Ctrl+Space s dng ch Auto Generate Code (ch gi nhc m lnh). Nh vo ch ny, bn s son tho vn bn nhanh hn v{ ng thi, bn s khng mc phi li khi vit sai tn phng thc hay thuc tnh cng nh tn lp. Nu bn to mi mt i tng nh vo mt lp th vin kh|c, khi , bn cn import thm mt th vin tng ng. Nhng khi s dng t hp phm ny, vic import th vin l hon ton t ng. Bn hy to mt thi quen s dng t hp phm ny. Mi khi bn cn s dng mt phng thc n{o , bn hy vit mt vi k t u ca phng thc, sau s dng t hp phm ny. To hiu ng ng cho i tng 3D: tng ng vi qu cu 3D ny, chng ta c th to mt chuyn ng 3D tng ng. Chng trnh sau }y minh ha chuyn ng ca mt hnh cu trong khng gian. Trong m hnh ny, mt i tng hnh cu s quay theo trong khng gian. Khi quay trong khng gian, n c th quay theo mt trong 3 chiu: theo chiu x pitch; theo chiu y yaw; theo chiu z roll. Ba phng thc ny c chung mt c php pitch(arg0), yaw(arg0) v roll(arg0). , tham s arg0 l gc quay tng ng trn mi khung hnh. package Lession01 { import flash.events.Event; import org.papervision3d.objects.primitives.Sphere; import org.papervision3d.view.BasicView; [SWF(width="1420", height="800", backgroundColor="0x000000")] public class PV3DTest extends BasicView { private var sp:Sphere; public function PV3DTest() { sp = new Sphere(null, 500, 50, 50); scene.addChild(sp); addEventListener(Event.ENTER_FRAME, rotatenow); } public function rotatenow(e:Event):void{

- 218 -

CHNG 7. TH VIN PAPERVISION3D

sp.yaw(5); startRendering(); } } }

Trong chng trnh n{y, i tng sp c s dng khng ch trong phng thc khi to, m{ cn c s dng trong phng thc rotatenow. Do , i tng ny cn c khai b|o nh l{ mt d liu thnh vin ca lp. Trong phng thc khi to, phng thc addEventListener c triu gi tng ng vi s kin ENTER_FRAME. Khi s kin ny xy ra, h{m rotatenow c gi. Trong trng hp ny, hnh cu s quay theo chiu ca trc y nh v{o phng thc yaw. Bn hon ton c th to ra mt cch quay mi nu kt hp ba phng thc yaw, pitch v roll (hoc mt trong hai phng thc trn). To hiu ng ng cho i tng 3D theo chuyn ng ca con tr chut: to hiu ng ng cho hnh cu trn theo chuyn ng ca chut, ta cng s dng cng phng thc trn nhng kt hp vi ta chut. Khi , h{m rotatenow c th c vit nh sau public function rotatenow(e:Event):void{ sp.yaw((1420-mouseX)*0.01); sp.pitch((800-mouseY)*0.01); startRendering(); } Cc s liu trong hm ny ch mang tnh cht minh ha, m khng s dng mt cch thc tnh ton no. Bn hon ton c th thay i gi tr cc tham s trong trng hp n{y. Khi , bn s nhn c cc hiu ng dch chuyn theo tr chut khc nhau. }y cng l{ mt cch thc gip pht trin k nng lp trnh ca bn. Bn ng e ngi rng chng trnh s khng hot ng. Phng ch}m ca chng ti t ra trong gio trnh ny l khng ch cung cp kin thc cho bn m cn pht trin t duy s|ng to ca bn trong thit k v lp trnh trn Flash.

- 219 -

CHNG 7. TH VIN PAPERVISION3D

7.4. C|c i tng trong PaperVision3D


7.4.1. Cc i tng hnh th a. Khi to cc i tng hnh th. C|c i tng hnh th trong PaperVision3D c t trong package org.papervision3d.objects.primitives. i tng Cone (Hnh nn) Phng thc khi to Cone( Gii thch Phng thc khi to c 5 tham s:

material:Material3DObject, -material: cch thc phi mu. i tng ny chng ta s c tm hiu radius:Number, trong mc tip theo. height:Number, segmentsW:int, segmentsH:int ) -radius: bn knh hnh trn |y. -height: chiu cao. -segmentsW: s phn mnh xp x theo chiu rng ca hnh nn. -segmnetsH: s phn mnh xp x theo chiu cao ca hnh nn. i tng hnh nn l mt trng hp c bit ca i tng Cylinder. Tuy nhin, nu bn mun to dng mt hnh nn, bn nn s dng i tng c th ny thay v s dng i tng Cylinder.

Hnh 159 i tng Cone

- 220 -

CHNG 7. TH VIN PAPERVISION3D

Cylinder

Cylinder(

Phng thc khi to c 8 tham s:

(Hnh tr v material:Material3DObject, -material: cch thc phi mu. hnh chp radius:Number, -radius: b|n knh hnh trn |y. ct) height:Number, segmentsW:int, segmentsH:int, topRadius:Number, topFace:Boolean, bottomFace:Boolean ) -height: chiu cao ca hnh tr. -segmentsW: s phn mnh xp x theo chiu rng ca hnh. -segmentsH: s ph}n m~nh c xp x theo chiu cao ca hnh. -topRadius: bn knh ca hnh trn nh. Nu l hnh tr th gi tr mc nh l -1 hoc chnh gi tr radius. Nu tham s ny nhn gi tr 0, ta nhn c hnh nn. Nu tham s nhn gi tr nh hn -1, th n tr th{nh hai hnh nn chung nh. -topFace: cho php b mt nh c c t mu hay khng. Nu khng t m{u, c ngha n s rng pha trn. -bottomFace: tng t topFace, nhng n |p dng cho b mt |y.

Hnh 160 i tng Cylinder

- 221 -

CHNG 7. TH VIN PAPERVISION3D

Plane (Mt phng)

Plane(

Phng thc khi to c 5 tham s:

material:Material3DObject, -material: cch thc phi mu. width:Number, height:Number, segmentsW:int, segmentsH:int ) -width: chiu rng ca mt phng. -height: chiu cao ca mt phng. -segmentsW: s phn mnh xp x theo chiu rng. -segmentsH: s phn mnh xp x theo chiu cao. Thng thng mt mt phng khng nht thit phi ph}n m~nh (ngha l{ s dng s phn mnh mt nh bng 0). Tuy nhin nu ta khng t mu cho mt phng th trong trng hp ny n s kh c nhn din. Chnh v l , nu mt phng khng c t mu, th bn nn s dng s ph}n m~nh kh|c 0; ngc li, bn nn s dng s phn mnh mt nh.

Hnh 161 i tng Plane PaperPlane (Chic tu bay giy) PaperPlane( Phng thc khi to c 2 tham s:

material:Material3DObject, - material: cch thc phi mu.

- 222 -

CHNG 7. TH VIN PAPERVISION3D

scale:Number )

- scale: phng to ca vt th.

Hnh 162 i tng PaperPlane

Arrow (Mi tn)

Arrow( material:Material3DObject )

Phng thc khi to 1 tham s: -material: cch thc phi mu.

Hnh 163 i tng Arrow Sphere (Hnh cu) Sphere( Phng thc khi to 4 tham s:

material:Material3DObject, - material: cch thc t mu.

- 223 -

CHNG 7. TH VIN PAPERVISION3D

radius:Number, segmentsW: int, segmentsH:int )

- radius: bn knh ca hnh cu. - segmentsW: s phn mnh xp x theo chiu ngang. -segmentsH: s phn mnh xp x theo chiu dc.

Hnh 164 i tng Sphere

Cube (Hnh hp)

Cube(

Phng thc khi to c 9 tham s:

material:Material3DObject, - material: cch thc t mu. width:Number, depth:Number, height:Number, segmentsH:int, segmentsS:int, segmentsT:int, insideFaces:int, excludeFaces:int ) - width: rng ca hnh hp. - depth: su ca hnh hp. - height: cao ca hnh hp. - segmentsH: s phn mnh xp x theo chiu ngang. - segments: s phn mnh xp x theo chiu dc (theo chiu xch o). - segmentsT: s phn mnh xp x theo chiu xu. - insideFaces, excludeFaces: hin th

- 224 -

CHNG 7. TH VIN PAPERVISION3D

mt trong v mt ngoi.

Hnh 165 i tng Sphere C|c i tng ny gi l cc hnh 3D nguyn thy. Nu bn mun xy dng mt hnh th 3D phc tp, bn c th da trn c s ca nhng hnh th ny. to c|c i tng phc tp, chng ta c th s dng c|c chng trnh thit k 3D chuyn nghip nh Maya, sau , ta s import cc hnh th n{y v{o trong Flash thit k theo kch bn ca mnh. Chi tit hn chng ti s gii thiu trong mc [7.5]. Trong mt s phin bn mi hn (ch l phin bn beta phin bn chng ta ang s dng l mi nht cho n thi im hin ti), ngo{i c|c i tng ny cn c thm i tng Stars i tng ngi sao 3D. V }y l{ tnh nng mi trong phin bn th nghim, nn chng ti s khng a v{o trong gio trnh ny. b. Cc phng thc v thuc tnh ca cc hnh th. Trong bng sau }y, chng ti s trnh b{y c|c phng thc v thuc tnh thng hay s dng ca c|c i tng 3D nguyn thy ~ nu. C|c phng thc v thuc tnh ny c th l{ chung cho c|c i tng, cng c th l c trng cho mt i tng n{o . Adobe Flex Builder s t ng kim tra mt phng thc, thuc tnh c phi l ca i tng ang thao t|c hay khng. V vy, chng ti s khng i s}u v{o iu ny, m ch gii thch chc nng ca mi phng thc hoc thuc tnh. Phng thc get set Gii thch

- 225 -

CHNG 7. TH VIN PAPERVISION3D

Thuc tnh alpha:Number x x Thuc tnh trong sut, c phn b t 0..1. Gi tr alpha cng nh th trong sut ca vt th cng cao. Ta ca vt th trong khng gian: xho{nh , y-tung , z-cao . Ta ny c tnh theo i tng cha n. Gc quay ca vt th theo cc trc x, y, z tng ng. phng to theo c ba chiu (scale) v theo chiu x, y, z tng ng vi scaleX, scaleY, scaleZ. S dng nh c|c phng thc v thuc tnh ca i tng scene. Ta x, y, z ca i tng tng ng vi h ta cnh quay trong th gii thc. x x x x x x Tr v i tng Number3D, cha cc thng s lin quan n ta ca vt th DisplayObject3D. Cho php i tng hin th hay n. Thit lp tn cho i tng. Thit lp id cho i tng. Thit lp m{u t cho i tng. Thit lp danh sch mu t (p dng cho cube). Quay lin tc theo trc x, mi ln quay mt gc angle.

x, y, z: Number rotationX, rotationY, rotationZ:Number scale, scaleX, scaleY, scaleZ: Number scene:SceneObject3D sceneX, sceneY, sceneZ: Number Position:Number3D visible:Boolean name:String id:int material:MaterialObjec t3D materials:MaterialList pitch(angle:Number):v oid

x x

x x x x x x

- 226 -

CHNG 7. TH VIN PAPERVISION3D

yaw(angle:Number):vo di roll(angle:Number):voi d moveDown(distance:N umber):void moveUp(distance:Num ber):void moveBackward(distan ce:Number):void moveForward(distanc e:Number):void moveLeft(distance:Nu mber):void moveRight(distance:N umber):void addChild(child:Display Object3D, name:String):DisplayO bject3D addChildren(parent:Di splayObject3D):Displa yObjectContainer3D removeChild(child:Dis playObject3D):Display Object3D removeChildByName( name:String):DisplayO bject3D addEventListener(type

Tng t i vi trc y. Tng t vi trc z. Di chuyn lin tc i tng xung di. Di chuyn lin tc i tng ln trn. Di chuyn lin tc i tng ra sau. Di chuyn lin tc i tng ra pha trc. Di chuyn lin tc i tng sang tri. Di chuyn lin tc i tng sang phi. B sung i tng child ln vt th v{ ng thi thit lp tn cho n l name.

B sung tt c c|c i tng con nm trn parent ln DisplayObjectContainer3D Loi b i tng child.

Loi b i tng c tn l name.

B sung mt event tng ng vi s kin

- 227 -

CHNG 7. TH VIN PAPERVISION3D

:String, listener:Function, useCapter:Boolean, priority:int, useWeakReference:Bo olean):void removeEventListener( type:String, listener:Function, useCapter:Boolean):vo id

xy ra trn i tng.

Loi b event ~ b sung cho i tng.

Trong bng trn, ct get v ct set tng ng vi gi tr ca thuc tnh. Mt thuc tnh c n nh l get th n ch cho php c, ngc li n c n nh l set th ch cho php ghi. Nu n c n nh get v{ set, th n cho php c v ghi. Get v set ch p dng cho thuc tnh, khng p dng cho phng thc. Trn }y chng ti ch trnh by nhng phng thc v thuc tnh thng hay c s dng nht. Bn c th tham kho ton b ni dung a ch website papervision3d sau: http://www.papervision3d.org/docs/as3/. 7.4.2. i tng Material - Phi mu cho hnh th C|c i tng Material nm trong package org.papervision3d.materials. Trong package ny cha c|c i tng sau: BitmapAssetMaterial, BitmapFileMaterial, BitmapMaterial, ColorMaterial, MaterialsList, MovieAssetMaterial, MovieMaterial v WireframeMaterial. Ngoi ra, n cn cha thm mt s package kh|c nh: utils, special, shaders, shadermaterials. Hai gi shaders v shadermaterials dng to hiu ng bng. Chng ta s tm hiu mt vi lp i tng trong s ny. a. Phi mu bng WareframeMaterial. i tng WareframeMaterial nm trong gi org.papervision3d.materials.WareframeMaterial. Hm to ca i tng WareframeMaterial WareframeMaterial wm = new WareframeMaterial(color:Number, alpha:Number, thickness:Number); Trong , Tham s color quy nh mu sc ch o.

- 228 -

CHNG 7. TH VIN PAPERVISION3D

Tham s alpha quy nh trong sut ca mu t. Tham s thickness: quy nh ln ca ng vin trong cch t mu. V d scene.addChild(new Sphere(new WireframeMaterial(0x00ff00, .5, 4),400,20,20));

Hnh 166 T mu bng ColorMaterial b. Phi mu bng ColorMaterial. i tng ColorMaterial nm trong gi org.papervision3d.materials.ColorMaterial. Hm to ca i tng ColorMaterial ColorMaterial cm interactive:Boolean); Trong , Tham s color quy nh mu sc ch o. Tham s alpha quy nh trong sut ca mu t. Tham s interactive: quy nh s tng t|c gia cc vt th trong cng mt viewport. V d scene.addChild(new Sphere(new ColorMaterial(0x00ff00, 1, true), 400, 20, 20)); = new ColorMaterial(color:Number, alpha:Number,

- 229 -

CHNG 7. TH VIN PAPERVISION3D

Hnh 167 T mu bng ColorMaterial Nh bn thy, hnh th c phi mu theo dng thc ny trng ging mt hnh 2D thng thng. S d nh vy l v chng ta khng s dng n cc hiu ng light v shader. Nu bn kt hp vi cc hiu ng ny, th bn s nhn c mt kt qu tt hn. Hiu ng ny ch n thun phi m{u c (solid color) cho i tng hnh th. c. Phi mu bng Bitmap. Vic phi mu bng bitmap c th c chia lm hai cch: nhng trc tip nh bitmap vo trong phim Flash hoc ti bitmap vo movie trong mi ln thc thi. Nhng trc tip hnh nh bitmap Bc 1. Nhng file bitmap vo trong phim Flash [Embed(source="../Earth.jpg")] private var EarthBmp:Class; Trong trng hp n{y, File Earth c t cng th mc vi src, file actionscript nm trong th mc src, do ng dn phi li mt cp. Bc 2. S dng hm to ca i tng BitmapMaterial var earthbmp:BitmapData = new EarthBmp().bitmapData; var earthmaterial:BitmapMaterial = new BitmapMaterial(earthbmp); Tip theo, bn triu gi i tng earthmaterial trong phng thc khi to ca i tng hnh th cn phi mu.

- 230 -

CHNG 7. TH VIN PAPERVISION3D

scene.addChild(new Sphere(earthmaterial, 400, 20, 20));

Hnh 168 T mu bng BitmapMaterial Kt qu bn nhn c i tng hnh cu nh trn. Ti ln hnh nh bitmap trong mi ln phim khi ng Hm to ca i tng BitmapFileMaterial var bm:BitmapFileMaterial=new BitmapFileMaterial(url:String, precise:Boolean) Trong , Tham s url l{ ng dn n file nh. Tham s precise quy nh chnh xc. Ta c th s dng dng lnh sau }y thu c cng kt qu Hnh 142. scene.addChild(new Sphere(new BitmapFileMaterial(../Earth.jpg, true), 400, 20, 20)); Trong cch ny, bn lu rng hnh nh dng lm mu t cn phi c nh km vi file Flash theo ng cu trc th mc tc file nh jgp nm cng cp vi th mc cha file Flash sau khi c bin dch. Remarks: Trong c|c i tng material, c ba i tng FlatMaterial, GouraudMaterial v{ PhongMaterial tng ng vi ba thut ton Shading ni ting: thut ton FlatShading, thut ton Shading ca Gouraud v thut ton

- 231 -

CHNG 7. TH VIN PAPERVISION3D

Shading ca Phong. Thut ton Shading ca Gouraud nhanh nhng chnh xc khng cao bng thut ton Phong1. Ngc li, thut ton Phong li c tc kh chm, nhng n l{ thut ton phi mu 3D tuyt vi th hin chnh xc rt cao. Chnh v l , nu bn mun thc phim Flash hot ng nh nhng, trong trng hp cn Shading mt b mt khng i hi chnh xc qu cao, bn nn s dng i tng GouraudMaterial. Tuy nhin, nu s ph}n m~nh trn i tng tng i nh, bn c th s dng PhongMaterial. Phng thc khi to ca cc i tng n{y tng i ging nhau, tuy nhin n cn triu gi n i tng Lights. Chng ta s quay li sau khi tm hiu v i tng Lights. 7.4.3. i tng Lights - Hiu ng nh sng Trong hiu ng nh sng ny, chng ta s dng phng thc khi to cho i tng PointLight3D. var light:PointLight3D = new PointLight3D(showLight:Boolean, flipped:Boolean); Trong , Tham s showLight cho php |nh s|ng c hin th hay khng hin th. Tham s flipped ch p dng cho i tng 3D c ti t file DAE. N ch ra vng tc dng ca nh sng trn khung nh. i tng PointLight3D n{y cng c nhng phng thc v thuc tnh tng i ging vi c|c i tng hnh th trn. Bn hy tham kho bng trn nu mun s dng mt phng thc hay thuc tnh no . By gi, chng ta s s dng i tng PointLight3D n{y trong c|c phng thc khi to ca ba i tng FlatMaterial, GouraudMaterial v PhongMaterial. var fm:FlatMaterial = new FlatMaterial(light:LightObject3D, lightColor:uint, ambientColor:uint, specularLevel:uint) var gm:GouraudMaterial = new GouraudMaterial(light:LightObject3D, lightColor:uint, ambientColor:uint, specularLevel:uint) var gm:PhongMaterial = new PhongMaterial(light:LightObject3D, lightColor:uint, ambientColor:uint, specularLevel:uint) i tng light l ngun sng pht ra, n l mt kiu LightObject3D. Tham s lightColor quy nh mu chiu sng, tham s ambientColor quy nh mu phi Tn y l Bi Tng Phong. Sinh nm 1942, mt 1975. ng l mt nh khoa hc h{ng u v ha m|y tnh ngi Vit Nam.
1

- 232 -

CHNG 7. TH VIN PAPERVISION3D

xung quanh (do hiu ng t cc ngun sng khc nhau bao quanh), tham s specularLevel ch nh mc phn x mu ca vt th. 7.4.4. i tng Shader - Hiu ng bng to mt hiu ng bng Shader, c ba thut ton ni ting: FlatShader, GouraudShader v PhongShader tng t vi c|c i tng FlatMaterial, GouraudMaterial v{ PhongMaterial ~ nu. Ba i tng ny c phng thc khi to ging vi FlatMaterial, GouraudMaterial v PhongMaterial. 7.4.5. i tng ShadedMaterial Ta c th s dng i tng n{y to mu t cho vt th. Phng thc khi to ca i tng ny cha i tng Shader. var sm:ShadedMaterial = new ShadedMaterial(material:BitmapMaterial, shader:Shader, compositeMode:int) Theo cch khi to ny, ngoi cch phi mu bng bitmap, ta cn s dng thm hiu ng to bng. Kt qu thu c l mt hnh nh rt gn vi th gii thc. Bn h~y quan s|t k kt qu thu c khi kt hp bitmap v hiu ng bng trong ShadedMaterial hnh minh ha bn di.

Hnh 169 T mu bng ShadedMaterial 7.4.6. i tng CompositeMaterial Vi i tng ny, bn c th b sung nhiu cch phi mu cng lc cho vt th. Phng thc khi to ca n khng cha tham s. var cm:CompositeMaterial = new CompositeMaterial();

- 233 -

CHNG 7. TH VIN PAPERVISION3D

b sung mt material cho i tng cm, bn s dng phng thc addMaterial ca i tng ny. cm.addMaterial(material:MaterialObject3D):void; 7.4.7. i tng MaterialsList i tng MaterialsList c s dng khi khi to mt i tng Cube. Phng thc khi to cu MaterialsList cng khng cha tham s. var ma:MaterialsList = new MaterialsList(); b sung mt material cho i tng ma, bn s dng phng thc addMaterial. ma.addMaterial(material:MaterialObject3D, name:String); Trong , tham s name l tn ca cc mt trong hnh hp: all (p dng cho tt c), front (trc), back(sau), top(trn), bottom(di), right(phi) v left(tri).

7.5. Import mt m hnh 3D


D rng vic to dng c|c i tng ha 3D trong PaperVision3D tng i thun li, tuy nhin to dng c|c i tng ha phc tp trong th gii thc tng i phc tp. Do , chng ta cn s dng c|c chng trnh thit k ha 3D chuyn nghip nh Maya, 3DsMax. Papervision3D h tr nh dng DAE. Bn c th s dng Maya xut bn tp tin ny. ti i tng trong tp tin 3D ny vo trong Flash, ta s dng i tng org.papervision3d.objects.parsers.DAE. Hm to ca i tng DAE n{y tng i n gin var dae:DAE = new DAE(autoplay:Boolean, name:String, loop:Boolean); Trong , Tham s autoplay cho php h{nh ng ca cc i tng c import t tp tin DAE s c thc thi hay khng (bi tp tin DAE ny cha i tng 3D ng). Tham s name quy nh tn cho i tng DAE. Tham s loop quy nh s lp li c|c h{nh ng cho c|c i tng trong tp tin DAE. ti c|c i tng trong tp tin DAE vo Flash, ta s dng phng thc load dae.load(url:String) Trong , url l{ a ch ca tp tin DAE.

- 234 -

CHNG 7. TH VIN PAPERVISION3D

Sau khi bn ti c|c i tng trong tp tin DAE vo Flash, bn c th thao tc vi c|c i tng n{y nh vi c|c i tng 3D kh|c c to bi Papervision3D. Mt kh khn gp phi l chng ta cn c mt hiu bit v mt chng trnh thit k nhn vt 3D a v{o trong Flash. Vi mt chng trnh chuyn nghip nh Maya th khng phi ai cng c th hc nhanh c, v vy bn c th s dng nhng tp tin DAE c chia s trong cng ng mng s dng. Mt a ch rt hu ch bn khai th|c th vin hnh nh DAE l{ http://www.sketchup.google.com. }y l{ mt d n min ph ca google cung cp cho ta cc m hnh 3D tuyt vi.

Hnh 170 Google Sketchup Bn ch vic tm kim m hnh sau ti n v my ca bn. Bn s nhn c tp tin *.kmz. Tp tin ny c th c bi Google Earth. Tuy nhin, bn cht ca tp tin n{y cng ch l tp tin nn. Bn c th gii nn bng chng trnh WinRar bn s thu c mt th mc cha tp tin DAE. Vi d n ny, chng ta c rt nhiu m hnh 3D khai thc v s dng trong cc d n hot hnh 3D ca mnh.

- 235 -

CHNG 7. TH VIN PAPERVISION3D

Tng kt chng 7
Trong chng n{y, chng ti ~ gii thiu n bn cch s dng lp th vin PaperVision3D to c|c i tng ha 3D cng nh c|ch thc to chuyn ng trong th gii thc. }y l{ th vin m ngun m c xy dng trn ActionScript. Hi vng bn ~ c c mt ci nhn tng quan v ha 3D. Vi th vin PaperVision3D ny, bn c th to dng cho mnh mt thc phim 3D n gin hoc mt game 3D n gin.

- 236 -

CHNG 7. TH VIN PAPERVISION3D

Blank Page

- 237 -

BI TP THC HNH
pht trin k nng thit k v lp trnh trn Flash CS5 v ActionScript3.0, chng ti ngh bn hy thc hin cc bi thc h{nh sau }y.

BI THC HNH S 1 S DNG CNG C V C BN


Hy s dng cc cng c v to cc ni dung sau }y trn cng mt Stage: 1. To Layer 1 v{ i tn thnh BauTroi. Chn biu tng bng mu. Chn Stroke color = None, Fill Color = Linear Gradient. Chn ch mu Extends Color. Trong kiu mu cu vng ny, bn ch chn hai mu: mu en (m mu l #000000) n mu en trng (m mu #999999), trong mu en pha trn, mu en trng pha di. S dng cng c Rectangle, to mt hnh ch nht trn Layer ny. S dng bng hiu chnh Align can chnh kch thc v v tr cho hnh ch nht ny trng khp vi kch thc Stage. 2. To Layer 2 v{ i tn thnh MatTrang. Chn biu tng Oval vi thuc tnh Stroke Color = None, Fill Color l mu Radial Gradient (mu mt c m mu l #FFFF00, mu 2 c m mu l #FFFFFF). Hy s dng cng c Gradient Transform hiu chnh kch thc ca vng mu bn trong ln hn v{ t mt trng vo v tr thch hp trn bc tranh ny. 3. S dng cng c PolyStar to mt ngi sao mu vng nht, kch thc l 20x20. Convert ngi sao ny sang biu tng Graphics v{ t tn l Sao. Chn cng c Spray Brush, chn biu tng cho n l Sao trn. Hiu chnh cc thng s nh sau: Scale width = 20% Scale height = 25% Chn c ba ty chn Random Scaling, Rotate Symbol v Random Rotation. Hiu chnh kch thc ca Brush l width=height=300px, Brush Angel l 90 CW. To mi Layer t tn l Sao. Hy qut nhanh cng c Spray Brush ny ln Layer n{y to cc ngi sao nh trn bu tri. 4. To mi mt Layer v{ t tn l KhungCua. S dng cng c Rectangle Primitive to mt hnh ch nht c kch thc width=200, height=150,

chn Fill color l{ None, Stroke color l{ m{u en, loi ng vin style l stippled, kch thc ca ng vin l 5px. S dng cng c Deco mu ngh thut (cnh hoa nho) cho khung ca s ny. 5. To mi Layer t tn l NgoiNha. Hy s dng cc cng c cn thit v nn ngi nh{ m c ca bn. Lu : h~y s dng mu sc tht hi ha trong m ti. 6. To mi Layer t tn l DamMay. Hy s dng cng c Pen to nn c|c |m m}y c vin cong. T mu cho n bng mu xanh nht (m mu #66CCCC) v hy loi b vin ca n. 7. To mi Layer t tn l ConNguoi. Hy s dng cc cng c cn thit pht ha chn dung ca mt c g|i ang i di |nh trng. 8. To mi Layer t tn l DenLong. Hy pht ha c}y n lng v{ t n vo tay c gi. 9. To mi Layer t tn l CayCoi. Hy pht ha hnh mt rng tre hoc mt cy c th. Chn mu sc hp l. 10. To mi Layer t tn l TieuDe. S dng cng c Text son tho trn Layer ny ni dung nh Trng Trn Qu Hng.

BI THC HNH S 2 S DNG BIU TNG V TO HOT CNH


Hy s dng bc nh cha c|c i tng c v trn thc thi bi thc hnh s 2. 1. Hy chuyn i MatTrang trong Layer 2 thnh biu tng MovieClip v t tn cho n l MatTrang. Hy s dng Classic Tween to hiu ng ng cho mt trng. Mt trng c hai hiu ng ng l{: bng m v di chuyn. to hiu ng bng m, hy s dng thuc tnh Filter=Blur ca MovieClip. Cc thao tc ny ch c s dng Classic Tween. 2. Hy xa b cc ngi sao trn bu tri trn. Trong th vin, hy chn li biu tng Graphic l Sao m bn ~ to. Bn hy chuyn i n thnh MovieClip. S dng Motion Tween to hiu ng tng gim trong sut (thuc tnh Alpha ca MovieClip). Thuc tnh n{y thay i t 80% n 100%. Tip tc s dng cng c Spray Brush, ln ny bn chn biu tng

- 239 -

cho n l MovieClip Sao. Hiu chnh cc thng s tng t nh b{i thc hnh s 1. Sau , qut ln Layer Sao. 3. Hy s dng cng c Bone to chuyn ng cho i ch}n c g|i. C|c phn cn li khng cn to chuyn ng. Bn kt hp vi Motion Tween to s di chuyn (thay i v tr trong bc nh) cho c gi. 4. S dng Motion Tween to chuyn ng cho c|c |m m}y. C|c |m m}y chuyn ng theo dng thc 3D (kt hp cng c 3D Rotation v 3D Translation). 5. Hy to mi mt Layer t tn l BienHinh. Trn Layer ny, bn hy to mt ng gi|c. S dng Shape Tween to hiu ng bin hnh cho hnh th n{y th{nh hnh ngi sao nm c|nh. H~y t n vo mt v tr thch hp.

BI THC HNH S 3 S DNG BIU TNG V TO HOT CNH (TIP THEO)


Hy s dng cc cng c to hot hnh (Tween, Bone, Bind, 3D,) to mt VideoClips. Lu trong b{i n{y, sinh vin cn kt hp vi mt bi ht. Ni dung phim v ni dung bi ht phi tng i ph hp. Bi ht di khng di 1 pht.

BI THC HNH S 4 LP TRNH VI ACTIONSCRIPT


Trong bi thc hnh ny, bn cn hon tt cc ni dung sau: 1. To mt i tng qu bng bng cng c Oval. Sau , h~y chuyn i n thnh biu tng MovieClip. C{i t tn th hin cho n l QuaBong. Hy xa qu bng ny trn Stage. M khung son tho ActionScript, by gi bn hy vit ActionScript to chuyn ng 3D cho qu bng, thay i thuc tnh alpha khi n chuyn ng. S thay i thuc tnh alpha ny qui nh theo thi gian (thay i t 80% n 100%).

- 240 -

2. To mi mt Scene. Trn Scene ny, bn hy s dng hai bc nh. Hiu chnh kch thc cho chng bng nhau. Kch thc ca chng khng qu ln, sao cho ta c th t chng trn Stage nhng vn cn khong trng. S dng i tng Tween to hot hnh cho hai bc nh ny. to hot hnh nh vo Tween trong ActionScript, bn c th thao tc nh hng dn sau: H~y a hai i tng nh n{y v{o trong th vin, sau chuyn i chng thnh cc biu tng MovieClip, v{ t tn cho chng ln lt l Anh1 v Anh2. Bn quan s|t m~ chng trnh sau import fl.transitions.easing.*; import fl.transitions.Tween; var OneTween:Tween; var TwoTween:Tween; }y, bn s dng package fl.transition. i tng Tween c a v{o s dng. Cc hiu ng ng cng c a v{o qua dng lnh th nht. Tip theo, bn hy to chuyn ng cho i tng nh v{o i tng Tween. Cch s dng Tween cng tng t nh bn to mt Thread vy. OneTween = new Tween(Anh1, "y", Bounce.easeOut, 50, 100, 3, true); OneTween.start(); TwoTween = new Tween(Anh2, "y", Bounce.easeOut, 250, 300, 3, true); TwoTween.start(); i tng Tween c phng thc khi to Tween(Object, String, Function, Number, Number, Number, Boolean). Object l{ i tng m ta s p dng hiu ng Tween; String l tn thuc tnh m ta s s dng nh x, y,; Function l{ tn phng thc s p dng chi tit hn bn c th th nghim vi chc nng Add New Items to Script vi gi fl.transition.easing; Number th nht v Number th hai l hai bin chuyn ng. Number th ba l s ln chuyn ng (duration), tham s Boolean mc nh c s dng l true. Hy kim tra xem th n hot ng hon ho hay khng. }y thc s l cch to chuyn ng rt hon ho. 3. To mi mt d n khc. Trong d n ny c ba file: file main.fla, file human.as, file student.as. File main.fla l khung trnh din chnh. Cc file

- 241 -

cn li c s dng nh c|c lp. File human.as l mt lp cha hai thuc tnh l Name:String v Age:int v bn phng thc chnh l void SetName(String), String GetName(void), void SetAge(int) v int GetAge(void). Lp student k tha lp Human. Ngoi ra, n cn c thm thuc tnh ID:String v{ hai phng thc void SetID(String), String GetID(void). Quay tr li vi khung trnh din chnh, bn hy pht ha hnh mt con ngi. Sau , bn hy convert n sang biu tng MovieClip. C{i t tn hin th cho n l ConNguoi. Cui cng bn hy xa n ra khi stage. Trn khung trnh din ny, bn hy to mt Button v ba textbox km theo ba label. Ba label c ni dung l: Tn, Tui, MSV. Ba textbox cn li tng ng dng nhp ni dung theo ba trng ny (Name, Age v{ ID). Khi ngi dng nhp d liu v nhp nt Add, hnh ngi s hin th ra bn di. ng thi, bn cnh n l cc thng tin v i tng ny (Tn, Tui v MSV). 4. Trong bi thc hnh ny, bn hy to mt d n gm bn file: main.fla, solutions.as, solution1.as v solution2.as. Trn stage ca main c ba textbox v{ ba label tng ng nhp cc s a, b v c. Mt nt nhn gii phng trnh, v{ mt label na hin th kt qu. File solutions.as l mt interface cha hai phng thc l DoSolution v ToString. Hai lp solution1.as v solution2.as l hai lp thc thi giao din solutions.as ny. Phng thc DoSolution ca i tng trong solution1.as s gii phng trnh bc 1, phng thc DoSolution ca i tng trong solution2.as s gii phng trnh bc hai. Phng thc ToString ca c hai i tng c nhim v in ra nghim cui cng. i tng trong solution1.as cha hai thuc tnh l{ a:Number v{ b:Number. i tng trong solution2.as cha ba thuc tnh l a:Number, b:Number v c:Number. Sau khi bn hon tt yu cu ny, hi vng bn s hiu r hn v giao din.

BI THC HNH S 5 XY DNG PHIM QUNG CO BNG FLASH


Hy xy dng mt thc phim qung co gii thiu v mt b phim c s dng k xo in nh. on phim qung c|o c i di trnh din khong 5 pht. Trong phim phi s dng m thanh v c li thuyt trnh bng ch hoc li thuyt minh (nhng on phim s dng li thuyt minh s c |nh gi| cao).

- 242 -

xy dng thc phim qung co ny, bn cn s dng mt b phim hon chnh. Sau , bn ct ly nhng on phim hay trong b phim n{y to mt b phim qung co hon chnh (nu khng c mt b phim hon chnh, bn c th lin h vi ging vin c cung cp cc on phim mu).

BI THC HNH S 6 HON TT D N V XUT BN


Hy vn dng cc kin thc ~ hc trong gio trnh ny, bn hy la chn mt trong cc d |n sau }y: Cc d n D n 1. To mt d n Game bng Flash kt hp vi ActionScript theo yu cu sau a) Mn hnh Splash (scene 1): ch hin th bn Menu: Play, Score, Help v Quit. Play cho php ngi dng chuyn sang mn hnh th hai (scene 2), trong m{n hnh n{y, ngi dng c th chi game. Score cho php hin th kt qu chi, m{n hnh n{y tng ng vi scene 3. Help cho php chuyn sang mn hnh tr gip (scene 4), trong mn hnh ny s hin th vi thng tin v game, c|ch chi game. b) Ni dung game c th l{ game h{nh ng, game th thao, game hc tp nhng cn phi c iu khin bng chut hoc bn phm. c) Nu ngi dng hon tt vic chi game, th s hin ra cc thng s m ngi chi t c: H v Tn (nhp vo t u), im. D liu c c t file data.xml. D n 2. To mt d n phim hot hnh bng Flash kt hp vi ActionScript theo yu cu sau a) Phim m t mt ch bt k nhng phi c cu trc (c kch bn). b) Phim c d{i khng di 10 pht. c) C thanh Playback iu khin. d) C s dng m thanh, ting ni (phi c ng b vi i tng trong phim) e) Khng chp nhn cc Clip nhc.

- 243 -

D n 3. To mt d |n k xo in nh bng Flash kt hp vi ActionScript theo yu cu sau a) To mt thc phim c s dng k xo in nh (ch chp nhn k xo in nh, khng chp nhn k xo truyn hnh). b) Phim c d{i khng di 10 pht. c) C|c k xo phi s dng ph hp vi ni dung, s lng k xo khng di 10. d) Thc phim cui cng phi c ni dung.

- 244 -

Blank Page

- 245 -

TI LIU THAM KHO THM

- 246 -

You might also like