24 gio hoc flash

Download 24 gio hoc flash

If you can't read please download the document

Upload: ha-nguyen-thai

Post on 18-Dec-2014

539 views

Category:

Education


1 download

DESCRIPTION

test choi

TRANSCRIPT

  • Gi th 01: Lm quen vi AS, Your First Look at AS AS l mt ngn ng lp trnh c xy dng trong Flash. AS ging nh cc ngn ng khc nh Javascript, C++ v.v. nhng bn khng cn bit cc ngn ng khc hc AS (nu c th cng d hn). Bt u hc AS, th chng ta coi th AS l g, lm c nhng g v c quan h g vi cc chc nng khc ca Flash. Trong bi ny, bn s tm hiu coi AS ra i nh th no, xem cch vit AS lm sao, tm hiu AS lm c nhng g v sau sau cng l xc nh c ni lu tr AS trong Flash. i st ngha v tin cho sau ny, mnh s khng dch mt s t ng ra ting vit nh script, movieclip v.v. Script l g? AS l ngn ng lp trnh, vi cc lnh sai khin Flash movie lm vic theo ng nhng g mnh vit (ch c mnh vit sai ch computer khng lm sai ). Phn nhiu th AS ch lm vic trong mi trng ca Flash, tuy nhin AS cng c th gi lnh cho browser, h iu hnh v.v. Script c th ngn gn vi ch hay cng c th di c trm trang. Script c th c vit gp li mt ch hay cng c th vit ri rc khp ni trong movie. Xut x ca AS AS rt ging ngn ng C++, Java, javascript .v.v v c da trn tiu chun do ECMA (European Computer Manufactuers Association) lp ra gi l ECMAScript. Nhiu ngi hiu lm rng AS da trn Javascript, nhng thc cht c 2 u da trn ECMAScript. Lc u vit script trong Flash rt n gin v cho ti Flash 4 mi uc pht trin nhng cng vn cn "th s" vi nhng vng lp v cc iu kin "if...else". Cho ti Flash 5 th dn Flash mi c th lp trnh v gn lin script vi cc yu t trong movie. . Sang ti Flash MX th AS tr thnh ngn ng lp trnh ton din vi hn 300 cu lnh, hm .v.v Nhn bit AS AS n gin l nhng cu lnh c vit bng ting Anh (v l ny m mnh s khng dch cc t ting Anh lin quan n AS, v mt phn th mnh khng gii thut ng computer hay ting vit cho lm) v cc php tnh v du cu. V d sau: ActionScript on (press) { gotoAndPlay ("my frame"); }

  • Bn c th gii ngha on m trn bng cch tm hiu cc t chnh trong . Ch "press" gi rng ngi dng ang kch chut vo mt ci g , (v trong trng hp ny l ci nt) Ch k tip "gotoAndPlay" do 4 ch "go to and play" gp li, gi rng AS ra lnh cho Flash timt im no trong movie v bt u chi t im . AS c th lm nhng g? Flash movie gm c cc scence (cnh), v mi cnh s c 1 timeline (thi gin biu???) v timeline s c cc frame (khung) bt u t s 1. Thng thng th Flash s chi t frame 1 cho ti frame cui ca scence vi tc c nh v dng li hay lp li t u tuy theo ngi lm Flash. Mc ch chnh ca AS l thay i th t trong cch chi ca Flash. AS c th dng bt frame no, hay chy ngc tr li frame trc hay nhy vi frame ri chi tip. Nhng khng ch l nhng g AS c th lm c. AS c th bin film hot hnh ca Flash thnh mt chng trnh ng dng c s tng tc ca ngi dng. Di y l nhng c bn m AS c th lm:

    Hot hnh: Bn khng cn AS lm hot hnh, nhng vi AS th bn c th to nhng hot hnh phc tp hn. V d, tri banh c th tng xung quanh mnh hnh m khng bao gi ngng, v tun theo cc nh lut vt l nh lc ht, lc ma st, lc phn v.v Nu khng c AS th bn cn phi dng c hng ngn frame lm, cn vi AS th ch 1 frame cng

    Navigation (hng bit dchlm sao cho hay ): thay v movie ch chi tng frame 1 theo th t th bn c th dng movie bt c frame no, v cho php ngi dng c th chi bt c frame no .v.v

    Thu nhp thng tin t ngi dng (user input): bn c th dng AS hi ngi dng 1 cu hi, ri dng thng tn trong movie hay c th gi cho server hay lm nhng g bn mun.

    Thu nhp thng tn t cc ngun khc: AS c th tng tc vi server v ly cc thng tin t server hay text file

    Tnh ton: AS c th lm bt c php tnh no m ton hc cho php Thay i hnh nh trong movie: AS c th thay i kch thc, mu sc, v tr

    ca bt c movie clip (MC) no trong movie flash ca bn. Bn c th to thm phin bn hay xo bi phin bn ca MC vi AS

    Phn tch mi trng ca my tnh: Vi AS bn c th ly gi t h iu hnh hay a ch ang chi movie Flash .

    iu khin m thanh trong flash movie: AS l cch tt nht iu khin m thanh trong Flash,AS c chi chm, chi nhanh, ngng, quay vng .v.v bt k m thanh no trong Flash.

    Pht trin cc kh nng ca AS iu quan trng nht m AS c th lm cho bn l nhng g cha ai ngh ti Vi AS v tr tng tng v c sng to ca bn th khng c g l khng th xy ra vi AS c. Mc ch ca cc sch, v ca VNFX l hng dn bn hiu bit v Flash t

  • bn c th t dng n lm ra nhng sn phm tuyt vi m khng ai c. Vit AS u Cu hi u tin nhng ai tm hiu AS thng hi l "Vit AS vo u?". Flash c mt mi trng lm multimedia kh phc tp. Nu bn dng Flash ri hay c qua cc hng dn i km vi Flash, th bn bit cc yu t c bn nh timeline, key frame v.v. nu bn cha bit th mnh khuyn bn nn tm hiu trc ri tip tc y. trong mc Flash Tng Qu, VNFX c post link download 3 ci CD hng dn c bn cho ngi cha bao gi dng Flash. Vit AS time line AS c th vit vo key frame bt c timeline no. lm nh vy, bn chn key frame trong timeline trc ri bn m Action Panel ra (c th nhn F9) vit hay xem AS c vit . Mnh khuyn bn nn dng Action Panel di dng Expert hn l Normal, v nh vy bn s hc c nhiu v l hn. Khi vit AS vo key frame nh vy th AS key frame s hot ng khi m Flash chi ti key frame . V d nh lnh AS stop() c t key frame 5 th Flash chi ti key frame 5 th s dng li cho ti khi c lnh khc. cch vit ny gi l vit vo time line Mt trong nhng l do vit script vo time line l khi bn mun dng function (hm), v function cho php chng ta ti s dng on m t nhiu ni, nhiu level khc. Vit AS nt Cc phn t ca Flash movie c gi l symbol (biu tng). thng th symbol l cc hnh nh. V c 3 loi symbol: button (nt), graphich (hnh nh), movie clips(on phim). 3 loi trn th AS khng th vit lin vi graphic, cn button v movie clip th OK. Nt s khng c tc dng g c nu nh khng km AS ln trn n. Mun km AS vo nt th chn nt trn stage (sn khu: din tch ca flash movie), ri sau m Action panel v vit vo nh ta vit vo key frame. AS vit trn nt ch hot ng khi chut hoc bn phm tc ng ln nt m thi Vit AS MC MC khc vi graphic ch MC c t tn khi mang vo stage, MC thng l hnh nh ng, v c th c AS km theo MC. vit AS vo MC th cng tng t nh ta lm vi nt. AS km theo MC c th iu khin MC hay l cc MC trong cng mt timeline hay cc timeline ngoi movie Bi tp

  • 1. To mt movie mi 2. to 3 key frames 3. Dung Flash v mi hnh khc nhau cho mi frame 4. Chy th movie (nhn Control + enter) 5. Sau tr li timeline, vit vo keyframe 2 on m : "stop();" 6. Cho chy th movie ln na 7. V k ny bn ch thy Flash chi ti frame th 2 th ngng, v bn thnh cng trong vic vit AS :

    Gi th 02: S dng Action panel, Using the Script Editing Window Nu dn ho coi Timeline l nh th dn lp trnh vi AS coi Action Panel l ni c ng ca mnh, ti dn AS c th thay i, vit tt c cc lnh. V vy rt quan trng l bn c th s dng quen thuc Action Panel Flash MX s dng cc panel gip bn c th ly cc thng tin v movie bn ang lm mt cch d dng. Khi bn ci t v chay Flash ln u tin, Flash s hi bn mun s dng Flash nh th no v Flash s xp t cc panel cho hp l. Bn cng c th thay i cch xp t theo ca bn. Ni chung bn nn xp t cc panel ca bn lm sao cho thun tin cho bn nht, v ci ny cng cn c kinh nghim Mnh dng dual monitor, mnh close ht cc panel ch gi li 2 ci chnh trn mn hnh, mnh ko ci action panel v property panel qua mt bn monitor, cn ci bn kia cho ci stage, nu cn m panel no th mnh dng phm tt m. S dng Action panel c 2 cch: bnh thng (normal) v chuyn dng (expert). Khi mi chy my ln u th Action panel c set di dng bnh thng. dng bnh thng th bn khng c th nh trc tip cc cu lnh, m phi chn t cc menu bn tay tri ca panel. Vi setup nh vy th bn khng bao gi phm phi li khi vit AS c. Mnh s b phn hng dn dng normal v mnh thy dng normal mode s khng bao gi tin c, dng expert mode lc u hi mt nhng bo m l cc bn s hc c mau v nh lu hn S dng Action panel vi expert mode th bn c nhiu t do hn, nhng t do ng ngha vi trch nhim nn bn phi cn tht khi vit code. T normal mode chuyn sang expert mode th nhn phm tt CONTROL + SHIFT + E, chuyn ngc li th dng CONTROL + SHIFT + N (nh kch chut vo action panel trc khi dng phm tt). Bn c th i t Normal mode sang expert mode bt c lc no, nhng i ngc li th ch c khi m code ca bn khng c li. Action panel c popup menu (mi tn ch xung di, nm gc phi ca action panel) v trong c nhiu lnh rt tt cho bn khi bn dng Action panel, nht l i vi Expert mode. Bn c th tm v thay th bt c cu no, ch no trong script ca bn. Phm tt cho tm kim l Control + F v cho thay th l Control + H, nhn F3 th Flash s tip tc tm ch, cu bn mun tm.

  • Mt lnh na l "Goto Line" gip bn tm c cu bn mun tm. Lnh "Check Syntax" s r sot script ca bn v tm nhng li c php. Lc mi tp vit AS, th dng nn thng xuyn dng Chech Syntax check li trong sctipt. Lnh tip theo l "Auto Format" v "Auto Format Options" gip cho bn trnh by script ca bn cho d c hn. Bn c th thay i mu sc, font ch v.v. cho script ca bn cho bn d c code hn bng cch vo Edit > Preferences > ActionScript Editor. Cc phn cn li ca pop-up window cho php bn c xut hay nhp AS di dng text file v in script ra giy. Tuy gi l expert mode nhng thc ra dng cn d hn l normal mode. Bi v di expert mode thi Action panel chng khc g chng trnh "note pad" hay "text pad". Bn ch vic vit nhng g bn mun vo . Khi dng di expert mode, bn vn c th tham kho cc cu lnh, cc c php ca AS ci khung bn tri ca Action Panel. V nu bn tn th mt s quy tt th bn s s c chc nng "Code Hint" ca Action Panel, chc nng ny to nn nhng khung nh nh trong c nhng cu lnh ca AS ng hp quy cho bn la chn. tr thnh mt "cao th" v AS th bn khng th no khng nm vng v Action panel c. Sau y l bi thc hnh nho nh, gip bn lm quen vi Action panel di expert mode 1. To mt movie mi 2. Chn key frame u tin (frame s 1) ca layer 1 (mnh khng dch ch layer = lp v d trng vi class= lp) 3. M Action panel (c th dng phm tt hay vo trong phn Window > Action panel 4. Chuyn sang expert mode (dng phm tt hy vo trong pop-up menu ca Action panel i) 5. Vo ch vit AS 6. Vit on code sau: ActionScript trace ("I am expert"); Khi bn th movie th dng ch "I am expert" s c hin ra trong Output panel, v mnh s cp n lnh trace() vo nhng gi ti

  • Gi th 03: Hc cch lp trnh, Learning to program Lp trnh c th coi l khoa hc v ngh thut. V vy lp trnh vin gii cn c 2 iu kin kin thc v ngn ng m h dng v tnh sng to, t khi no c trng hp ch c 1 cch lp trnh cho mt n lm. Trong qu trnh vit AS, bn s to ra cho ring mnh mt phong thi vit code kh c trng. C th mi u bn s dng phong cch vit code trong nhng bi vit ny, ri sau bn s t t chuyn sang phong cch ca ring bn Thng th khi nim v cc ngn ng lp trnh u ging nhau, v trong bi ny s bn v nhng khi nim lp trnh v lm sao p dng n trong Flash Cch suy ngh ca computer Tht ra computer dt lm chng bit suy ngh u, ch bit lm vic theo mnh lnh mt cch khng suy ngh. V vy computer khng bao gi li m li ngi vit lnh sai khin n. Cn AS ch l mt chui lnh, ch th cho computer, hay ng ra l Flash phi lm nhng g trong mi trng runtime (runtime environment). Khi vit AS th bn nn t coi mnh "ngu" nh computer, v c li nhng dng lnh AS v ngh ti kt qu ca vic thi hnh lnh . Khi t t mnh vo v tr ca computer, bn s on c script ca bn s lm nhng g trong mi trng runtime, v bn c th thy ra nhng li m bn v mc phi. Khi m bn tr thnh din vin tuyt vi trong vai computer th bn cng tr thnh mt lp trnh vin ti ba. Lnh, hm, v php tnh Lnh (command) l yu t cn bn ca AS ch th Flash lm mt hnh ng c th. Lnh c thi hnh tuyt i trong cc trng hp kh thi. V d nu nh ta vit gotoAndPlay(5) cho Flash ti frame 5 v chi, nhng nu trong movie khng c frame 5 th lnh khng th lm c. Hm (function, mnh s dng t function nhiu hn l hm) l phn tnh ton cc php tnh v cho ra (return) mt kt qu. V d hm random() s cho ra mt con s ngu nhin no , hay hm sqrt() s cho ra gi tr bnh phng ca 1 s m hm nhn c truyn cho. Lnh v hm u c th c truyn cho 1 hay nhiu thng s (parameter, mnh s dng t parameter thay v thng s), v nhng thng s gip cho hm v lnh c c th hn. V d gotoAndPlay(5) th 5 l thng s, nu nh khng c thng s ny th lnh "gotoAndPlay" s khng bit r phi ni Flash i u. cng nh hm sqrt() cng cn c thng s cho ra gi tr bnh phng ca s y. S khc bit gia hm v lnh chnh l cc php tnh. Php tnh thng l nhng du +, -, *, / hay l php so snh . Hm c php tnh, lnh th khng

  • Bin s Bin s (parameter) cn thit trong mi ngn ng lp trnh v n lu tr thng tin v mt ci g trong chng trnh. Bin s gm c 2 phn: tn v gi tr. i khi bn ch cn lu tr thng tin trong bin s mt thi gian ngn, v d bn mun Flash thi hnh 1 s lnh 10 ln th bn cn m s ln m Flash thi hnh lnh c th ra lnh cho Flash ngng ngay sau khi thi hnh xong lnh ln th 10. Nhng cng c lc bn cn phi lu li thng tin trong mt thi gian di hay trong sut qu trnh thi gian Flash chi. Tn ca bin s thng l mt nhm t, hay cng c th ch n gin l 1 t, hay 1 ch ci. Thng thng tn ca bin s nn r rng d hiu v ni ln c tnh cht ca thng tin m bin s ang lu tr. V d nu bn mun lu tr tn ca ngi dng trong bin s th bn nn t tn bin s l userName (mnh ngh t tn ting Anh d hiu hn, v ting vit khng du cng d b hiu lm), bn c th t tn bin s l "n" nhng qu ngn, ngi c script ca bn s kh hiu, nu t l name th d trng vi cc bin s hay t kho khc (_name l mt c tnh ca i tng MovieClip) Khi vit AS, bn cn lu vit lm sao cho d hiu v d c. V cc lp trnh vin quy c tn bin s theo quy tc sau: tn bin s lun vit thng ch u tin, v vit hoa ch ci u tin cho cc ch k tip, v d userName, userLastName, userMotherMaidenName v.v. Lu rng ch cc ch ci v s mi c dng t tn cho bin s, v lun bt u tn bng ch ci. C nhiu loi bin s lu tr nhiu loi thng tin, v ngay mi loi thng tin cng c th c nhiu loi khc nhau na. Nh s (number) l mt loi gi tr ca bin s, v di n cn c cc loi khc nh s nguyn (integer), s ... khng nguyn (floating, double). Bn cng c th dng bin s cha cc chui (chui gi tt cho chui ch ci), chui c th ch c 1 ch ci, nhiu ch ci hay l khng c g ht, tt c cc chui sau y u hp l: "ablsdfjksl", "a", " ", "". Khi vit mt chui th cn dng du ngoc kp ("") bt u v kt thc chui. Trong cc ngn ng lp trnh khc nh Java, C++, hay ngay c ActionScript 2.0 trong Flash MX 2004 th bn phi xac nh trc loi thng tin no bn s lu trong bin s. Nhng vi ActionScript 1 (trong FlashMX) th bn khng cn lm vic ny. V d bin s userName lc u cha 1 chui, nhng sau li cha 1 s nguyn th cng vn hp l. Ngoi chui v s, cn c nhiu loi khc na nhng chng ta s cp ti vo nhng bi sau. iu kin Trong nhng trng hp chng ta khng bit nn ra lnh cho Flash phi lm g cho thch hp vi tng tnh hung th ta c th dng "iu kin" ra lnh cho Flash.

  • V d nu nh bn ra lnh cho Flash khng cho ngi dng coi mt on phim trong Flash nu nh user di 18 tui, nu user trn 18 tui th hy chi on phim y. Trc tin, Flash s so snh s tui ca user vi s 18, nu nh s tui ca user tho mn iu kin chng ta t ra th Flash s c 1 gi tr true t php so snh trn, v ngc li s l false iu kin s lun lun l ng (true) hay sai (false). Mt gi tr ch c ng hay sai th c gi l boolean. Sau khi thc hin php so snh v c c kt qu t php so snh trn, Flash s chn mt trong 2 gii php do chng ta a ra cho tng trng hp. i khi chng ta cn c nhiu iu kin hn ch l n gin "true" hay "false", v d nh bn mun Flash chi on phim A cho ngi trn 18 tui, di 18 nhng trn 13 th chi on phim B, v nhng ai di 13 th chi on phim C. Vng lp Con ngi lm ra computer v li khng mun lm nhiu, m bn ci cho computer. Nht l phi lm i lm li 1 vic no th cng nhm chn. V vy vng lp (loop) l mt yu t quan trng trong cc ngn ng lp trnh. AS cng vy, bn c th dng vng lp trong script. Trong vng lp, "iu kin" rt quan trng. Mi vng lp cn c im bt u v im dng v mt iu kin bo hiu im dng ca vng lp. V d nh bn mun cho vng lp chy 10 ln th s c 1 bin s dng m vng lp, bt u t 0, Mi vng lp chy th bin s ny s tng thm 1. Khi ti 9 th vng lp s dng li. Sau y minh ho ca vng lp ny: 1. Mt s lnh trc vng lp 2. Bt u vng lp, set bin s counter = 0 3. Lm mt s lnh trong vng lp 4. Tng bin s counter +=1 5. Nu bin s counter nh hn 9, tr li bc th 3 6. Ra khi vng lp, v tip tc chng trnh. y chng ta bt du bin s counter = 0 v quy c thng thng cc ngn ng lp trnh u bt u vng lp 0. Mt im ng lu ca vng lp l iu kin c xt trc khi thc hin cc lnh trong vng lp. Trong vi trng hp, iu kin s c xt sau khi thc hin cc lnh trong vng lp. Chng ta cng c th ngng vng lp trc im dng ca n, v iu ny s c cp ti vo bi k tip Lm nhng iu khng tng Lnh, hm, php tnh, bin s, thng s, iu kin, vng lp l nhng phn cn bn trong ngn ng lp trnh, v ci ny th ai cng bit nhng lm sao phi hp li thnh mt chng trnh hon ho mi l ci kh. Chng trnh n gin ch l mt tp hp lnh cho computer gii quyt 1 vn no . V vy trc khi vit 1 chng trnh chng ta cn phi xc nh "vn " cn phi gii quyt. V d thc t ngoi i, m bn nh bn ra ch mua g. Nhng ch

  • n gin ni ra ch mua g th cha v bit mua g sng hay g lm ri. nu mua g sng th mua loi no v.v. l cha ni ti mua g ch no, gi c ra sao v.v. Nu nh bn m ni r l ra ch bn thnh, mua 1 con g mi du, nng khong 2 kg, vi gi khong 10000 th tht l d dng cho bn phi khng? Bit c vn mua g ri th tm cch mua g. Bn phi "ln k hoch", nn nh bn ch hay i taxi ra ch bn thnh. Nu i taxi i hng no, tm s phone gi, v.v. cn nh bn ch i th nh tn no. Ri nn mc qun o no i ch. Ra n ch th phi mc c lm sao, tr tin mt hay ghi s n. Bn thy khng, t mt chuyn mua g n gin vy m c th tn c ngy tri ln chng trnh Vit AS, bn cn phi lu ti tt c mi vic d nh cch my cho Flash c th lm ng theo nh bn trong mi tnh hung. Cc chng trnh c bug khng phi v ngi vit d m v cha ngh ti ht mi tnh hung thi. Tm li, iu quan trng trong lp trnh l kh nng phn tch mt vn chnh thnh nhiu vn nh cho ti khi khng cn nh hn na, v sau xy dng chng trnh t gii quyy cc vn nh ln dn cho ti vn chnh. Vit m hon chnh B (bug) n gin l li ca chng trnh m bn to ra. Bug c th ch l nhng li c php n gin, hay l nhng li phc tp do cch bn gii quyt vn trong mi trng runtime. trnh c bug trong script ca bn th bn nn tn nhiu th gi vo giai on phn tch, thit k chng trnh cho script ca bn. Kim tra cc on code nhiu ln, v ng vai "computer" cho tht ging, ng suy ngh, m thi hnh cc lnh trong script ca bn. Vit tng on code nh ri rp li vi nhau (v vy m lp trnh theo hng i tng c s dng nhiu nht) Nu script ca bn c bug th ng th m nn lng, v khng c chng trnh no do con ngi lm ra m khng c bug c. V vy bn ng c gng vit code sao cho tuyt ho khng c li. Nu c bug th bn dit bug thi Bn c th chun b "chin u" vi bug bng cch vit code sao cho d hiu v d c, vit nhiu ch thch cho cc on m. i khi dit bug (debug) rt n gin nhng c khi cng rt kho m bit bug u dit. Flash c km theo vi cng c gip bn debug d dng hn, chng ta s ni ti cc cng c ny trong bi ti.

    Gi th 04: Vit code trong Flash, Writing code in Flash Khi bn vit script, bn s dng tt c nhng t kha, v k hiu v.v. Vy trc tin chng ta s phn tch mt on script sau y. on script ny gn vo 1 button. ActionScript on (press) { var myVariable = 7; var myOtherVariable = "Macromedia";

  • for (var i=0; i

  • Thc hnh: vit thng tin ra output windown Cch tt nht hiu r chc nng ca output window l s dng n. By gi mnh s vit mt on code ngn gi thi tin ra output window nhe. 1. To mt file mi 2. Chn frame u tin ca movie, m Action panel. Chnh kch thc cho action panel ln vit, v nh dng expert mode 3. Kch chut vo phn vit script v vit cu sau: trace("hello world"); 4. Chy th movie (Control + Enter) 5. Bn thy g output window? (Nu output window ca bn cha m th hy nhn F2) Ging nh action panel, output window c 1 ci pop-up menu nho nh trn gc phi. Bn c th dng n copy, xo hay save ni dung ca output window hay c th tm kim ch, v.v. Ngoi ra, pop-up menu ny c phn cho bn chnh ch "dit b", bn c th chn khng cn output window in ra cc li (none), hay ch in li (error), hay ch in cnh bo (error) v cui cng l in ra chi tit cc li hay cnh bo (verbose) Bin s cc b v ton b trong gi th 3, chng ta c nhc n variable (bin s) dng lu tr thng tin. V s dng variable trong AS rt d dng. Bn ch cn n nh gi tr cho variable. V d: myVariable = 7. Chng ta to variable c tn l myVariable v n nh 7 l gi tr cho n. (bn c th t tn cho variable l bt c g bn mun) By gi bn c th th vit on code sau: ActionScript var1= 7; var2= "hello world"; trace ("var1: " + var1+ " /var2: " + var2); Khi bn chy th movie th output window s c hng ch sau: var1: 7 /var2: hello world V s 7 v "hello world" c cha trong var1 v var2 s c in ra. Variable c 2 loi, local v global. Global variable (bin s ton b) th bn c th truy cp gi tr ca n bt c ni no trong movie. To global variable khng i hi mt bn phi lm mt ci g c bit c, bn c th dng n nh cch trn, v Flash t ng bin n thnh global variable. Flash movie dng h thng level, v timeline ca movie chnh l root leve (gc), cn cc movie clip cng chnh l mt Flash movie nh trong Flash movie ln. Cc hnh nh, script trong mt movie clip l 1 level thp hn root level.

  • Local variable (bin s cc b), khc vi global variable, local variable ch c tr truy cp trong cng mt on code, hay trong cng mt timeline. Khi dng local variable th khi ra khi timeline hay on code th Flash s xo local variable ra khi b nh. Mun to local variable th dng t kho var trc tn ca local variable, v d: var myLocal = "This is local"; Bn ch cn dng t kho var 1 ln thi, nhng ln dng sau th ch cn dng tn ca local variable thi. V d on code: ActionScript var myLocal = 9; myLocal = 11; trace(myLocal); Php so snh v cc php tnh So snh 2 gi tr trong AS rt n gin, dng cc k hiu ton hc nh , = Khi n nh gi tr th dng du =, v cho khc bit th khi so snh dng ==. on code sau xt coi gi tr ca a c bng 7 khng, v in kt qu ra output window. V khi test on code sau, bn s thy true output window ActionScript var a = 7; trace(a == 7); Nu bn dng ln = vi == th s b li runtime ch Flash s khng c th tm c li ny cho bn. Bn c th dng == so snh 2 chui mu t: ActionScript var myString = "Hello World."; trace(myString == "Hello World."); trace(myString == "hello world."); Khi bn test on code trn th bn s c c "true" v "false" output window, v ln so snh th nht th bng nhau, nhng ln th hai th khng v ch H v h khc nhau. Nu bn mun th coi 2 gi tr c khc nhau khng th dng ky hiu != ActionScript var a = 7; trace(a != 9); trace(a != 7); Hm trace u tin s cho ra "true" v 7 khc 9, v ci th hai th s cho ra "false"

  • Nu bn mun th gi tr coi ln hn hay nh hn th dng > v < ActionScript var a = 7; trace(a < 8); trace(a > 6); trace(a < 1); on code trn s cho ra "true", "true" v "false" trong output window v "a" qu tht nh hn 8 v ln 6, nhng khng nh hn 1. Nu bn mun th gi tr coi ln hn hay bng nhau hoc l nh hn hay bng nhau th dng k hiu >= v = 7); on code trn s cho ra 3 kt qu "true" c. Bn c th thay i gi tr ca variable vi cc php tnh n gin nh cng (+), tr (-), nhn (*), chia (/). V d mun thm 4 vo gi tr ca a th vit a = a + 4. AS cng c cch vit tt nh Java, C++ cho v d ny, a += 4 Nu bn mun thm 1 vo a th bn c th vit nh 2 cch trn a = a +1 v a += 1 v cn cch th 3 a++ . Du ++ ch lm tng thm 1 cho gi tr thi. C 2 cch dng ++, 1 l sau variable nh cch trn, v 1 cch th trc variable. By gi th on code sau: ActionScript var a = 7; trace(a++); trace(a); output window bn s thy 7 ri mi ti 8. dng th 2, hm trace s cho ra gi tr ca a trc ri mi tng gi tr ca a ln thm 1. By gi xem v d khc: ActionScript var a = 7; trace(++a); trace(a); output window bn s thy 8 v 8. dng th 2 ca v d ny, hm trace s tng gi tr ca a trc ri mi cho ra gi tr ca a. Tng t nh ++, AS cng c cch vit tt cho gim gi tr ca variable l du -, -=, =- v --. Php tnh nhn v chia th ch c *, *=, /, /= thi. iu kin Trong AS v cc ngn ng khc, if ... else chnh l cc t kho ca iu kin. Ting

  • vit c ngha l "nu ... nu khng". T kho if dng kt qu ca s so snh no i ti quyt nh kch hot mt on code. on code sau s so snh gi tr ca variable a vi 7, nu ng th Flash s chi frame 10 ActionScript if (a == 7) { gotoAndPlay(10); } T kho if lun bt u cho 1 iu kin v tip theo s l s so snh. Lun t code so snh gia ngoc n (). Tt c cc code c kch hot nu iu kin c tho mn s trong u ngoc mc {}. T kho else b sung cho if trong trng hp bn mun thc hin mt on code nu iu kin ca if khng c tha mn. V d: ActionScript if (a == 7) { gotoAndPlay(10); } else { gotoAndPlay(15); } Nu trng hp cn tha mn nhiu iu kin th c th dng c php if .... else if ... else. Bn c th c bao nhiu ci else if cng c. Ny gi ta chi ni ti iu kin da trn 1 s so snh, nhng AS cng cho php dng so snh a hp (compound comparision). Trong iu kin ca Flash ta c th dng nhiu so snh i ti mt kt qu chnh xc hn. V d nu nh a ln 10 v a phi nh hn 15 th ra lnh cho Flash chi frame 10. ActionScript if ((a > 10) and (a < 15)) { gotoAndPlay(10); } T kho and (cn c th c vit l &&) yu cu phi tho mn iu kin ca 2 php so snh. Bn cng c th dng t kho or (cn c th c vit l ||)nu nh ch cn tho mn 1 iu kin trong 2 php so snh thi. ActionScript if ((a > 10) or (a < 15)) { gotoAndPlay(10); } Vng lp C php ca vng lp (loop) th hi rc ri hn so vi c php ca iu kin if. nhng

  • n tng t nh C, C++, Java. Gm c 3 loi vng lp chnh l for loop, while loop v do-while loop for loop c coi l vng lp chnh vi t kho for v c php ca n nhn nh sau: ActionScript for(var i=0;i

  • do { // code thc hin trong do-while loop } while (a > 0); Ch khc vi while loop l do-while loop thc hin code trong vng lp trc ri mi kim tra iu kin. (while loop kim tra iu kin ri mi chy code trong vng lp) Mun ph ra khi qu trnh t hnh ca 3 loi loop trn th dng lnh break v continue. Lnh break s ph ra khi loop hon ton trong khi lnh continue th ch ph ra khi vng lp hin ti v bt u vng lp mi. To ra mt v d c th rt phc tp, nn chng ta tm khoan bn ti 2 lnh ny cho ti cc bi sau. Hm Cho ti by gi cc script ca chng ta u c vit vo frame u tin ca moive, cch ny ch tt cho nhng chng trnh n gin, nhng nu m chng trnh tr nn phc tp th y khng phi l cch. Hm (function) s cho php chng ta cu to v qun l code d dng hn trong cc chng trnh phc tp. Di y l mt function n gin: ActionScript function myFunction(num) { var newNum = num + 3; return newNum; } Fuction bt u bng t kho function, tn ca function c th l bt c ch g nh cch bn t tn cho variable, nhng lu cch t tn cho fuction lm sao ngi ta c tn c th bit c chc nng ca function. Theo sau tn ca function s l thng s (parameter, cho ngn mnh s gi thng s l param trong cc bi vit ny) c trong ngoc n (). Function c th co 1 hay nhiu param hay khng cn param cng c. Param chng qua ch la variable c dng trong function, nhng variable ny c truyn t ngoi vo khi function c gi. on code c function thc hin s nm gia ngoc mc {}. By gi chng ta phn tch on code trn. Khi function myFunction c gi, th param num c truyn vo, sau function myFunction to ra mt local variable tn l newNum, v n nh gi tr ca newNum bng gi tr ca param num cng vi 3. Sau myFunction dng lnh return n nh gi tr ca newNum l kt qu ca myFunction. Lnh return l lnh c bit ch c dng trong function m thi. Lnh ny s kt thc function. s dng function ny, dng n nh mt lnh hay hm ca AS, ging nh l trace() vy . y l v d: var a= myFunction(7);. Trc tin to mt local var ri sau n nh gi tr ca local var ny bng kt qu ca myFunction vi param l 7, v cui cng thi local var ny s bng 10. Mt trong u im ca function l bn c th ti s dng. Di y l hng code dng chung 1 fuction v cho 3 kt qu khc nhau ActionScript

  • trace(myFunction(7)); trace(myFunction(13)); trace(myFunction(2)); Khi chy on code ny th output windown s l 10, 16 v 5. V c th ti s dng nn chng ta ch cn thay i code trong myFunction th tt c cc kt qa c c t gi function ny cng thay i theo lun. Dot Syntax Mt iu bn s thy rt nhiu trong qu trnh hc AS l dot syntax (hng bit dch sao by gi) Dot syntax l phng php c dng trong lp trnh theo hng i tng (oob: object oriented programming). y l mt v d ca dot syntax. Nu bn mun ly cn bnh phng ca mt s, v trong Flash c sn function lm chuyn ny ri, v hm ny thuc v i tng ton, tn l Math. Vy mun gi function ny th trc tin bn phi gi tn i tng m fucntion ny trc thuc, l Math, theo sau l du chm (dot), v ri ti tn ca function l sqrt. Cch vit nh sau: ActionScript var a = Math.sqrt(4); Mt cch dng dot syntax khc l truy cp c tnh hay variable ca mt i tng, nh l movie clip. ActionScript var a = myClip._x; var a = myClip.myVariable; Chng ta s cp n i tng Math v MovieClip trong cc bi ti, cn by gi th quan trng l bn nm c khi nim v dot syntax. Ch gii Mt trong c tnh cn c ca lp trnh vin l vit code lm sao cho d c v d hiu. Nhng nhiu khi d khi vit c c gng cch my th nhng on code vn kh hiu cho ngi xem, v vy mi cn nhng li ch gii. Mun ch gii trong AS th ch cn dng k hiu// trc cu ch gii . Nu ch gii nhiu hn vi dng th c th dng kiu sau/* ..... ch gii ....*/. ActionScript /* ch gii: cng 2 cho a cng 2 cho b */ a += 2; // add 2 a

  • // add 2 to b b += 2; Debugging Thng th thi gian dit b tn gn 1/3 thi gian pht trin chng trnh. Nu bn nm vng c "ngh thut" dit b th bn s rt ngn c rt nhiu thi gian. C 3 cch dit b hu hin l: phn tch, vit message ra output window v dng AS debugger. Vi cc loi b n gin th phn tch cc on code s gip bn bt trng con b cn dit. Dng output window theo di cc i tng, vng lp, iu kin, v nh vo bn c th bit c ch no trong code c vn , cui cng l dng AS debugger c sn trong Flash. Debugger window cho php bn c th coi ht tt c moi thnh phn trong movie ca bn, cho php bn dng AS bt ch khi no v ch no bn mun. Tham kho thm phn tr gip ca Flash bit cch dng debugger.

    Gi th 05: iu khin lung movie, Control the flow of the movie S dng AScript l cch iu khin movie n gn nht, nhung li hiu qu nht. Chng ny bn s hc cch :

    lm sao dng Movie trn frame Sao nhy t frame ny n frame kia to nt cho php iu khin movie to mt slide show n gin to mt biu din y ..

    Dng movie y l cu lnh stop: ActionScript stop(); Khi bn dng cu lnh ny , movie ch tm dng frame m bn t cu lnh. Cc animation bn trong movieClip v cc file ha vn tip tc chy trn frame . Nhng animation ca time line s b dng. cho animation ca timeline tip tc chy, ta s dng mt lnh n gin l lnh play.. ta s bn n n sau. V d Ti frame 1, bn hy th mt text box v vit vo Ch A Ti frame 2, bn hy th mt text box v vit vo Ch B Ti frame 3, bn hy th mt text box v vit vo Ch C By gi bn hay t cu lnh stop(); vo Frame 2, bn se thy ch A xut hin rt

  • nhanh ri n ch B, nhng ch C s ko thy xut hin,, n gin v cu lnh stop() dng animation ca timeline ti Frame 2. Nhy t frame ny n frame kia Mt cu lnh c bn ca AS l cu lnh gotoAndPlay. Cu lnh ny gip bn c th nhy t frame ny n frame m bn mun. Bn c th s dng s th t ca frame hay l tn ca frame ActionScript gotoAndPlay(7); gotoAndPlay(20); gotoAndPlay("my frame label") bn c th s dng nhiu movies , hay cn gi l cnh(scene) . Nu Cu lnh gotoAndPlay ch c mt tham s, th tham s l frame. Nhng nu c 2 tham s,th tham s u tin l tn ca scene, cn tham ss th 2 l s th t ca frame hay tn frame. ActionScript gotoAndPlay("My Scene","My Frame"); Khi bn dng gotoandPlay,movies s nhy n frame m bn gi , v tip tc chy, nhng nu bn mun n nhy n frame v dng li, bn co th s dng gotoAndStop . Cu lnh ny dng y ht nh gotoAndPlay, vi la chn 1 tham s hay 2 tham s. Ngoi ra c thm 2 cu lnh cng hat ng ging gotoAndStop , l nextFrame and prevFrame hiu r hn v cc cu lnh ny, ta s i tip phn sau... To nt (button) Nt l mt trong 3 biu tng (symbol) chnh trong Flash, 2 ci kia l movie cilps v hnh To mt button C nhiu cch to nt. Mt trong nhng cch l chn Insert, New Symbol t Menu. Mt hp thoi s hin ln v hi bn t tn v la chn biu tng ca bn l loi Movie clip, button, hay ha. Bn hy chn Button. By gi trong ca s chnh ca Flash s thay i, timeline ca button s thay th timeline ca movie chnh. C 4 frames trong timeLine ca button. Chng c tn l Up, Over, Down, HIt. CHng th hin 3 trng thi ca button, v vng hat ng ca button.

  • Nu bn t mt ha, chng hn l mt vng trn, trong frame u tin(UP) v ko c g trong 3 frame sau, trng thi Over v Down ca button s ging nh trng thi ca Up. Vng hot ng ca button cng tng t nh vy. Mt khc , bn c th to cc hiu ng khc nhau cho button ca bn. V d nu bn i mu ca vng trn l mu xanh Frame OVER,c ngha l khi bn a chut qua button, button s chuyn sang mu xanh. Khi bn to xong 1 button, bn tr lai movie timeline chnh. V button ca bn sn sng trong th vin ca FLash. Bn ch vic bm F11, tm button ca bn v ko th n vo ni no bn cn trn ca s thit k. To script cho button t script cho button, u tin hy chm mt button. Sau vo ca s Action bng cch bm chut phi ln button v chn Action t menu xut hin. Hy Chc chn rng ca s Action c t ch Expert. Bn c th kim tra bng mt popup menu gc trn cng bn phi ca ca s. y l mt on m thng thng cho button. Bn c th t n trong ca s m v sau kim tra movie xem n hat ng th no. ActionScript on (release) { trace("You clicked the button!") } on : l mt keyword, c gi ra x l mt s kin Release : L mt s kin, khi ngi s dng click vo button v nh chut ra. on m trace s c thc thi. Ngoi ra Release c th thay th bng s kin PRESS, s kin ny ch khc Release ch khi ngi s dng bm vo button, on m trace s c thc thi m ko cn phi th chut ra. Trace : l in ra mn hnh dng ch YOU CLICKED THE BUTTON. Thc Hnh: To mt Slide Show n gin... C l ko phi din t nhiu v Slide Show, cc bn hy tng tng ging Power Point.. Khi chng ta bm chut, cc slide s chuyn sang slide khc. 1. M Flash, chn New 2. Trong Layer 1, t Frame 1 n Frame 4, bn hy t cc biu tng hay hnh nh, text khc nhau phn bit c cc frame 3. Sau bn to mt layer mi, hy t mt button ln layer ny.Tip theo bn chn

  • Frame 4 ca layer 2, v bm F6. iu ny m bo cho button ca bn s xut hin trong tt c cc Frame ca Layer 1. By gi copy on m sau vo button ca bn, ch nh l copy vo action ca button, ch ko phi vo bt k frame no ActionScript on (release) { nextFrame(); } Cui cng chn Frame 1 Layer 1 action v chn on code sau ActionScript stop(); Hy chy th slide show ca bn = cch bm Ctrl Enter. 5) Xy dng mt presentation n gin: Presentation ny s dng nguyn tc ging ht nh v d Slide show trn, cc bn hay down load file FLA xem .. easy

    Gi th 06: iu khin movie clip, Controlling Movie Clips 6th Hour iu khin movie clip Bn s hc 1- ra lnh cho movie clip 2-To playback cho animation 3-Tm hiu ch(target) ca movie clip 4-Tp vit code cho movie clip 5-To movie clip c th chy li li. 1) Ra lnh cho movie clip : Mt movie chnh c th rt n gin. N ch cn 1 frame v mt movie clip. Nhng bn thn movie clip li c th l mt animation di. Vic ny d dng thc hin m ko cn Actioncript. iu khin c movie, bn phi t tn cho movie clip. Ch rng mt movies clip c 2 tn, mt tn s dng cho timeline . Mt tn s dng cho actioncript. 2 tn ny c th t trng tn nhau hoc khc tn nhau. Lm sao t tn cho movie clip : Chn insert -----> New Symbol (hoc bm Ctrl F8), t tn cho movies clip (nh la chn option movies clip, ch ko phi l button hay graphic) Tn ny c s dng cho timeline. vd: gear animation Th movie gear animation vo ca s thit k.. PHa di ca s properties, ban s

  • thy box instance name.. t tn cho movie tn ny c s dng cho Action script , vd : gears v nh vy, khi bn lp trnh , tn s dng l gears , ch ko phi gear animation. bn c th s dng du chm a ra cc lnh cho movie ca bn. v d ActionScript gears.stop(); gears.gotoAndStop(5); Nh rng movie clip lun c level. Nu on m c t trn chnh movieclip, bn ko cn s dng tn movies, ch cn gotoAndStop();. Nu bn t c tn movie vo, Flash s tm movie ca bn t timeline chnh.. Tc l s phi qua 2 level. ---> chm hn cht. 2)Animation Playback Controller Hy down load source code t trn phn download v xem. V c bn, chng ta lm cc vic sau: - To mt Movie ,t tn l gear animation - t instance name l gear(hng dn trn) - Frame u tin ca time line chnh, chn code ActionScript gears.stop(); -To cc button Advance, Previous, Play, Stop, and Rewind -Code cho cc button ln lt l Advance ActionScript on (release) { gears.nextFrame(); } Previous ActionScript on (release) { gears.prevFrame(); } Play ActionScript on (release) { gears.play(); } Stop ActionScript on (release) {

  • gears.stop(); } Rewind ActionScript on (release) { gears.gotoAndStop (1); } 3) Target mt movie Level c bn u tin ca Flash l time line chnh(Level 0). Nu bn mun ra lnh cho time line ny, bn dng code sau _root.gotoAndStop(); thm ch nu bn t code time line chnh, bn ko cn _root. Ch cn gotoAndStop(); Gi s nu bn c mt movie trn time line, tc l bn c mt level su hn(level 1). Nu bn t time line chnh, mun goi movie gears , bn phi dng cu lnh gears.gotoAndStop(7); _root["gears"].gotoAndStop(7); this["gears"].gotoAndStop(7); C 3 cch trn u ging nhau.. Tuy nhin this c ngha l level hin hnh. V d trn, level hin hnh ca this l level 0. Nhng nu code t trong movie, level hin hnh s l level 1. Bn phi ch . Gi s bn c mt movie khc bn trong movie, tc l bn c level 2. Nu bn mun t level 1 gi n level 2, bn phi dng _parent. Parent dng ging nh root, nhng khc ch, n c gi t level trn. Cn root c gi t level 0 (tc l level gc). Thun li t vic s dng root, this l bn c th gn bin cho movie clips ActionScript var whichClipToUse = "gears"; this[whichClipToUse].stop(); Thun li ca vc s dng this nhiu hn root ch , ko phi lc no mi th cng xy ra time line chnh, i khi ta ch mun n xy ra mt level nht nh. Bi vy this l cch tt nht goi level ca mt movie. Tuy nhin trong nhng trng hp n gin, hay nht l c t tn cho movies. 4) M cho movie clip

  • Chng ta bn v button trn, vy v c bn movie clip script cng ging button, l ActionScript onClipEvent (load) { trace("This clip has been loaded."); } onClipEvent : key word gi s kin (ging on ca button) load : s kin ny xy ra khi movie clip xut hin ln u tin trn mn hnh . N ch xy ra mt ln. Nh rng ngay c khi time line chnh b ng, movie clip nm trn time line vn tip tc chy. S kin enterFrame xy ra lin tc bn trong movie clip mi khi n mt frame mi. S kin ny s thc thi on m mt cch lin tc cho n khi n b kt thc. ActionScript onClipEvent (enterFrame) { trace("This clip has entered a new frame."); } by gi hy copy 2 on code trn vo ca s action ca timeline chnh v run .. bn s thy ActionScript This clip has been loaded This clip has entered a new frame This clip has entered a new frame This clip has entered a new frame This clip has entered a new frame dng ch s tip tc hin ra cho n khi bn tt movie.

    Gi th 07: dch chuyn v thay i movie, Moving and Changing Movie Clips Mt movie clip (MC) bao gi cng c cc thuc tnh, cho php bn xc nh v tr, phng to thu nh, quay, thm ch lm n bin mt. Chng ny cc bn s bit cch: -thay i v tr ca mc -xc inh v tr chut -lm sao quay mt mc -lm sao phng to mc -lm sao movie invisible

  • 1) V tr ca MC: Mi th trong Flash u c v tr. V tr ny c o bng PIXEL. Gc trn cng bn tri ca mn hnh l v tr (0,0) .N l v tr giao ca hng ngang v ct dc. Nu bn s dng mt movie mc nh, th gc di bn phi s l 550,400. C nghia l 550 pixel t bn tri sang v 400 pixel t bn trn xung. nhn hnh sau r hn.

    2) V tr ca Mouse: Cng nh movie, mouse cng c th xc inh c ta .. CH thut ng mouse y l ni n con tr (cursor), ch khng phi con chut bn ang cm trn tay.. ^^

  • C hai thuc tnh c bn ca con tr , l _xmouse v _ymouse. Vy _xmouse v _ymouse l thuc tnh ca chnh i tng m chng c gn. Nu bn s dng trn time line chnh, th chng l thuc tnh ca time line. Nu bn s dng chng trn movie clip, th n l thuc tnh ca movie clip. Nu xmous y mouse l thuc tnh ca time line chnh, n s mc nh l gc tri trn cng. Nu xmouse ymouse l thucc tnh ca 1 movie clip, n s mc nh trung tm ca MC. Hu ht cc trng hp thuc tnh lin quan n movie chnh, bn nn dng cch _root._xmouse v _root._ymouse y l mt on code v du CODE onClipEvent (enterFrame) { trace(_root._xmouse); trace(_root._ymouse); trace(""); } Khi bn chy movie, bn s thy cc cp s c in ra, chnh l ta x,y mouse .Hy dch chuyn mouse ln gc tri trn, bn s thy v tr mouse l 0.0. hoc gc phi di, ta l 550 400. Ch : khi bn a chut ra ngoi Flash window, ta chut xmouse y mouse khng thay i. Nu bn di chuyn chut tht nhanh t trung tm ca ca s ra ngoi ca s, cc gi tr c vn cho n khi bn quay tr li ca s. V vy, bn phi lun ln k hoc cn thn trc khi dng xmouse, y mouse 3) Lm movie quay Mt thuc tnh khac l thuc tnh _rotation Thuc tnh rotation chp nhn gi tr l gc . Mt vng trn chia ra 360 , min gi tr c thuc tnh rotation l -180 v 180. Bn c th s dng gi tr integer hoc floating point. Gi tr ca _rotation lun lun trong vng -180 v 180, v d 179, hoc -179. Nhng nu bn t n l 181, n s hiu thnh gc -179. vy quay mt movie, n gin l t gi tr cho n, bn cng c th s dng cc biu ton ++, += thay i gi tr . Hy xem v d sau CODE myClip._rotation = 90; myClip._rotation++; _root["myClip"]._rotation = 45; this._rotation += 0.5;

  • 4) Co gin n hi mt MC: Bn c th lm co gin, thay i chiu di chiu rng ca movie clip Scale thuc tnh THuc tnh lm vic ny l _xscale cho chiu ngang v _yscale cho chiu dc. Cc gi tr c gn cho x,y scale l phn trm. C ngha gi tr 100 l 100 phn trm , y l thuc tnh mc inh cho mt movie clip gc. Bn c th s dng cc s nh hn nh 50 lm movie co li. Hoc c th s dng s to hn, 200 gin movie ra. Thm c th dng cc gi tr m lt movie. v d 07mousesclae.fla cha mt on m m chgn ta s gp rt nhiu sau ny. N kim tra ta ca mouse,. Sau xc inh t mouse n trung tm movie xa bao nhiu. Ri n s dng khong cch ,c chiu cao chiu rng tnh phn trm t l cho movie clip. CODE onClipEvent (load) { // get the original width and height of the mc origWidth = this._width; origHeight = this._height; } onClipEvent (enterFrame) { // get the distance from the center of the mc to the mouse dx = _root._xmouse-this._x; dy = _root._ymouse-this._y; // calculate the percentage of scale sx = 100*dx/(origWidth/2); sy = 100*dy/(origHeight/2); // set the scale of the mc this._xscale = sx; this._yscale = sy; } Ch y ta s dng 2 thuc tnh mi, _width v _height tr v chiu cao v chiu rng ca movie clip bng Pixel. CHng c lu gi trong onClipEvent (load) v khi ta cn ly li gi tr gc ca movie. Thuc tnh _width, _height S khc nhau gia scale v width,height scale s dng gi tr phn trm. Cn width height s dng pixel . Movie c th c gi tr sau: width 75, height 45, nhng scale cho c xscale and yscale l 100 phn trm. Di y l mt v d s dng width height thy th cho xscale, yscale. CODE

  • onClipEvent (enterFrame) { // get the distance from the center of the mc to the mouse dx = _root._xmouse-this._x; dy = _root._ymouse-this._y; // set the scale of the mc this._width = dx*2; this._height = dy*2; } bn c th thy code ny ngn gn hn trn. bi v n ko s dng s kin onClipEvent(load) bi gi tr chiu di chiu cao ca movie gc ko cn lu tr.y l mt v d cho thy s dng width v height tin hn dng xscale ,y scale. 5) Visibility Mt thuc tnh khc ca MC l thuc tnh _visible , gi tr ca thuc tnh ny l gi tr boolean true , false. CODE myClip._visible = false; hy xem v d 07visible.fla r hn. Gi s ta khng mun movie bin mt hn, m ch b m i, ta s dng thuc tnh _alpha . Thuc tnh c gi tr t 0 n 100 CODE myClip._alpha = 50; Thuc tnh alpha l knh mu th 4, tn l alpha channel . 3 knh u tin l red ,green, blue to ra 7 mu cu vng. Khi bn nghe n ha 32 bit, c ngha l n 4 knh mu.. Cn 24 bit c ngha ch c 3 knh u tin. Nu gi tr ca _visible l 0 th movie l trong sut hon tan v c th nhn thy tt c mi th pha sau movie. Nhn hnh sau xem cng 1 movieclip nhng vi 3 gi tr alpha khc nhau, 10, 50 v 100 (t tri sang)

    Gi th 08: chn, ko th movie clip, Moving and Changing Movie Clips 1. Selection

  • Bn bit cch hc sao to mt button v cho php ngi s dng click vo lm s kin hot ng. Tuy nhin y ta s hc cch click vo chn la mt i tng trn mn hnh. To mt chn la, c ngha l user click vo item , nhng khng c g xy ra. Nh vy, ngi dng c th la chn v thay i la chn. Chng ta s s dng la chn nh bc u tin hc ko th movie. Button bn trong mt Movie method. Mt movie khng th phn ng vi mouse click. Khng th s dng cc s kin nh on (release) hay (Press). v vy ta phi tm cch nh la n. l s dng mt button bn trong movie. Button c th x l c mouse click, v min l n c ln bao trm mt movie. Hy xem v d 08buttoninmc.fla . Ta ch nhn thy mt movie clip trn mn hnh.nhng thc cht bn trong ca movie clip l mt button. to ra kh nng select, ta phi to nhiu frame.Frame u tin cha mt button tn l offbutton. Button ny c m l CODE on (release) { this.gotoAndStop(2); } bng this, button s gi n movie clip m n nm trn y. Frame th 2 cha nt tng t nhu frame 1 , tn l onbutton, nt ny c mu hi sng hn ngi dng nhn ra khi n c chn. CODE on (release) { this.gotoAndStop(1); } cui cng t vo frame 1 CODE stop(); By gi hy chy xem. Phng thc hitTest C cch khc lm movie c th s l mouse click m khng cn button, l s dng s kin onClipEvent(mouseDown) hoc l onClipEvent(mouseUp)v d CODE onClipEvent (mouseUp) { this.gotoAndStop(2); } Hy chy v d 08twomcs1.fla xem.Bn s thy ti sao onClipEvent(mouseUp) khc vi on (Release) . Nu bn click vo movie, c hai u phn ng.Bi v tt c movie clip nhn s kin mouse up c gi n cho chng.

  • Quyt inh movie no c click. C mt cch click vo movie mnh mun. l s dng v tr chut xc nh. Sa on m thnh nh sau CODE onClipEvent (mouseUp) { if (this.hitTest(_root._xmouse, _root._ymouse)) { this.gotoAndStop(2); } } vy bng cch rng buc movie clip vi mouse location , ta c th click movie ta mun. VIt m cho selection: Chng ta phi cho php User click ln movies nhiu ln v thay i trng thi ca MC t bt sang tt, hay tt sang bt. on m sau c th xc nh movie ang trng thi no v gi n n frame khc. VIc ny thc hin bng thuc tnh _currentFrame . Thuc tnh ny s c gi tr 1 kh n frame th nht, gi tr 2 khi n frame th 2. CODE onClipEvent (mouseUp) { if (this.hitTest(_root._xmouse, _root._ymouse)) { if (this._currentFrame == 1) { this.gotoAndStop(2); } else { this.gotoAndStop(1); } } } By gi bn thy cc cch to s chn la movie. Cch th nht tin li nu bn mun dng c cc trang thi khc nh Over,up , down.. Cch th hai th khng cn nhiu biu tng trong th vin. Enjoy.. 2) Ko mt movie clip By gi ta s hc ko mt movie. C 2 cch ko movie, cch th nht l s dng lnh . Cch ny rt d s dng nhng n khng cho bn nhiu la chn trong vic sa i v gim st movie. Cch Drag c bn: 2 cu lnh drag co bn l :startDrag v stopDrag. bn dng startDrag khi bn mun movie ca bn i theo chut, cn stopDrag khi bn mun movie ca bn khng theo chut na. y l on code c bn : CODE onClipEvent (mouseDown) { if (this.hitTest(_root._xmouse, _root._ymouse)) {

  • this.startDrag(); } } onClipEvent (mouseUp) { if (this.hitTest(_root._xmouse, _root._ymouse)) { this.stopDrag(); } } S kin onClipEvent nhn tng t nh ta lm trn. Chng s dng hitTest nhn bit movie no ang c click. V sau cu lnh startDrag v stopDrag c s dng. Khi chut c bm xung, cu lnh startDrag thc thi. V ngc li, khi chut th ra, stopDrag thc thi. Hy xem movie, bn s thy vi cc cu lnh drag, bn c th ko cc movie mt cch c lp. Nhng ch rng bn khng th ko 2 movie cng mt lc. Ch mt movie c ko ti mt thi im. V vy bn nn cn cch drag phc tp v linh ng hn lm ng dng hay game. Note: startDrag c 5 thm s. Tham s th nht l gi tr True(hoc False) quyt nh vic trung tm ca movie clip c kha vi v tr chut hay khng. Cc tham s cn li l left, top, right, bottom. Nu bn t chng, movie ca bn ch c th c ko theo cc rng buc . Ko nng cao By gi ta hc cch ko movie m ko dng cu lnh startDrag v stopDrag. Vy lm th no?? Bn cn c 4 phn m sau trong movie ca bn: Th nht l s kin onClipEvent(load), s kin ny s t cho bin global tn l dragging gi tr false. Khi bin ny true, tc l bo hiu rng movie c th c ko. Th hai, ngi dng click vo mt movie. C ngha l dragging = true . Th ba, qu trnh ko s tip tc din ra bi s kin onClipEvent(enterFrame). S kin ny ch n gin gn _x v _y (thuc tnh ca movie clip) cho _root._xmouse v _root._ymouse(thuc tnh ca con tr ). Th 4, nu ngi dng th chut , th bin dragging c gn false. Sau y l on code y CODE onClipEvent (load) { // start out not dragging dragging = false; }

  • onClipEvent (mouseDown) { if (this.hitTest(_root._xmouse, _root._ymouse)) { // follow the mouse from now on dragging = true; } } onClipEvent (enterFrame) { if (dragging) { // set to location of the mouse this._x = _root._xmouse; this._y = _root._ymouse; } } onClipEvent (mouseUp) { if (this.hitTest(_root._xmouse, _root._ymouse)) { // don't follow the mouse any longer dragging = false; } } Trong v d 08complexdrag.fla cha 2 MC. Kim tra movie, nhng ch s dng MC bn tri. y l MC lm theo on code trn. Ch xem trung tm movie c kha vi v tr chut nh th no. N lm movie nhy ngay lp tc nu bn click vo n. Thng thng, khi bn mun ko MC ln mn hnh, bn khng mun n nhy ti lm khp v tr chut vi trung tm ca MC. Hy ko file xung quanh mn hnh.Bn s thy khi bn click chut vo bt k im no trn movie, movie s lp tc lm khp v tr click chut vi trung tm movie. iu ny cng tng t vi cu lnh startDrag . trnh iu ny, chng ta ch cn thm mt on code nh. Khi ngi s dng bm chut, chng ta s ly offset, y l khong cch t chut cho n trung tm ca movie. Sau , thay th bng vic gn v tr chut n trung tm movie, ta se thm vo offset cho MC lun lun xut hin offset bi cng mt gi tr khi ngi dng ko. Tng tng , v d ngi dng click vo mt im cch trung tm movie 5 pixel. Sau ta lun mun khong cch 5 pixel c duy tr. iu ny lm cho ngi dng c th click vo bt c im no ko movie. y l code cho movie 2(bn phi) CODE onClipEvent (load) { // start out not dragging

  • dragging = false; } onClipEvent (mouseDown) { if (this.hitTest(_root._xmouse, _root._ymouse)) { // follow the mouse from now on dragging = true; // get the mouse offset xOffset = this._x - _root._xmouse; yOffset = this._y - _root._ymouse; } } onClipEvent (enterFrame) { if (dragging) { // set to location of the mouse this._x = _root._xmouse + xOffset; this._y = _root._ymouse + yOffset; } } onClipEvent (mouseUp) { if (this.hitTest(_root._xmouse, _root._ymouse)) { // don't follow the mouse any longer dragging = false; } } Hy xem movie thy khc bit gia 2 on code. 3) Ko v th By gi ta bit ko movie, vy ta s th n u.? Vn l bn mun theo di hnh ng ca ngi s dng v xc inh ngi s dung t movie u. Basic Drop Zone Chc nng hitTest c th c s dng xc nh khi MC b ln nhau. Trong on m sau, chgn ta s dng lnh startDrag on m ko th n gin i, nh ta c th tp trung vo cc chc nng mi. Trong on m sau, chc nng hitTest c s dng so snh MC c ko vi mt movie khc tn l dragZone trn mt lvl(root level) CODE onClipEvent (mouseDown) { if (this.hitTest(_root._xmouse, _root._ymouse)) {

  • this.startDrag(); } } onClipEvent (mouseUp) { if (this.hitTest(_root._xmouse, _root._ymouse)) { this.stopDrag(); // see if this mc is inside the dropZone mc if (this.hitTest(_parent.dropZone)) { trace("Dropped in zone"); } else { trace("Dropped outside zone"); } } } Ch hitTest khng c s dng nh cc bi trc, chng ta thay th v tr _x v _y bi mt movie khc. Loi hitTest ny so snh v tr v vng c bao ph ca 2 movie clip. Trong trng hp ny, n c so snh vi _parent.dropZone. Nu c 2 movie ln nhau, hitTest tr gi tr True. xc inh xem MC no ang tn ti, hnh ch nht ca c 2 movie u c s dng. iu ny c ngha l khi bn s dng 2 hnh trng, nh trong v d, bn thn chnh cc vng trn khng c chm vo min l cc hnh ch nht ca 2 movie c dng. Hy xem hnh minh ha. Tt c cc movie Dragme u nm trn DropZone. C 2 cch s dng hitTest. Th nht l s dng ta x,y. Chng ta c th s dng movie clip nh v tr x,y, ri sau s dng dropzone nh mt movie clip th nht. CODE if (_parent.dropZone.hitTest(this._x,this._y)) { Vi on code ny, thay th v d trn, movie clip s nm bn trong hnh ch nht ca vng dropzone. Chng ta c th thm mt bc na vi hittest. Bng cch thm tham s th 3 cho hitTest, chng ta c th dng hitTest xem hnh dng chnh xc ca movie clip v xc inh v tr x,y. Bin th 3 ny cn gn true nu bn mun hnh vi ny. Nu n false, n se hnh ng ging nh chc nng hitTest bnh thng. y l on code CODE if (_parent.dropZone.hitTest(this._x,this._y,true)) {

  • By gi movie ko th ca ta hat ng tt hn. Nu bn s dng v d 08drop.fla, movie bn phi s s dng on m gc, v n nm trn hnh ch nht ca dropzone. Cc movie khc s dng on code phc tp hitTest v chng c trung tm nm bn trong hnh dng gc ca dropzone.

    Gi th 09: Ly thng tin t ngi dng, Getting input from the user Cho ti by gi, qua 8 gi lm quen vi AS, tt c cc tc ng ca bn ln trn flash u c lm qua chut. Nhng ngoi chut, bn c th dng bn phm np thng tin vo Flash. Lm sao pht hin khi ngi dng bm phm C 3 cch pht hin khi mt phm tn bn phm b nhn. 1 l dng nt, 2 l dng i tng Key, v 3 l dng "listener" (ch c Flash MX v MX 2004) 1. Pht hin qua nt: Bn c th dng nt pht hin khi ngi dng s dng bn phm. Bn chi cn dng lnh x l s kin on cho on code ca nt . V d on code sau s kch hot khi m ngi dng nhn phm "a". ActionScript on (keyPress "a"){ trace ("Key 'a' pressed"); } Trong movie mu 09keybutton.fla c mt nt n gin nm trn mn hnh v vi v d trong . Nu bn cho chy th movie v nhn phm "a" th Output window s c vit ra dng ch "Key 'a' pressed.". X l d kin on(keyPress) nh l phi phn bit dng ch (case-sensitive) nn nu bn ch code cho n nhn phm "a" th n s khng th nhn c phm "A". May m chng ta c th dng bao nhiu b x l d kin cng c. Nu bn mun x l cc phm khc, nh cc phm mi tn, enter, thanh di (space bar) ... th bn phi dng cc code dnh ring cho chng. V d bn mun x l phm mi tn tri (left arrow key) th dng on code sau: ActionScript on (keyPress "") { trace("Left pressed."); } V sau y l cc code dnh cho cc phm c bit:

  • Bn c th hp nhiu d kin li chung vi nhau. V d bn c mt nt v nt c phm tt l "b". Vy khi bn nhn nt hay l nhn phm "b" th code ca nt s c kch hot. ActionScript on (keyPress "b", release) { trace("'b' pressed or button clicked."); } Cc v d trn u c trong movie mu 09keybutton.fla 2. Pht hin qua i tng phm (key object) Mc d nt rt hu ch trong vic pht hin khi ngi dng nhn phm, nhng nt li khng th pht hin c trng hp khi ngi dng nhn phm v khng nht tay. V d nu bn lm mt game bng Flash, v trong ngi chi cho th lm cho cc nhn vt trong game di chuyn lin tc nu nh h nhn phm mi tn v khng nht tay ln. Cho nhng trng hp nh vy, bn phi dng i tng Key. i tng Key l tp hp ca mt s hm (function) v hng s (constant) c xy dng sn trong Flash. Bn c th dng cc hm v hng s ny bit c cc phm ang b nhn hay khng. V d, nu mun kim tra coi phm mi tn tri c b ang nhn hay khng th dng on code sau: ActionScript if (Key.isDown(Key.LEFT)) { trace("The left arrow is down"); } Hm Key.isDown s cho ra kt qu ng hay sai ph thuc vo thng s c phi l phm ang b nhn hay khng. Hng s Key.LEFT tng trng cho phm mi tn tri. vy khi mi tn tri b nhn th output window s cho ra hng ch "The left arrow is down". Di y l cc hng s tng t nh Key.LEFT cp trn

    Key.BACKSPACE Key.ENTER Key.PGDN

  • Key.CAPSLOCK Key.ESCAPE Key.RIGHT Key.CONTROL Key.HOME K ey.SHIFT Key.DELETEKEY Key.INSERT Key.SPACE Key.DOWN Key.LEFT Key.TAB Key.END Key.PGUP Key.UP

    Nu bn mun kim tra xem nu nhng phm bnh thng ang b nhn th bn phi dng Key.getCode ly m s ca phm dng trong hm Key.isDown. y l code mu khi bn mun kim tra phm "a" ActionScript if (Key.isDown(Key.getCode("a")) { trace("The left arrow is down"); } Cho 2 v d trn, bn c th coi source Fla 09keyobject.fla 3. Key Listener Key listener c dng quan st bn phm v thng bo cho Flash khi phm c nhn. cch th 2 chng ta dng i tng Key kim tra coi phm c b nhn hay khng, nhng n khng th bit chnh xc lc no th phm b nhn. Nu m ngi dng nhn phm qu nhanh, trc khi onClipEvent(enterFrame) kp kch hot i tng key kim tra th Flash s khng bao gi bit c ngi dng nhn phm. Mt bt tin na khi dng cch th 2 l nu bn mun ngi dng nhn phm nhiu ln th i tng Key s khng phn bit c l 1 ln nhn di hay l nhiu ci nhn tht nhanh. V vy Flash MX, MM cho chng ta thm mt la chn na l Key listeners. bn c th dng "listener" (c th hiu n nh mt quan st vin) theo di s kin ca bn phm v thng bo cho Flash ngay khi phm c nhn. Listener c 2 phn. Phn u l phn to listener. Bn phi ra lnh cho listener ny ch vo s kin ca bn phm. y l code cho to listener ActionScript Key.addListener(_root);

  • Lnh Key.addlistner to listener cho i tng trong thng s l _root. V i tng ny s c thng bo v s kin ca bn phm. Trong on code trn, _root l i tng c thng bo v s kin ca bn phm. Nhng khi nhn c thng bo th _root phi lm g? V vy chng ta cn phi vit code x l s kin cho _root. V d on code sau s c thc hin khi _root nhn c thng bo v s kin bn phm. ActionScript _root.onKeyUp = function() { trace(Key.getAscii()); } Khi ngi dng nhn phm, ri nht tay ln th s to ra s kin onKeyUP, v s kin ny c thng bo ti _root (bn c th thay th _root bng bt k i tng no) v sau th hm Key.getAscii() s cho ra kt qu l m s ASCII tng ng vi phm va c nhn, v d A = 65, B = 66 .v.v Bn c th xem ci fla mu 09keylistener.fla, trogn c on code trn (lu l trong fla ny s khng c g ht ngoi on code AS frame u tin) Nu bn mun bit phm c nht l g thay v ASCII code th bn c th dng String.fromCharCode() cho ra kt qu bn mun tm. Thay dng trace(Key.getAscii()); bng trace(String.fromCharCode(Key.getAscii())); Tht ra ngoi 3 cch trn, cn mt cch na l dng b x l s kin onClipEven ca movie clip theo di s kin keyDown, keyUp, nhng cch ny khng cn c dng trong Flash MX na, v vy bn ch c th cch ny trong cc Flash trc MX thi. Bi Tp: Dng phm di chuyn movie clip 1. To mt file Flash mi 2. To mt movie clip n gin 3. Gn on code ny vo movie clip ActionScript onClipEvent(enterFrame) { if (Key.isDown(Key.LEFT)) this._x -= 5; if (Key.isDown(Key.RIGHT)) this._x += 5; if (Key.isDown(Key.UP)) this._y -= 5; if (Key.isDown(Key.DOWN)) this._y += 5; }[/b] on code trn kim tra 4 phm mi tn v di chuyn movie clip theo hng ca mi tn. Bn hy th movie coi sao 4. Thay i on code trn cho hon chnh hn: to 2 bin [b]x, y[/b] c gi tr tng ng vi v tr ban u ca movie clip, v lp gi tr cho bin [b]speed[/b] bng 5. Mi frame ca movie, mnh s kim tra 4 phm mi tn v iu chnh gi tr ca 2

  • bin [b]x,y[/b] ch khng iu chnh v tr ca movie clip, sau phi hp vi bin [b]speed[/b] tm v tr mi cho movie clip, ri mi di chuyn movie clip ti : [code]onClipEvent(load) { x = this._x; y = this._y; speed = 5; } onClipEvent(enterFrame) { if (Key.isDown(Key.LEFT)) { x -= speed; } if (Key.isDown(Key.RIGHT)) { x += speed; } if (Key.isDown(Key.UP)) { y -= speed; } if (Key.isDown(Key.DOWN)) { y += speed; } this._x = x; this._y = y; } on code trn c 2 li im. Th nht, chng ta tm v tr mi ca movie clip trc khi chng ta di chuyn movie clip ti , v nh vy chng ta c th kim tra v tr mi c hp l khng (o dng rt nhiu trong game), v th hai l rt tin cho chng ta thay i tc di chuyn ca movie clip, ch cn thay i gi tr ca bin speed Nhp vn bn Trong Flash, ngi dng c th nhp vn bn vo cc khung, v bn c th dng AS ly nhng vn bn . cho ngi dng c th nhp vn bn, bn phi to khung input text v to cho 1 varible tng ng vi ga tr trong khung input text . (nu bn no cha bit to input text th c th download 3 ci CD hng dn bn box ti liu tham kho thm) Cc chc nng v thao tc lm vic vi chui k t (string Chng ta c rt nhiu thao tc vi chui k t: 1. Ghp 2 chui li vi nhau: dng k hiu +. V d bn c variable tn l myVariable c gi tr l "Hello", v mun ghp ch "world" vo sau th dng nh sau: myVariable = myVariable + "world" v kt qu c c s l "Hello world". Bn cng c th ghp nhiu hn 2 chui li vi nhau bng cch trn. 2. Substrings. Substring l mt chui k t nh trong 1 chui k t khc. V d "ell"

  • l substring ca "hello world" hay l "hello" hay l "elle" hay "hell". Bn c th ly bt c substring no ca 1 string vi c php sau: String.substring(start, end));. String l i tng chui m bn mun trch ra mt phn, start l s th t ca k t bt u cho chui bn mun ly, v end l s th t bt u cho phn bn khng mun ly. Lu rng k t u ti s c s th t l 0. V d vi on code sau, output window s cho ra hng ch "lo W" ActionScript var myString = "Hello World."; trace(myString.substring(3,7)); Ngoi ra cn 1 cch na dng tng t nh cch trn nhng ch khc v thng s v c c php nh sau: String.substr(start, length);. thng s 1 cho s th t ca ch ci u tin v th hai cho chiu di ca chui. on code sau cng s c kt qu tng t nh cch 1 ActionScript var myString = "Hello World."; trace(myString.charAt(6)); Cc hm ca i tng String Sau y l mt s hm tiu biu ca i tng String. 1. indexOf: dng tm s th t ca mt k t hay mt chui nh trong i tng String. Nu hm indexOf tm khng thy k t hay chui nh th s cho ra kt qu -1. y l c php:myString.indexOf(substring,start)); substring l k t hay chui mnh mun tm, start l s th t mnh bt u tm trong i tng String. V d: ActionScript var myString = "Hello World."; //output: 6 trace(myString.indexOf("W",0)); //output: 2 trace(myString.indexOf("llo",0)); 2. lastIndexOf: tng t nh indexOf nhng chng ta tm k t cui cng i ngc ln tik t u tin. ActionScript var myString = "Hello World."; //output: 2 trace(myString.indexOf("l",0)); //output: 9 trace(myString.lastIndexOf("l"));

  • 3. toUpperCase/toLowerCase: dng i chui t vit thng sang vit hoa v ngc li ActionScript var myString = "Hello World."; //output: HELLO WORLD trace(myString.toUpperCase()); //output: hello world trace(myString.toLowerCase()); 4. length: l c tnh ca Sring dng tnh chiu di ca chui. ActionScript var myString = "Hello World."; //output: 12 trace(myString.length); Bi tp: 1. m file 09form-noscripts.fla 2. kim tra tn ca variable ca mi input text field qua property panel 3. Thm on m sau vo nt CLEAR ActionScript on (release) { clearForm(); } 4. thm on m sau vo nt SUBMIT ActionScript on (release) { submitForm(); } 5. Thm on code sau vo frame u tin ca movie ActionScript function clearForm() { firstName = ""; middleInitial = ""; lastName = ""; address = ""; city = ""; state = ""; zip = ""; phone = ""; comments = "";

  • } function submitForm() { if (middleInitial.length == 1) { trace("Name: "+firstName+" "+middleInitial+". "+lastName); } else { trace("Name: "+firstName+" "+lastName); } } Ri bn test movie.

    Gi th 10: To V iu Khin Vn Bn, Creating and Controlling Text Dynamic Text Bn cng c th hin th vn bn bng dynamic text field. Khc vi Input field m bn lm quen trong gi s 9, dynamic text field ch cho php AS thay i ni dung vn bn ch khng phi l ngi dng. V ni dung, hnh thc ca vn bn c th thay i bt c lc no nn mi gi l dynamic text Trc tin bn to dynamic text bng dng c text trn thanh toolbar, nhng thay v chn "Input Text" trong property panel, bn chn "Dynamic Text" Bc k tip l ni ni dung ca vn bn trong dynamic text field vi mt variable bng cch vit tn ca variable vo trong khung Var trong propery panel. V d nh bn t variable myText vo trong khung Var th khi bn thay i gi tr ca myText th vn bn trong dynamic text field cng thay i ging nh gi tr ca bin myText. Ngoi ra bn cn c th thay i mt s la chn cho dynamic text field nh "Single", "Multiline", or "Multiline No Wrap" x l trng hp ni dung ca vn bn qu di v cnn nhiu la chn khc na. (Nu bn cha nm vng phn ny th c th tham kho thm v s dng Flash trong CD c post box ti liu) nh dng vn bn theo HTML (HTML format) nh dng vn bn kiu HTML, bn phi cho php dynamic text field chp nhn nh dng HTML (click vo HTML icon trn property panel) v sau bn c th dng th HTML nh dng vn bn ca bn. V d on code ny s to vn bn sau: CODE myText = "This text is bold.
    "; myText += "This text is italic.
    "; myText += "This text is underlined.
    "; myText += "This text is red.
    "; myText += "This text is Arial Black.
    ";

  • myText += "This text is large.
    "; myText += "This text is linked.
    "; QUOTE This text is bold.
    This text is italic.
    This text is underlined.
    This text is red.
    This text is Arial Black.
    This text is large.
    This text is linked. Siu lin kt (hyper link) trn c tc dng ging nh trong HTML nh khc 1 iu l khng c gch di Sau y l nhng th HTML c th dng trong Flash MX

    : vit m : vit nghing : gch di : kiu ch : c ch

  • tu theo tng trang web. Mun nhp vn bn hay gi tr ca bin no t HTML, bn ch cn thm vi ch vo sau ci tn ca movie trong phn v trong HTML.. on m HTML sau y nhp gi tr ca bin txtName vo trong Flash HTML v trong th th bn thm phn variable v gi tr vo sau tn file HTML src="10banner.swf?txtName=Dominico Savio!"> Khi movie load th n s t to variable "txtname" v t gi tr cho bin ny bng "Dominico Savio". Bn c th xem trang 10banner.html, 10banner.fla trong ci source file xem chi tit hn. Bn c th lm nhiu gi tr mt lc cng bng cch ny 10banner.swf?txtName=Dominico Savio!&gender=male" Ngoi ly bin t HTML, bn cn c th ly bin t cc text file. Cch ny thch hp khi bn c nhiu bin nhp vo Flash, hay gi tr ca cc bin qu di gn vo th HTML. Bn ch cn dng lnh loadVariables() lm c iu ny. V d: CODE loadVariables("10external.txt", _root); Bn c th coi thm v cch dng loadVariables() bn box ActionScript [Bi Tp Mt v d n gin p dng cc iu m bn va hc trong bi ny l lm mt ci "news ticker" nh di y:

    Dng ch s chy t bn phi qua bn tri cho sut bn tin. Bn c th tham kho source fla: 10ticker.fla v test n c khi nim thm v "news ticker" 1. To movie mi 2. To dynamic text field, vi cao ch va 1 hng, v di bng chiu ngang ca stage, cho d nhn, bn c th vit vi ch trong , nh l "text goes here" 3. To variable cho text field ny l text 4. Chn font, nn dng kiu ch tng t nh Courier New, sao cho b ngang ca mi ch bng nhau 5. Con text field ri nhn F8 i thnh Movie Clip, v t cho n 1 ci tn nh th no tu bn 6. Sau th gn on script sau vo movie CODE onClipEvent(load) { // t bn tin tickerText = "News Alert: "; tickerText += "Stock prices shoot up sharply with good earnings reports. "; tickerText += "The first manned flight to Mars prepares to leave Earth orbit. "; tickerText += "Your favorite sports team wins championship. "; tickerText += "Scientists find cure for major diseases. ";

  • firstChar = 0; // bt u ch ci u tin lineLength = 50; // s ch ci ti a trn news ticker // thm cc khong trng vo trc dng tin for(var i=0;i tickerText.length) { firstChar = 0; } } Trc tin bn to ra bin tickerText cha bn vn news ticker, bin firstChar cha gi tr ca ch ci u tin s thy trong news ticker, v lineLenght l s ch ci c th xut hin mt lc trn news ticker. V tt c cc u c cho vo trong b s l d kin onLoad Trong onEnterFrame, Flash s ly 50 ch ci u tin b vo bin text ( trong dynamic text field) cho n hin th ln mn hnh. Sau di chuyn sang ch ci th 2 bng cu firstChar++;, v sau cng l kim tra, nu bn tin c pht ht th pht li t u. 6. Bn c th thay i gi tr ca lineLenght v gi tr ca bn vn trong tickerText hiu hn v 2 bin ny 7. By gi bn hy th dng loadVariable() nhp bn tin t text file vo coi c c khng. Nu khng th hy tr li y hi mnh nhe Happy flashing

    Gi th 11: Lm vic vi cc con s, Chng ny rt hay v b ch! Chng ta nghin cu v text v strings trong cc chng trc. By gi chng ta s nghin cu v nhng con s. Bn s phi ng vi nhng con s trong Action Script trong nhiu trng hp, v vy bn cn phi hiu lm sao s dng chng. Nhng php ton (operator) v nhng hm (function) v s Nhng php ton n gin Chng ta cng hc qua cc php ton n gin ri. By gi hy xem li nh. Du + v du - s thc hin php ton cng v tr, du * thc hin php nhn, du / thc hin php chia. Ngoi ra, bn cng c th s dng nhng php ton nh +=, -=, *=, /= lm n gin cho code ca bn. Ly v d hai cu lnh di y s thc hin cng mt cng

  • vic l cng thm 7 v bin a CODE a = a + 7; a += 7; Nhng php so snh Nhng php ton so snh nh == so snh hai s xem c bng nhau khng, > (ln hn), < (nh hn), = (ln hn hoc bng). Trong Action Script chng ta c th so snh mt s nguyn vi mt s thc. V d nh 7.2 s ln hn 7. Math.abs i tng Math cha mt tp hp cc hm x l cc con s. Hm Math.abs s tr v gi tr tuyt i ca mt s. Bn hy th on code ny xem kt qu th no nh: CODE trace(Math.abs(-7)); Math.round Nu bn c mt s thc, nhng bn li mun hin th cho ngi dng xem di dng s nguyn thay v phi cho h xem cc con s phn thp phn, bn hy s dng hm Math.round. Th nh: CODE trace(Math.round(7.2)); Math.ceil, Math.floor Hai hm khc dng lm trn s thc thnh s nguyn l Math.ceil v Math.floor. Hm Math.ceil s lm trn s ln v Math.floor s lm trn s xung. Th nh: CODE trace(Math.ceil(7.2)); trace(Math.floor(8.3)); Math.min, Math.max Cc bn c th s dng hai hm ny tm s ln hn v s nh hn trong hai s. V d hm Math.min(4, 5); s tr v 4, Min.math(4, 5); s tr v 5 Math.pow y l hm ly ly tha, cng n gin thi, tham s th nht l c s, tham s th hai l ly tha. V d bn mun ly 4 lu tha 3 th vit th ny

  • CODE Math.pow(4, 3); Math.sqrty l hm tnh cn, nhng m mnh xin ni trc lun l ngoi hm Math.sqrt, bn cn c th s dng hm Math.pow vi ly tha nh hn 1 tnh cn. V d mun ly cn 2 ca 4 th c th s dng CODE Math.pow(4, .5); hoc Math.sqrt(4); C hai cch trn u ra cng mt kt qu l 2. Hm s lng gic Nhng hm ca object class m cc bn c bit trn c v nh rt d hc. Nhng cn nhng hm v lng gic nh sin, cosin th kh nut hn nhiu. Mc d bn c th b qua nhng hm ny nhng nhng hm lng gic ny rt hu ch v hay trong vic to nhng ng dng trong Flash. Vy chng ta hy cng tm hiu cch n lm vic nh! Hm sin v cosin s dng qua Math.sin v Math.cosin, biu din mi quan h gia ng thng vi ng cong ca mt ng trn. Hnh di y biu din mt vng trn vi mt s im c nh du bng cc ch. Hy tng tng tm ca vng trn to 0,0; bn knh ca ng trn bng 1. V th, im trn cng s c to 0,1 v im tn cng bn phi s c to 1,0

    By gi bn hy tng tng vng trn trn l mt ng thng. Bt u t im a

  • c to 1,0 n im 0,-1 qua -1,0 ri qua 0,1 v cui cng tr v 1,0. Trong Flash, v cng nh trong cc ngn ng lp trnh khc, chng ta nh v mt vt bt k bng to x, y ca chng. V th, vic chuyn mt im trn ng thng thnh mt im c to x, y trn ng trn rt hu dng. l nhng g m hm sin v cosin thc hin. V d nh chng ta t im a l im bt u ca ng thng ca ng trn, bn c s dng hm sin v cosin ca 0 tnh to x, y ca im a trn ng trn. Tt nhin, Math.cos(0) s tr v gi tr 1, Math.sin(0) s tr v gi tr 0. Kt qu s tr v to ca im a 1,0 Vy im c s nm u trn ng trn? Nu dui ng trn ra s c di bng 6.28 ln bn knh, do bn knh bng 1 nn di s bng 6.28. y l xut x ca hng s pi. Pi bng 3.14, bng mt na di ca ng trn. di ca ng trn l 6.28 th mt phn t di ng trn l 1.57. im tng ng vi im c. Hm Math.cos(1.57) s tr v mt gi tr rt nh, gn bng 0. Hm Math.sin(1.57) s tr v gi tr gn bng -1. Ch gn bng ch khng bng v hng s pi khng chnh xc bng 3.14, ch l gn bng thi. Bn c th s dng cch ny chuyn cc im trn ng trn thnh im c to x,y Vy th n c ch nh th no? Gi s nh bn mun to mt movieclip bay quanh mn hnh trong mt vng trn. Lm sao lm c iu ? Nu lm bng frame c th phi tn hng trm frame . Hoc cch khc l c th dng hm Math.cos v Math.sin tnh chuyn sang to x,y quanh vng trn. Trong on code di y, khi cng thm n, movie clip s chuyn ng dc theo ng trn. Hm Math.cos s tnh ra gi tr x v hm Math.sin s tnh ra gi tr y, chng s c nhn thm vi gi tr ca radius tng kch thc ca ng trn. Gi tr ca centerX v centerY s c cng thm cho cc to x, y, v th tm ng trn by gi khng cn 0,0 na m s v tr 150,150 CODE onClipEvent(load) { n = 0; radius = 100; centerX = 150; centerY = 150; } onClipEvent(enterFrame) { n += .1; this._x = Math.cos(n) * radius + centerX; this._y = Math.sin(n) * radius + centerY; } Ch (string) v s (number) C rt nhiu cch chuyn i t chui sang s v ngc li. V d nh trng hp ngi dng nhp mt s vo text field, bn s nhn gi tr v cng thm mt. Hy xem on code sau y, num l mt bin gi tr text field CODE

  • b = num + 1; Nu num = 42, vy th b s l 43, ng khng? Xin tr li l sai, kt qu b l 421, n gin bi v num l mt chui (string) ch khng phi l mt s, v th khi chng ta thc hin php cng num vi 1 c ngha l cng k t 1 vo chui num ang c gi tr 42. lm cho Flash hiu num l mt s, bn c th s dng mt trong hai hm sau y chuyn mt chui thnh s. Hm parseInt chuyn mt chui thnh kiu s nguyn, hm parseFloat chuyn mt chui thnh kiu s thc. V d hm parseInt(42) s tr v gi tr l 42, nu chng ta s dng parseInt(42.9) th cng s nhn c gi tr l 42 bi v hm parseInt khng lm trn s, n ch ly phn nguyn m thi. Cn nu s dng hm parseFloat(42.9) bn s nhn c gi tr l 42.9, mun lm trn cc bn c th s dng hm Math.round(parseFloat(42.9)). Hm parseFloat cng s tr v mt mt s nguyn nu tham s truyn vo l mt chui s nguyn. V d parseFloat(42) s cho ta s 42. Tr trng hp bn mun tr v mt gi tr s nguyn, cn khng bn nn s dng hm parseFloat. Mt nt rt c bit v rt hay ca hm parseInt l c th chuyn mt chui thnh mt s nhng thnh nhiu dng h s khc nhau. Hy xem mt v d cho d hiu: CODE parseInt(FF, 16); Hm ny s tr v gi tr l 255, ngha ca n l chuyn chui cha s FF l mt s hexa h s 16 thnh mt s h nguyn h s 10. Ngc li, chuyn t mt s sang mt chui, hy s dng hm toString. Hm ny s hot ng khc vi hm parse, bi v n hot ng bn trong mi bin, gi hm ny sau du chm (.). Xem v d nh: CODE a = 135; trace(a.toString() + 1); Kt qu s l 1351. Chng ta cng c th s dng hm toString chuyn mt s thnh mt chui cha s di mt h s khc. V d a.toString(16) s tr v kt qu l chui ff S ngu nhin To s ngu nhin l mt phn quan trng trong cng vic thit k game v mt s hot hnh. Bi v nu khng c s ngu nhin th nhng on phim ca bn s chy ging nhau, khng cn g th v na! to s ngu nhin, bn c th s dng hm Math.random(). Hm ny s tr v mt gi tr t 0.0 n 1.0 nhng thng th khng tr v gi tr bng 1.0 Hy xem v d di y, bn s nhn c con s ngu nhin trong ca s OutPut CODE

  • trace(Math.random()); Kt qu tr v i loi ging nh 0.023268056102097, nhng mi ln li khc nhau. Mt v d khc l bn cn to mt s ngu nhin t 1 n 10, vic ny rt n gin, ch cn nhn thm s ngu nhin cho 10. on code sau s cho ta con s ngu nhin t 0.0 n 10.0 CODE trace(Math.random() * 10); Nhng ci chng ta cn l con s ngu nhin t 1.0 n 10.0 ch khng phi t 0.0 n 10.0, v th, hy cng thm 1 CODE trace(Math.random() * 10 + 1); By gi th kt qu tr v l 1.0 n 11.0 nhng s khng c kt qu 11.0. Hy s dng hm Math.floor lm trn xung. CODE trace(Math.floor(Math.random() * 10 + 1)); Tht ra th con s ngu nhin trong my tnh cng cha tht s ngu nhin. Bi v n khng tht s thay i trong b vi x l. Thay vo s c mt con s chun, mt con s no khng bit trc c nh l gi hoc pht ca h thng, con s ny s c a v mt biu thc rt phc tp, rt rt phc tp m chng ta khng th on c. Kt qu tr v cho chng ta kt qu dng nh l ngu nhin. Kt qu ny s c a v mt hm tnh mt ln na l lu li thnh con s chun tnh ngu nhin cho ln tip theo. Hy ngh v iu ny, s ngu nhin trong i sng tht s cng khng tht s ngu nhin. Nu chng ta gi mt mt ca con xc xc, thy ng theo mt hng tht chnh xc, chng ta s c cng mt kt qu c ri, by gi hy th to mt s ngu nhin t 3 n 7. Lm th no y? Ah, c mt th thut cho bn y: CODE trace(Math.floor(Math.random() * 5 + 3); Trong phm vi t 3 n 7 s c tt c l 5 s nguyn 3, 4, 5, 6, v 7. Th cn trong phm vi t 50 n 100 th sao CODE trace(Math.floor(Math.random() * 51 + 50);

  • L s 51 bi v trong phm vi t 50 n 100 c 51 s, cn nu t 51 n 100 s l CODE trace(Math.floor(Math.random() * 50 + 50); Mt cch th xem phm vi ca bn c ng nh ca mnh khng, l hy th vi s nh nht v s ln nht thay cho Math.random(). Gi tr nh nht ca hm Math.random() l 0, hy th vi s 0 nh CODE trace(0 * 51 + 50); Gi tr ln nht ca Math.random() s khng chnh xc bng 1.0 m s l gn bng, vy chng ta hy th vi gi tr l 0.9999 CODE trace(.9999 * 51 + 50); Hy th xem c ng khng nh! Di y l mt v d na rt th v, movie clip ca bn s nhy n nhng v tr bt k CODE onClipEvent(enterFrame) { this._x = Math.random()*550; this._y = Math.random()*400; } Luyn tp: To mt chng trnh my tnh n gin Hy bt tay vo vic thit k mt chng trnh my tnh n gin nh. - M mt movie mi trong Flash. Movie ca chng ta s ging nh hnh di y

    Chng ta s c 10 nt nhp 10 s t 0 n 9, cc nt cc php ton, phm =, du chm thp phn, phm C xa mn hnh. Mt text field t trn hin th nhng s ngi dng bm, text field ny s lin kt vi bin display. - Trong mi movie clip ca mi nt bm, chn on code sau CODE on (release) { _parent.keyPressed(this._name); }

  • Khi mt nt bt k c nhn th hm keyPressed s c gi level ngoi m y s l level root. Hm ny s truyn tn ca movie clip. - Quay tr li level root, mi movie clip phi c mt tn ring, khng c trng. t tn ca movie clip theo s ca n, v d nt s 5 s c tn l 5, du chm thp phn c tn l .. Du cng, du tr, du nhn, du chia, du bng, nt C ln lt t tn l plus, minus, multiply, divide, equals, clear. - Ok, by gi bt u vit code nh! Code ny s nm ngoi movie frame CODE // trc tin, xo mn hnh c clearAll(); function clearAll() { display = "0"; // gi tr mc nh l 0 memory = 0; // b nh operation = "none"; // cha c php ton no c newNum = true; // nh du khi no nhp xong mt s } Bin display l mt chui (string), s lin kt vi text field hin th ni dung ngi dng bm. N s bt u vi gi tr bng 0, c ngha l khi ngi dng mi bt my ln th s mc nh l s 0 Bin memory lu li con s trc thc hin php tnh. iu ny rt cn thit, v d bn bm s 5, +, 7 th s 5 nhp vo, khi bn bm du cng, mn hnh s c xa v s 5 c lu vo memory, s 7 c nhp tip v s thc hin php tnh 5 v 7. Php ton ngi dng chn cng cn c lu vo b nh. Khi ngi dng nhn 5, +, 7 ri, sau bm du = hoc mt php ton khc th chng trnh s gi li php ton c c lu trong bin operation thc hin php ton trc ca 5 vi 7. Bin newNum nh l mt bin c hiu bo cho chng trnh bit khi no s kt thc mt php ton. V d khi ngi dng bm 5, +, 7 ri sau bm mt php ton khc th kt qu s c lu li tnh ton tip, lc ny php ton cha kt thc, newNum = false. Cn nu ngi dng bm du = th mn hnh s hin ra kt qu v kt thc lun php ton chuyn sang php ton mi, newNum = true. - Phn tip theo l hm keyPressed x l khi mi nt c nhn. Hm keyPressed s s dng cu trc switch thay cho cu trc if, then, else. C hai cch u hot ng tng t nhng cch vit hi khc, bn hy xem nh: CODE // hm ny c gi bi nt nhn function keyPressed(keyName) { // do something different for different keys switch (keyName) { case "clear" : // khi nhn nt C clearAll(); break; case "plus" : // cc php ton cng, tr, nhn, chia operate(keyName);

  • break; case "minus" : operate(keyName); break; case "multiply" : operate(keyName); break; case "divide" : operate(keyName); break; case "equals" : operate(keyName); break; default : // cc s if (newNum) { // hin th s mi trn mn hnh display = keyName; newNum = false; if (display == "0") newNum = true; // s khng bt u vi s 0 } else { display += keyName; // ni thm s vo mn hnh } break; } } Khi ngi dng nhn nt C th hm clearAll() s c gi, tng t khi ngi dng nhn cc php ton th hm operate s c gi - Hm operate s thc hin tnh ton. N s tm ra php ton gia con s trc v con s hin thi, s dng hm parseFloat chuyn chui thnh s.Operation c gi tr bng none khi nhp mt s mi sau khi thc hin xong php ton v mn hnh c xa. CODE // thc hin php ton trc function operate(keyName) { switch (operation) { case "none" : // s u tin memory = parseFloat(display); // lu li s trc break; case "plus" : // thc hin php ton memory += parseFloat(display); break; case "minus" : memory -= parseFloat(display); break; case "multiply" : memory *= parseFloat(display);

  • break; case "divide" : memory /= parseFloat(display); break; } // equals operation is like a clear, but results are displayed if (keyName == "equals") { operation = "none"; } else { operation = keyName; // remember this operation for next time } display = memory.toString(); // display result newNum = true; // prepare for next number } Luyn tp: Lm nhng hnh tinh bay quanh qu o Trong v d v lng gic trong phn trc, bn bit cch lm mt movie clip quanh quay mt vng trn. By gi hy p dng nhng kin thc lm mt movie 4 hnh tinh xoay quang mt tri, hnh tinh th 3 s c mt v tinh. - To mt movie mi trong Flash To 6 movie clip l cc vng trn, t tn ln lt l sun, mercury, venus, earth, mars, and moon, v t instance name ca chng ging vy lun. Hy lm cho kch thc ca chng ta khc nhau mt cht nh! - t movie clip sun (mt tri) vo gia mn hnh. Cc hnh tinh khc s quay quanh mt tri. V tr ca cc movie clip cc hnh tinh khc khng quan trng, v chng ta s iu khin v tr ca chng bng Action Script - t on code sau vo movie clip mercurcy: CODE onClipEvent(load) { speed = .4; radius = 40; orbit = 0; } onClipEvent(enterFrame) { orbit += speed; this._x = Math.cos(orbit) * radius + _root.sun._x; this._y = Math.sin(orbit) * radius + _root.sun._y; } Trong event load s thit lp tc quay ca hnh tinh, khong cch gia hnh tinh vi mt tri. Bin speed iu khin tc quay ca hnh tinh, c ngha l s vng quay trong mt frame. Nu speed = 6.28 th hnh tinh s quay c mt vng trong

  • ng mt frame, v nu speed = .4 nh trong on code sau th hnh tinh s quay mt vng qu o mt 15.7 frame (6.28/.4). Trong mi ln event enterFrame xy ra th orbit (qu o) s c cng thm vi speed hin thi, v hnh tinh di chuyn n v tr mi. To x, y ca cc hnh tinh s c hiu chnh theo v tr ca mt tri, v vy tm qu o ca cc hnh tinh chnh l mt tri. - Chy th movie. Lc ny, cc hnh tinh vn ng yn, ch c mercurcy l di chuyn. Nu qu o b nghing th bn phi xem li xem mt tri c nm ng gia qu o hay khng. - t on code tng t vo cc movie clip venus, earth, and mars movie clips, nhng m bn hy thay i gi tr ca hai bin speed v radius lm cho hnh tinh xa hoc gn mt tri hn. Gi cho cc bn nh, speed ca cc hnh tinh mercury, venus, earth, and mars l .4, .2, .1, v .05, radius cho cc hnh tinh l 40, 90, 150, v 210. - Chy th li movie. By gi th c bn hnh tinh chuyn ng, ch cn moon l cha chuyn ng v cha c vit code iu khin. - By gi hy vit code cho moon, moon s c speed nhanh hn v radius nh hn, v moon s quay quanh earth thay v quay quanh sun CODE onClipEvent(load) { speed = .5; radius = 15; orbit = 0; } onClipEvent(enterFrame) { orbit += speed; this._x = Math.cos(orbit) * radius + _root.earth._x; this._y = Math.sin(orbit) * radius + _root.earth._y; } - By gi hy chy th movie ca bn mt ln na. By gi tt c cc hnh tinh u quay ri, nhng cn mt vn . Earth khng chnh xc nm gia qu o ca moon, v sao th? Bi v moon s quay trc earth, v moon nm mt layer trn layer ca earth. Chng ta cn phi lm cho earth quay trc ri mi n moon. lm nh vy, chn movie clip moon, ri chn Modify -> Arrange -> Send to Back. Luyn tp: Lm tuyt ri y l mt v d rt hu ch cho vic to s ngu nhin. Bn c th khng cn phi dng Action Script nhng lc bn phi lm hng trm movie clip bng tuyt, mi ci chuyn ng theo mt ng. Bng cch s dng Action Script v s ngu nhin, bn c th lm cho cc bng tuyt ri vi tc v hng ri ngu nhin. Bt tay vo lm nh! - To mt movie mi trong Flash - To mt movie clip mi, t tn l Snowflake v t tn instance ca n l snowflake - t on code sau vo movie clip Snowflake. on code ny s khi to nhng gi

  • tr ban u nh v tr ca cc bng tuyt, tc ri, tc b thi ngang, xoay ca bng tuyt. CODE onClipEvent(load) { this._x = Math.random()*550; // 0 to 550 this._y = Math.random()*400; // 0 to 400 speed = Math.random()*3+3; // 3 to 6 drift = Math.random()*2-1; // -1 to 1 rotate = Math.random()*6-3; // -3 to 3 } onClipEvent(enterFrame) { this._y += speed; this._x += drift; this._rotation += rotate; // a nhng bng tuyt ln u if (this._y > 400) this._y = 0; // kim tra hai bin if (this._x < 0) this._x = 550; if (this._x > 550) this._x = 0; } Khi event enterFrame xy ra th bng tuyt s c iu khin ri xung bi speed v b dt theo hng ngang bi drift. Bng tuyt cng s b xoay theo gi tr ca rotate. Tip theo l s kim tra xem nu bng tuyt ri xung t ri th s cho n ri li, nu bng tuyt b dt qua bn phi th n s c a quay li v bn tri - Chy th movie ca bn. Cc bng tuyt s ri t do. Hy click vo cui movie xem sao, nhng bng tuyt di s c ri li. - c ri, by gi hy lm cho bng tuyt nhiu nhiu mt t bng on code sau, t vo timeline chnh nh! CODE // to 50 bng tuyt for(var i=0;i

  • Gi th 12: i tng v Mng, Objects and Arrays Cho n by gi, mi bin u cha d liu ring l, mi bin cha mt d liu. i vi nhng chng trnh nh v n gin th khng c g ni, nhng n khi bn cn s dng tht nhiu bin. Cng c nhng lc bn gp kh khn khi nhn ra rng bn cn lu rt rt nhiu d liu, nhng bin bnh thng mun lm th khng phi d. ActionScript cung cp cho ta hai th lu nhng loi nhiu d liu. Mt l Custom Object (i tng), vi Custom Object bn c th nhm nhng d liu ring l li vi nhau. Cch khc l Array (Mng), mt trong nhng phn c bn ca cc ngn ng lp trnh cao cp. Trong gi th 12 ny, chng ta s hc: - Cch to Custom Object - Cch s dng nhng i tng ActionScript c dng sn - Tm hiu v Array (Mng) - Lm ch chuyn ng - To nhng vt th chy theo con tr chut trn mn hnh To Custom Object Chc hn cc bn quen thuc vi nhng tn nh x v y iu khin v tr trn movie clip. C bao gi bn cm thy nhm chn vi nhng ch x, y hay mun thay th n bng nhng ch khc nh positionX, positionY hay bt c g bn thch khng? Vic qu n gin, ch cn to bin ca bn ri gn gi tr cho bin ca bn thi

    . Nhng d sao th cng ch l nhng bin ring l thi, ch vi mt ci tn khc

    . Trong phn ny, chng ti khng mun ch cho cc bn lm nhng iu nh vy m s ni v cch to mt custom variable Object. V d, bn c th lu bin x, y nh sau: CODE pos = {x:10, y:20};

  • Bng cch s dng hai du ngoc nhn, bn to ra mt object. Bn c th truy cp d liu bng cch: CODE trace(pos.x); Bn c th s dng n nh bt c nhng bin no khc. Hy tng tng n mt cu trc phc tp hn nhiu nh mt record trong mt c s d liu. V d nh ta c mt custom object tn record, v trong n s c nhng property nh l name, address, phone Bn c th to object tng bc mt, to thm property. Xem v d ny nh: CODE record = new Object(); record.name = "Gary"; record.age = 32; record.state = "Colorado"; trace(record.name); Cng vi mc ch lm cho d liu d t chc hn, custom object cng ging nh nhng i tng dng sn. Hai v d v nhng i tng dng sn l Color v i tng Date. i tng Color C th dng ActionScript i mu ca mt movie clip bng cch s dng cu lnh setRGB. l cch d nht nhng n s khng thc hin c i vi instance ca movie clip. Thay vo , chng ta s chuyn n i tng Color ca movie clip. Thc hin cch bng hm new Color(), sau th c th s dng cu lnh setRGB thay i mu. Di y l mt v d, s dng setRGB t i tng Color ca movie clip t li mu cho movie clip sang mu 0xFF0000 (mu ) CODE circleColor = new Color("circle"); circleColor.setRGB(0xFF0000); Chng ta cng c th ly mu ca mt movie clip. S dng hm getRGB() ly mu ca movie, nhng nh s dng hm toString(16) chuyn thnh gi tr hexa.

  • CODE circleColor = new Color("circle"); trace(circleColor.getRGB(0xFF0000).toString(16)); Mt cch khc t mu cho movie clip bng cch to mt i tng color transform ng vi 8 mc nh trong hnh di y

    u tin, to mt i tng custom variable. Ri to cc property ra, ga, ba, aa, rb, gb, bb, ab. Cc k t u tin r, g, b, a l i din cho t red, green, blue v alpha. Cn k t th hai a v b l i din cho 2 ct bn tri v bn phi Thay v s dng setRGB th chng ta s s dng setTransform nh trong v d di y: CODE circleColor = new Color("circle"); myObject = new Object(); myObject = {ra:100, rb:255, ga:0, gb:0, ba:0, bb: 0, aa: 100, ab: 0}; circleColor.setTransform(myObject); i tng Date Mt i tng dng sn khc l i tng Date. i tng ny cng c th c xem nh l mt bin bnh thng, n i din cho mt thi im ca thi gian. i tng Date c chia ra 7 phn: nm (year), thng (month), ngy (date), gi (hour), pht (minute), giy (second) v phn trm giy (milisecond). Bn c th to mt i tng Date mi bng cch cung cp cho n 7 thng tin trn CODE myDate = new Date(2002,3,29,10,30,15,500);

  • Hy th s dng cu lnh trace kim tra ni dung ca myDate xem no. C phi bn nhn c kt qu ny khng? CODE Mon Apr 29 10:30:15 GMT Rt d hiu, ng khng no? Nhng m cn mt vn : thng l Apr trong khi chng ta truyn tham s vo cho thng l 3, vy phi l March ch!? i tng Date ca Flash cng hot ng tng t nh i tng Date ca cc ngn ng lp trnh khc. Thng c quy nh t 0 n 11, rt c bit, bi ngy th c quy nh t 1 n 31 . Nhng d sao th bn cng phi lm quen i Bn cng c th ly nhng thnh phn t i tng Date. V d di y s ly nm. CODE myDate.getYear() Bn c th ly gi hin ti bng cch n gin l to mt i tng Date rng . Gi hin ti s c a vo i tng. V d: CODE myDate = new Date(); trace(myDate); Ch : Flash s ly gi ca ng h h thng trong my bn. V th ng h trong my tnh ca bn chy sai th gi ly ra s sai Mng (Array) Mng l mt phn rt quan trng trong lp trnh. Bn s gp mng trong hu ht cc ngn ng lp trnh bi v n l mt cng c rt cn thit cho nhng ngn ng lp trnh phc tp. Mng (Array) l mt dy d liu. Trong th cc d liu s c cng mt kiu d liu vi nhau, nh l cng l tn ca movie clip hoc u cng l v tr ca movie clip To mng Di y l mt v d v mt mng. S dng du ngoc vung v nhng du phy

  • to mng: CODE myArray = [36,23,63,71,25]; Mng myArray c cha 5 phn t l s nguyn. Mun ly gi tr ca mt phn t trong mng th s dng nh sau: CODE trace(myArray[0]); Phn t u tin trong mng lun lun c nh s 0. V vy, nh v d trn c 5 phn t th phn t th 0 cha gi tr 36 v phn t th 4 mang gi tr 25. Mt cch khc to mng l s dng new Array() CODE myArray = new Array(); Mun thm mt phn t vo cui mng, s dng cu lnh push. V d di y s to ra mt mng ging mng v d trn: CODE myArray = new Array(); myArray.push(36); myArray.push(23); myArray.push(63); myArray.push(71); myArray.push(25); Nhng thao tc trn mng kim tra xem mng c bao nhiu phn t th bn c th s dng thuc tnh length CODE myArray = [36,23,63,71,25]; trace(myArray.length);

  • Cn nu mun ly phn t cui cng ca mng v b phn t ny ra khi mng th s dng cu lnh pop CODE myArray = [36,23,63,71,25]; trace(myArray); a = myArray.pop(); trace(a); trace(myArray); on code v d trn s trace 5 phn t ca mng myArray. Sau , ly phn t cui cng ca mng tc l 25 a vo bin a, ng thi b phn t 25 ra khi mng. Cui cng trace cc phn t ca mng myArray, lc ny ch cn 4 phn t. S dng kt hp push v pop to mt h thng vo sau ra trc (last in first out), thng gi l stack. Hy tng tng n mt chng sch, chng ta cun sch u tin xung, ri chng ln cun sch th 2, cun th 3, cun th 4 Khi mun ly sch ra th phi ly cun trn cng trc, tc l chng ln cui cng. Ngc li vi pop l shift. N s b ra phn t u tin trong mng. on code di y s lm ging nh on trn nhng s khng b phn t 25 m s b phn t 36: CODE myArray = [36,23,63,71,25]; trace(myArray); a = myArray.shift(); trace(a); trace(myArray); Ngc li vi shift l unshift. N s chn thm mt phn t vo u mng. Nu bn mun ly ra ch mt phn ca mng th c th s dng hm slice. i s truyn vo s l v tr u tin v v tr cui cng ca phn cn ly ra trong mng. CODE myArray = [36,23,63,71,25] trace(myArray.slice(1,3)); on code trn s tr v 23, 63 v n khng k phn t th 3. Nu khng c i s th 2 th n s ly n cui mng. Mt hm khc na l hm splice. Hm ny s thay th mt s phn t trong mng bng nhng phn t khc. S dng hm ny, i s u tin l v tr ca phn t trong

  • mng, i s th hai l s phn t mun xa k t phn t trong i s u tin. Truyn i s th 2 l s 0 nu khng mun xa phn t no c. Nhng phn t tip theo l danh sch nhng phn t mun chn vo mng. Ni vy cng hi kh hiu nh, vy hy xt v d ny nh. V d ny s xa phn t 23 v 63 v chn vo phn t 17. CODE myArray = [36,23,63,71,25]; myArray.splice(1,2,17); trace(myArray); Sp xp trong mng Chng ta c th sp xp mt mng bng cu lnh sort. V d di y s cho ta mt mng c sp xp theo th t s: CODE myArray = [36,23,63,71,25]; myArray.sort(); trace(myArray); Cn v d ny s sp xp theo th t ch: CODE myArray = ["Gary","Will","Jay","Brian"]; myArray.sort(); trace(myArray); Cu lnh reverse o v tr sp xp ca mng. V d: CODE myArray = ["Gary","Will","Jay","Brian"]; myArray.reverse();