sotay_actionscript.pdf

1219
HC VIN PHÒNG KHÔNG - KHÔNG QUÂN PHÒNG KHOA HC CÔNG NGH- MÔI TRƯỜNG g 456456456 JBiên son: Nguyn Anh Cường Ban CNTT -Phóng tác tnguyên bn Tiếng Anh Hà Ni 7.2007 C D B A

Upload: toan-nguyen

Post on 23-Dec-2015

46 views

Category:

Documents


17 download

TRANSCRIPT

  • HC VIN PHNG KHNG - KHNG QUN PHNG KHOA HC CNG NGH - MI TRNG

    g

    456456456

    JBin son: Nguyn Anh Cng Ban CNTT -Phng tc t nguyn bn Ting Anh

    H Ni 7.2007

    C D

    BA

  • @ActionScript cho Flash6Nguyn Anh Cng 6Ban CNTT Hc vin Phng Khng Khng Qun@

    Trang 2/1219 4Trung tm Tin hc ABC gi bn quynCDin n http://khkt.net

    C Tin hoc Ph cp Vn phong c ta X ly va X ly T ng c ta hoa AutoCAD c ta hoa PhotoShop Cac thu thut cua Hacker Khai thac a Hiren's Boot Correl Draw va hoa My thut hoa hoat hnh Flash Ky thut Thit k Website

    Ky thut Lp trnh Windows Hoc Internet theo cach n gian hoa T in ActionScript cho Flash S dung Companent trong Flash Lp trnh m phong vi DirectX MapInfor va ban s Pha moi mt khu gp trn may tnh Lp trnh vi MathLab X ly tn hiu s trong Qun s

    Tai liu nay lu hanh ni b Trung tm Tin hoc ABC Kim tra va sa cha: Nguyn Phng Thao

  • Son gi 0988.529.310 [email protected] 6 Trang 3/1219

    @ActionScript cho Flash6Nguyn Anh Cng 6Ban CNTT Hc vin Phng Khng Khng Qun@

    TRUNG TM TIN HC ABC Han hanh Gii thieu D ActionScript trong Flash

    44444444444444 Bn thn mn!

    T khi ra i Macromedia Flash m u cho mt cuc cch mng v x l cc hnh nh ng. Cc version v sau ngy cng b sung nhiu hiu ng hp dn v tuyt p, to nhng n tng kh qun cho rt nhiu ngi khi tip xc vi n khin cho nhiu ngi trong chng ta t hi, iu g n giu ng sau cc hiu ng tuyt vi . Khng phi iu g khc, chnh l ActionScript Flash.

    ActionScript l kch bn hnh ng p ng cho tt c cc tnh hung, hnh ng, thuc tnh, phng php ca cc i tng trong Flash. L ngi lm vic vi Flash ngay t nhng ngy u n xut hin v lin tc b sung cp nht nhng thng tin mi nht i vi n, ti rt vinh d c gii thiu ti liu ny ti cc bn. Trong qu trnh bin dch t ng bng phn mm t vit, c th c nhng li bt ng, mong cc bn ht sc thng cm v gi gp trc tip cho ti, nhng ti liu sau khng cn nhng khim khuyt .

    Mi kin gp xin gi v: Nguyn Anh Cng - in thoi: 0988.529.310 Hoc gi gp trc tip ln Forum http://khkt.net Nguyn Anh Cng xin chn thnh cm n.

    f

  • @ActionScript cho Flash6Nguyn Anh Cng 6Ban CNTT Hc vin Phng Khng Khng Qun@

    Trang 4/1219 4Trung tm Tin hc ABC gi bn quynCDin n http://khkt.net

    Mt s t Ting Anh khng c dch v nu dch ra s khng thot c ngha v

    gy ri cu vn khin ngi c d nhm ln:

    T Ngha Properties, Property Phng php Function Hm Object i tng Event S kin Contructor Chng trnh to lp theo mu Handler Cn ca chng trnh Listener Trnh lng nghe gi lnh p ng s kin ToolBox Hp cng c

    Ti liu ny dch theo MacromediaFlash 2004- ActionScript (Khi m hng

    Macromedia cha c hng Adobe mua) tuy nhin phn b sung cho Adobe Flash ActionScript 3.0, hin ti ang sa cha, s c gi trong thi gian ti.

    Rt mong c bn gp ph bnh. Xin chn thnh cm n.

  • Son gi 0988.529.310 [email protected] 6 Trang 5/1219

    @ActionScript cho Flash6Nguyn Anh Cng 6Ban CNTT Hc vin Phng Khng Khng Qun@

    LI GII THIU BT U VI ACTIONSCRIPT

    Macromedia Flash MX 2004 v Flash MX Professional 2004 l nhng cng c tho chng chun chuyn nghip cho nhng thnh qu kinh nghim chu tc ng cao vi web. Cc ActionScript l ngn ng bn dng khi bn mun pht trin mt ng dng trong phm vi Flash. Bn khng nht thit phi s dng ActionScript s dng Flash, nhng nu bn mun cung cp hot ng lin minh ngi dng, lm vic vi cc object khc hn kin trc c trong Flash (nh l cc button v cc movie clip), hoc nu ngc li mt tp SWF em li cho ngi dng kinh nghim tinh vi hn, bn s hu nh chc chn mun s dng ActionScript.

    S tip kin d nh

    Sch ny tha nhn bn c Flash MX 2004 hoc Flash MX Professional 2004 ri, ci v bit lm th no s dng n. Bn nn bit lm th no t cc object trn Stage v nho nn chng trong mi trng tho chng Flash. Nu bn phi vit cc chng trnh trc, ActionScript s lin kt nhng g thn thuc cho bn li. Nhng ngay c khi bn cha tng vit, ActionScript khng kh hc. Tht d dng bt u vi nhng lnh rt n gin v xy dng phc tp ln nh bn tin v pha trc.

    Cc yu cu h thng

    Cc ActionScript khng c bt c yu cu h thng, k c Flash MX 2004 hoc Flash MX Professional 2004. Tuy nhin, t liu minh chng tha nhn bn ang dng nhng thit lp xut bn ngm nh cho nhng tp Flash ca bn: Flash Player 7 v ActionScript 2.0. Nu bn thay i ci g cc thit lp ny, nhng gii thch v nhng mu code c trnh by trong t liu minh chng c th khng lm vic ng n.

    S dng nhng t liu dn chng Ti liu ny cung cp mt ci nhn tng quan ca c php ActionScript, thng tin trn

    lm th no s dng ActionScript khi lm vic vi cc kiu object khc nhau, cng vi nhng chi tit trn c php v cch dng ca mi yu t ngn ng. Bt u hc quy tc chung v nhng khi nim c s s dng trong phn cui ca mi ti liu (Xem Chng II, Cc ActionScript Basics trang 21). Tip n, hc nhng k thut vit v g ri Cc script Flash (Xem Chng III, Vit v Debug cc script, trang 53).

    Trc khi vit nhng cc script ca ring bn, bn nn hon thnh nhng bi hc Vit cc script vi ActionScript v To mt Mu vi Conditional Logic v Gi d liu, th m cung cp mt s tay v lng lm vic vi ActionScript. tm nhng bi hc ny, chn Help>How Do I>Quick Tasks.

    Sau khi bn hiu nhng khi nim c bn, bn sn sng s dng thng tin trong phn cui ca mi ti liu ny nh n thch hp vi hiu ng c th bn ang c ginh c. V d, nu bn mun hc lm th no vit mt script m thc hin mt action no khi mt ngi dng clicks chut, xem Chng IV, Din xut cc event, trang 79.

  • @ActionScript cho Flash6Nguyn Anh Cng 6Ban CNTT Hc vin Phng Khng Khng Qun@

    Trang 6/1219 4Trung tm Tin hc ABC gi bn quynCDin n http://khkt.net

    Khi bn tm thng tin v mt lnh chc chn bn mun s dng, bn c th tm kim u vo ca n Chng XII, T in cc ActionScript trang 195; mi yu t ngn ng c lit k theo th t ABC.

    Cc quy nh in

    Cc quy nh trong sau y c dng trong sch ny: Ch khng chn ch ra Code ActionScript. Ch c chn nghing ch ra mt yu t, nh l mt tham s ActionScript hoc tn

    i tng, m bn thay vi on text ca ring bn khi vit mt script. Cc iu khon sau c dng trong sch ny:

    Bn m ch chuyn vin pht trin, ngi m ang vit mt script hoc ng dng. Ngi dng m ch nhn vt, ngi m s chy kch bn script v cc ng dng ca bn. Thi gian bin dch l thi gian trong lc m bn xut bn, xut, kim tra, hoc g ri ti liu ca bn. Runtime l thi gian trong lc kch bn script ca bn ang chy trong Flash Player.

    Cc iu khon ActionScript nh l method v object c nh ngha chng II, Cc ActionScript Basics trang 21.

    Cc ti nguyn b sung

    T liu lm bng chng ring bit v Flash v cc sn phm lin quan c th kim c v khng dnh dng vi nhau.

    bit thm v lm vic trong mi trng tho chng Flash, xem S dng Flash Help. bit thm v lm vic vi cc thnh phn, xem S dng Components Help.

    bit thm v to s lin lc cc ng dng vi Flash Communication Server, xem Pht trin Cc s lin lc Applications v Qun l Flash Communication Server.

    bit thm v truy cp cc dch v web vi cc ng dng Flash, xem S dng Flash Remoting.

    Macromedia DevNet website (www.macromedia.com/devnet) c cp nht u n vi thng tin mi nht trn Flash, cng li ch bo t ngi dng lo luyn, nhng mc nng cao, cc v d, cc li khuyn, v nhng cp nht khc. Kim tra website thng xuyn bit nhng tin mi nht trn Flash v lm th no nhn nhiu nht phn bn ngoi ca chng trnh.

    (www.macromedia.com/support/flash) Macromedia Flash Support Center cung cp TechNotes, t liu minh chng cp nht, v lin kt n cc ti nguyn b sung trong cng ng Flash.

  • Son gi 0988.529.310 [email protected] 6 Trang 7/1219

    @ActionScript cho Flash6Nguyn Anh Cng 6Ban CNTT Hc vin Phng Khng Khng Qun@

    PHNI CHO MNG BN N VI ACTIONSCRIPT

    Phn ny gm c thng tin c s trn ngn ng ActionScript. Chng 1 gm c thng tin trn ci g l mi hoc thay i ActionScript v Flash Player 7. Nu bn s dng ActionScript trc, ng qun xem li thng tin ny cn thn. Nu bn l ngi mi dng ActionScript, c cc chng 2 v 3 nhn mt c s tip nhn tt cho vic hiu Thut ng ActionScript v c php v cho vic hc lm th no vit v g ri kch bn script ca bn. Chng 1: Ci g mi Trong Flash MX 2004 ActionScript 8 Chng 2: ActionScript Basics 21 Chng 3: Vit v Debug cc script 53

  • @ActionScript cho Flash6Nguyn Anh Cng 6Ban CNTT Hc vin Phng Khng Khng Qun@

    Trang 8/1219 4Trung tm Tin hc ABC gi bn quynCDin n http://khkt.net

    CHNGI CI G MI TRONG FLASH MX 2004

    ACTIONSCRIPT2.0 Macromedia Flash MX 2004 v Macromedia Flash MX Professional 2004 cung cp

    vi s cao m n lm cho bn vit script d dng hn, tinh vi hn khi s dng ngn ng ActionScript. Nhng nt c trng mi ny, th m c tho lun chng ny, cha c cha cc yu t ngn ng mi, ci thin cc cng c g ri v bin tp (Xem Thay i cc Trnh son tho ActionScript trang 18 v Debug thay i trang 18), thm mo u ca mt chng trnh hng i tng nhiu m hnh (Xem To mi m hnh chng trnh hng i tng trang 19).

    Chng ny cng cha mt phn m rng m bn nn c cn thn nu bn c k hoch xut bn bt c tp no ca Flash MX hoc v trc ang tn ti ca bn vo Flash Player 7 (Xem Xut nhng script ang tn ti dng Flash Player 7 trang 10).

    Cc yu t ngn ng mi v thay i

    Phn ny m t cc yu t ngn ng ActionScript mi hoc thay i Trong Flash MX 2004. s dng bt c yu t ny trong cc kch bn script ca bn, bn t ch l Flash Player 7 (ngm nh) khi bn xut bn ti liu ca bn.

    Cc method Array.sort() v Array.sortOn() cho php bn b sung cc tham s ch r cc la chn sp xp b sung, nh l tng dn v xp gim dn, cho bit tnh n trng hp nhy cm khi sp xp, v vn vn.

    Cc properties Button.menu, MovieClip.menu, v TextField.menu lm vic vi ContextMenu mi v cc class ContextMenuItem cho php bn kt hp cc menu item tnh hung vi cc object Button, MovieClip, hoc TextField.

    Class ContextMenu v Class ContextMenuItem cho php bn tu bin thc n ng cnh c hin khi mt ngi dng right-clicks trong Flash Player.

    Class Error v cc lnh throw vi try..catch..finally cho php bn thi hnh din xut ngoi l tinh vi hn.

    Cc method LoadVars.addRequestHeader() v XML.addRequestHeader() thm hoc thay i HTTP yu cu headers (nh l Content-Type hoc SOAPAction) gi vi cc action POST.

    Function MMExecute() cho php bn a cc lnh t ActionScript ra Flash JavaScript API.

    Event Listener Mouse.onMouseWheel c sinh ra khi ngi dng cun s dng nt cun chut.

    Method MovieClip.getNextHighestDepth() cho php bn to MovieClip cc instance lc runtime v c cam oan rng nhng object ca chng biu hin xp chng trn cc

  • Son gi 0988.529.310 [email protected] 6 Trang 9/1219

    @ActionScript cho Flash6Nguyn Anh Cng 6Ban CNTT Hc vin Phng Khng Khng Qun@

    object khc theo th t trc Z ca movie clip cha. Method MovieClip.getInstanceAtDepth() cho php bn truy nhp nng ng MovieClip cc instance to, s dng chiu su nh mt ch s tm kim.

    Method MovieClip.getSWFVersion() cho php bn quyt nh th m version ca Flash Player c h tr bi mt tp SWF ti.

    Method MovieClip.getTextSnapshot() v object textSnapshot cho php bn lm vic vi text, trong cc trng text tnh trong mt movie clip.

    Property MovieClip._lockroot cho php bn ch r mt movie clip s hnh ng nh _root cho bt c movie clip ti n vo, hoc ngha ca _root trong mt movie clip s khng thay i nu movie clip c ti vo movie clip khc.

    MovieClipLoader class cho php bn gim st tin trnh ca cc tp nh chng ang c ti vo cc movie clip.

    Class NetConnection v Class NetStream cho php bn tun cc tp cc b video (Cc tp FLV).

    Class PrintJob cho bn (v ngi dng) iu khin nhiu hn v trong t Flash Player.

    Event handler Sound.onID3 cung cp truy cp ti d liu ID3 c kt hp vi mt object Sound m cha mt tp MP3.

    Property Sound.ID3 cung cp truy cp vo metadata l mt phn ca Tp MP3. Class System c cc object v method mi, v object System.capabilities c vi

    properties mi. Property TextField.condenseWhite cho php bn b i khong trng qu mc t cc

    trng text HTML c p li trong mt trnh duyt. Property TextField.mouseWheelEnabled cho php bn ch r cho bit ni dung ca

    trng text s cun khi tr chut nm trn mt trng text v ngi dng cun bnh xe chut.

    Class TextField.StyleSheet cho php bn to mt object kiu sheet m cha nhng quy nh nh dng text nh l font size, mu, v cc kiu nh dng khc.

    Property TextField.styleSheet cho php bn tc ng mt object kiu sheet vo mt trng text.

    Method TextFormat.getTextExtent() chp nhn mt tham s mi, v object b n tr v, cha mt b phn mi.

    Method XML.addRequestHeader() cho php bn b sung hoc thay i HTTP yu cu headers (nh l Content-Type hoc SOAPAction) gi vi cc action POST.

    Ch bo mt mi v tp SWF k tha

    Quy tc lm th no Flash Player xc nh xem hai domain l nh nhau, thay i trong Flash Player 7. B sung thm, quy tc cho bit nh r v lm th no mt tp SWF phc v t mt HTTP domain c th truy cp mt tp SWF, hoc ti d liu t mt

  • @ActionScript cho Flash6Nguyn Anh Cng 6Ban CNTT Hc vin Phng Khng Khng Qun@

    Trang 10/1219 4Trung tm Tin hc ABC gi bn quynCDin n http://khkt.net

    HTTPS domain thay i. Trong phn ln trng hp, nhng thay i ny s khng hiu ng tr phi bn xut tp SWF tn ti ca bn vo Flash Player 7.

    Tuy nhin, nu bn c tp SWF xut bn dng Flash Player 6 hoc v trc m ti d liu t mt tp c lu trn mt server, v SWF c gi ang chi trong Flash Player 7, ngi dng c th thy hin mt hp thoi m khng hin trc , i cho bit c php truy cp. Bn c th chn hp thoi ny t lc hin, bi mt phng tin chnh sch tp trn site ni m d liu c lu. Mun bit r hn v hp thoi ny, xem V kh nng tng thch vi trc cc m hnh bo mt Flash Player trang 184.

    Bn cng c th cn thc hin mt tp chnh sch nu bn ang dng cc th vin chia s runtime. Nu hoc ti hoc tp SWF ti, xut bn dng Flash Player 7 v ti hay ti cc tp khng c phc v t cng domain chnh xc, th dng mt tp chnh sch cho php truy cp. Mun bit r hn v cc tp chnh sch, xem V cho php ti d liu domain-cho trang 183.

    Xut cc script ang tn ti vo Flash Player 7

    Nh vi bt c sn phm pht hnh mi, Flash Player 7 h tr nhiu lnh ActionScript hn cc vesion trc ca player; bn c th dng nhng lnh ny thc hin script tinh vi hn. (Xem Cc yu t ngn ng mi v thay i trang 8.)Tuy nhin, nu bn dng bt c ca nhng lnh ny trong nhng script ang tn ti c ca bn, script c th khng lm vic ng n nu bn xut bn n dng Flash Player 7.

    V d, nu bn c 1 kch bn script vi mt tn function l Error, script c th trnh din dch thng nhng c th khng chy nh mong i trong Flash Player 7, v Error by gi l mt built-in class (v do l mt t dnh ring) ActionScript. Bn c th sa kch bn script ca bn bng cch i Tn function Error thnh bt c g khc, v nh l ErrorCondition.

    Cng, Flash Player 7 cam kt thc hin mt s thay i m hiu ng lm th no mt tp SWF c th truy cp tp SWF khc, lm th no bit d liu ngoi ti, v lm th no nhng thit lp v d liu cc b(nh l nhng thit lp ring v cc object cc b lu di c chia s) c th c truy cp. Cui cng, thi quen ca vi im c trng tn ti thay i.

    Nu bn c nhng script ang tn ti c vit dng Flash Player 6 hoc v trc m bn mun xut bn dng Flash Player 7, bn c th cn sa cc script cho chng thch hp vi s thi hnh ca Flash Player 7 v lm vic nh thit k. Nhng thay i ny c tho lun trong phn ny.

    S chp thun ECMA-262 Edition 4

    Vi thay i c thc hin trong Flash Player 7 thch hp vi s xut cht ch hn vo ECMA-262 Edition 4 (Xem www.mozilla.org/js/language/es4/index.html). B sung thm vo cc k thut chng trnh trn nn class sn dng ActionScript 2.0 (Xem M hnh chng trnh hng i tng mi trang 19), cc im c trng khc thm v chc chn lm nhng thi quen phi thay i. Cng, khi xut bn dng Flash Player 7 v s dng ActionScript 2.0, bn c th thay mt kiu object thnh kiu khc. Mun bit r hn, xem S khun cc object trang 36. Nhng kh nng ny khng

  • Son gi 0988.529.310 [email protected] 6 Trang 11/1219

    @ActionScript cho Flash6Nguyn Anh Cng 6Ban CNTT Hc vin Phng Khng Khng Qun@

    yu cu bn cp nht nhng script ang tn ti; tuy nhin, bn c th mun s dng chng nu bn xut bn kch bn script ca bn vo Flash Player 7 v sau tip tc xt li v nng cp chng.

    Khng nh thay i cp trn, thay i lit k trong bng sau (vi th cng tn dng s chp thun ECMA) c th l nguyn nhn nhng script ang tn ti lm vic khc bit chng lm trc . Nu bn dng nhng nt c trng ny trong nhng script ang tn ti m bn mun xut bn dng Flash Player 7, xem li thay i chc chn code ca bn cn lm vic nh d nh hoc nh r xem bn cn vit li code ca bn khng. Nhng g lin quan, v undefined c nh gi khc trong nhng trng hp c th, bn nn khi to tt c cc bin trong cc script m bn xut ra Flash Player 7.

    Tp SWF xut vo Flash Player 7Tp SWF xut vo Flash Player

    i trc

    Trng hp nhy cm c h tr (cc tn bin m khng ging ch trong hoa thng c lm sng t nh l cc bin khc nhau). S thay i ny cng nh hng cc tp ti vi #include v cc bin ngoi ti vi LoadVars.load(). Mun bit nhiu hn, xem Trng hp nhy cm trang 25.

    Trng hp nhy cm khng c h tr (cc tn bin m khng ging ch trong hoa thng c lm sng t nh l cng bin).

    nh gi undefined mt ng cnh s tr v NaN.

    nh gi undefined mt ng cnh s tr v 0.

    DemCuaToi +=1; DemCuaToi +=1;

    trace(DemCuaToi);//NaN trace(DemCuaToi);//1

    Khi undefined b chuyn vo mt string, kt qu l undefined.

    Khi undefined b chuyn vo mt string, kt qu l "" (mt string rng).

    TenHo = "Nguyen Phuong "; TenHo = "Nguyen Phuong ";

    lastname = "Flender"; lastname = "Flender";

    trace(TenHo + middlename + lastname);//Nguyen Phuong undefinedFlender

    trace(TenHo + middlename + lastname);//Nguyen Phuong Thao

    Khi bn chuyn mt string vo mt Gi tr logic Bool, kt qu l true nu string c mt di ln hn zero; kt qu l false khi mt string rng.

    Khi bn chuyn mt string vo mt Gi tr logic Bool, string l u tin b chuyn vo mt number; kt qu l true nu s l khng phi 0, false nu ngc li.

    Khi thit t di ca mt array, ch mt chui s ng t di. V d, "6" lm vic nhng " 6" hoc "6xyz" th khng.

    Khi thit t di ca mt array, thm ch mt chui s di hnh t di:

    my_array=new Array(); my_array=new Array();

  • @ActionScript cho Flash6Nguyn Anh Cng 6Ban CNTT Hc vin Phng Khng Khng Qun@

    Trang 12/1219 4Trung tm Tin hc ABC gi bn quynCDin n http://khkt.net

    Tp SWF xut vo Flash Player 7Tp SWF xut vo Flash Player

    i trc

    my_array[" 6"] ="x"; my_array[" 6"] ="x";

    trace(my_array.length);//0 trace(my_array.length);//7

    my_array["6xyz"] ="x"; my_array["6xyz"] ="x";

    trace(my_array.length);//0 trace(my_array.length);//7

    my_array["6"] ="x"; my_array["6"] ="x";

    trace(my_array.length);//7 trace(my_array.length);//7

    Quy tc Tn-domain cho cc thit lp v d liu cc b

    Trong Flash Player 6, superdomain hp php c dng theo ngm nh khi truy cp nhng thit lp cc b (nhng s cho php truy cp nh l camera hoc microphone) hoc d liu lu di cc b (cc object c chia s).

    l, cc thit lp v d liu cho tp SWF c host lu y.xyz.com, .xyz.com, v xyz.com c chia s, v tt c c lu xyz.com.

    Trong Flash Player 7, domain hp php phi chnh xc c dng theo ngm nh. l, cc thit lp v d liu cho mt tp c host lu y.xyz.com c lu y.xyz.com, cc thit lp v d liu cho mt tp c host lu .xyz.com c lu .xyz.com, v vn vn.

    Tp SWF xut bn cho Flash Player 7, tp SWF xut bn cho cc version v trc ca Flash Player Trng hp nhy cm c h tr (Tn bin hoa thng b dch v phn bit l khc nhau). Thay i ny cng nh hng n cc tp ti vi #include v cc bin ngoi ti vi LoadVars.load(). Mun bit r hn, xem Trng hp nhy cm trang 25.

    Trng hp nhy cm khng c h tr (Tn cc bin m khng ging, ch phn bit ch hoa c dch nh ang c cng mt bin). nh gi undefined trong mt s tnh hung tr v NaN. DemCuaToi +=1;

    trace(DemCuaToi);//NaN

    nh gi undefined trong mt s tnh hung tr v 0.

    DemCuaToi +=1;

    trace(DemCuaToi);//1

    Khi undefined c chuyn thnh mt string, kt qu l undefined.

    TenHo = "Nguyen Phuong ";

    lastname = "Thao";

    trace(TenHo + middlename + lastname);

    //Nguyen Phuong undefined Thao Khi undefined c chuyn thnh mt string, kt qu l "" (mt string rng).

  • Son gi 0988.529.310 [email protected] 6 Trang 13/1219

    @ActionScript cho Flash6Nguyn Anh Cng 6Ban CNTT Hc vin Phng Khng Khng Qun@

    TenHo = "Nguyen Phuong ";

    lastname = "Thao";

    trace(TenHo + middlename + lastname);

    //Nguyen Phuong Thao

    Khi bn chuyn mt string vo mt gi tr logic Bool, kt qu l true nu string c mt di ln hn 0; kt qu l false cho mt string rng.

    Khi bn chuyn mt string vo mt gi tr logic Bool, string c chuyn u tin vo mt s; kt qu l true nu s khc 0, false nu ngc li. Khi thit lp di ca mt array, ch mt di string thit t quy cch s. V d, "6" lm vic nhng " 6" hoc "6xyz" th khng. mangcuatoi_array=new Array();

    mangcuatoi_array[" 6"] ="x"; trace(mangcuatoi_array.length);//0

    mangcuatoi_array["6xyz"] ="x"; trace(mangcuatoi_array.length);//0

    mangcuatoi_array["6"] ="x"; trace(mangcuatoi_array.length);//7

    Khi thit lp di ca mt array, thm ch s xu x string thit t di: mangcuatoi_array=new Array();

    mangcuatoi_array[" 6"] ="x"; trace(mangcuatoi_array.length);//7

    mangcuatoi_array["6xyz"] ="x"; trace(mangcuatoi_array.length);//7

    mangcuatoi_array["6"] ="x"; trace(mangcuatoi_array.length);//7

    Mt thuc tnh mi, System.exactSettings, cho php bn ch r nhng quy tc no s dng. Thuc tnh ny c h tr cho cc tp xut bn dng Flash Player 6 hoc v sau. Vi cc tp xut bn dng Flash Player 6, gi tr ngm nh l false, iu ny ngha l superdomain hp php c dng. Cn cc tp xut bn dng Flash Player 7, gi tr ngm nh l true, iu ny ngha l domain hp php phi chnh xc c dng.

    Nu bn dng cc thit lp hoc d liu cc b lu di v mun xut bn mt tp SWF Flash Player 6 dng Flash Player 7, bn c th cn t gi tr ny thnh false trong tp xut.

    Mun bit r hn, xem System.exactSettings trang 970. Domain-cho v subdomain truy cp gia tp SWF

    Khi bn pht trin mt chui tp SWF m truyn thng vi tng tp khcv d, khi

  • @ActionScript cho Flash6Nguyn Anh Cng 6Ban CNTT Hc vin Phng Khng Khng Qun@

    Trang 14/1219 4Trung tm Tin hc ABC gi bn quynCDin n http://khkt.net

    s dng loadMovie(), MovieClip.loadMovie(), MovieClipLoader.LoadClip(), hoc cc object Local Connectionbn c th dn (host) cc movie trong cc domain khc, hoc trong cc subdomain khc ca mt superdomain n.

    Trong cc tp xut bn dng Flash Player 5 hoc v trc, khng c hn ch no trn domain-cho hoc subdomain truy cp.

    Trong cc tp xut bn dng Flash Player 6, bn c th dng handler LocalConnection.allowDomain hoc method System.security.allowDomain() ch r domain-cho c tha nhn truy cp (V d, cho php mt tp SiteNaoDo.com c truy cp bi mt tp SiteNaoDoKhac.com), v khng nn thiu lnh cho php subdomain truy cp (v d, mt tp www.SiteNaoDo.com c th c truy cp bi mt tp store.SiteNaoDo.com).

    Cc tp xut bn dng Flash Player 7 thc hin truy cp gia tp SWF khc nhau, t cc version v trc. u tin, Flash Player 7 cam kt thc hin domain hp php phi chnh xc thay th ca superdomain hp php. V th, tp c truy cp (ngay c khi n xut bn cho mt Player version v trc Flash Player 7) phi dt khot cho php domain-cho hoc subdomain truy cp; topic ny c tho lun bn di. Th hai, mt tp c host lu mt site s dng mt giao thc bo mt (HTTPS) phi dt khot cho php truy cp t mt tp c host lu mt site s dng mt giao thc bo mt trong (HTTP hoc FTP); topic ny c tho lun trong phn ti (Xem Giao thc HTTP ti HTTPS truy cp gia tp SWF trang 182).

    V Flash Player 7 cam kt thc hin domain hp php phi chnh xc thay th ca superdomain hp php, bn c th phi sa nhng script ang tn ti, nu bn mun truy cp chng t cc tp, m c xut bn dng Flash Player 7. (Bn c th cn xut bn cc tp sa dng Flash Player 6.)

    Nu bn dng bt c cu lnh LocalConnection.allowDomain() hoc System.security.allowDomain() trong cc tp ca bn v c ch nh cc site superdomain cho php, bn phi thay i cc tham s ca bn, ch r chnh xc cc domain thay th. on code sau a ra 1 v d v cc kiu thay i bn, c th phi thc hin: //Flash Player 6 cc lnh trong mt tp SWF www.BatKySiteCu.com // cho php truy cp bi tp SWF m c host lu www.SiteNaoDo.com

    //hoc store.SiteNaoDo.com

    System.security.allowDomain("SiteNaoDo.com");

    my_lc.allowDomain = function(sendingDomain) {

    return(sendingDomain= ="SiteNaoDo.com");

    }

    //Tng ng vi cc lnh cho php truy cp bi tp SWF

    //m c xut bn cho Flash Player 7

    System.security.allowDomain("www.SiteNaoDo.com", "store.SiteNaoDo.com");

    my_lc.allowDomain = function(sendingDomain) {

  • Son gi 0988.529.310 [email protected] 6 Trang 15/1219

    @ActionScript cho Flash6Nguyn Anh Cng 6Ban CNTT Hc vin Phng Khng Khng Qun@

    return(sendingDomain= ="www.SiteNaoDo.com" ||

    sendingDomain= ="store.SiteNaoDo.com");

    }

    Bn cng c th phi thm nhng dng lnh nh th ny ti cc tp ca bn nu bn hin ti khng dng chng.

    V d, nu tp SWF ca bn c cha trn host www.SiteNaoDo.com v bn mun cho php truy cp bi mt tp SWF xut bn dng Flash Player 7, www.store.SiteNaoDo.com, bn phi thm nhng dng lnh nh sau vo tp www.SiteNaoDo.com (Bn c th cn xut bn tp www.SiteNaoDo.com dng Flash Player 6): System.security.allowDomain("store.SiteNaoDo.com");

    my_lc.allowDomain = function(sendingDomain) {

    return(sendingDomain= ="store.SiteNaoDo.com");

    }

    Tm li, bn c th phi sa cc tp ca bn, thm hoc thay i cc cu lnh allowDomain nu bn xut bn cc tp dng Flash Player 7 m gp nhng iu kin sau:

    Bn thi hnh script bt cho-SWF (s dng loadMovie(), MovieClip.loadMovie(), MovieClipLoader.LoadClip(), hoc cc object Local Connection).

    Tp SWF c gi (ca bt c version no) khng c host lu, mt site s dng mt giao thc bo mt (HTTPS). Hoc tp gi v tp SWF c gi, c hai c host lu cc site HTTPS. (Nu ch tp SWF c gi l HTTPS, xem Giao thc HTTP ti HTTPS truy cp gia tp SWF trang 182.)

    Tp SWF khng trong cng domain (v d, mt tp l www.tenmien.com v mt l store.tenmien.com). Bn phi thay i nh sau:

    Nu tp SWF c gi xut bn dng Flash Player 7, c cha h thng.security.allowDomain hoc LocalConnection.allowDomain trong tp SWF c gi, s dng chnh xc tn domain ph hp.

    Nu tp SWF c gi xut bn dng Flash Player 6, sa tp c gi thm hoc thay i mt cu lnh System.security.allowDomain hoc LocalConnection.allowDomain, s dng tn domain ph hp chnh xc, xem trong cc v d mi phn ny. Bn c th xut bn tp sa, cho hoc Flash Player 6 hoc 7.

    Nu tp SWF c gi xut bn dng Flash Player 5 hoc v trc, xut tp c gi ra Flash Player 6 hoc 7 v thm mt cu lnh System.security.allowDomain, s dng tn domain ph hp chnh xc, xem trong cc v d mi phn ny.

    (Cc object LocalConnection khng c h tr Flash Player 5 hoc v trc.) Giao thc HTTP ti HTTPS truy cp gia cc tp SWF

    Nh tho lun trong phn trc, quy tc cho domain-cho v subdomain truy cp thay i trong Flash Player 7. B sung thm vo domain hp php phi chnh xc, by gi

  • @ActionScript cho Flash6Nguyn Anh Cng 6Ban CNTT Hc vin Phng Khng Khng Qun@

    Trang 16/1219 4Trung tm Tin hc ABC gi bn quynCDin n http://khkt.net

    ang c thc hin y , bn phi dt khot cho php cc tp c host lu cc site s dng mt giao thc bo mt (HTTPS) truy cp, bi cc tp c host lu cc site s dng mt giao thc bo mt ni b. Quyt nh trn cho bit, tp c gi xut bn dng Flash Player 7 hoc Flash Player 6, bn phi thc hin: hoc mt trong s cc cu lnh allowDomain (Xem Domain-cho v subdomain truy cp gia tp SWF trang 13), hoc dng cc cu lnh mi l LocalConnection.allowInsecure Domain hoc System.security.allowInsecureDomain().

    Cnh bo: Phng tin mt cu lnh allowInsecureDomain() tho hip bo mt a ra ngh bi giao thc HTTPS. Bn ch nn thay i nu bn khng th ci t li site ca bn tt c tp SWF c phc v t giao thc HTTPS.

    on code sau a ra 1 v d v cc kiu thay i bn c th phi thc hin: //cc lnh mt Flash Player 6 Tp SWF https://www.SiteNaoDo.com // cho php truy cp bi Flash Player 7 tp SWF m c host lu

    // http://www.SiteNaoDo.com hoc http://www.SiteNaoDoKhac.com

    System.security.allowDomain("SiteNaoDoKhac.com");

    my_lc.allowDomain = function(sendingDomain) {

    return(sendingDomain= ="SiteNaoDoKhac.com");

    }

    //Tng ng vi cc lnh mt tp SWF Flash Player 7

    // cho php truy cp bi Flash Player 7 tp SWF m c host lu

    // http://www.SiteNaoDo.com hoc http://www.SiteNaoDoKhac.com

    System.security.allowInsecureDomain("www.SiteNaoDo.com",

    "www.SiteNaoDoKhac.com");

    my_lc.allowInsecureDomain = function(sendingDomain) {

    return(sendingDomain= ="www.SiteNaoDo.com" ||

    sendingDomain= ="www.SiteNaoDoKhac.com");

    }

    Bn cng c th phi thm nhng dng lnh nh th ny ti cc tp ca bn, nu bn hin ti khng dng chng. Mt sa cha c th l cn thit, ngay c khi c hai tp trong cng domain (v d, mt tp trong http://www.tenmien.com b gi mt tp trong https://www.tenmien.com).

    Tm li, bn c th phi sa cc tp ca bn, thm hoc thay i cc cu lnh, nu bn xut bn cc tp dng Flash Player 7, m gp nhng iu kin sau:

    Bn thi hnh script bt cho-SWF (s dng loadMovie(), MovieClip.loadMovie(), MovieClipLoader.LoadClip(), hoc cc object Local Connection).

    Tp gi khng c host lu s dng mt giao thc HTTPS, v tp c gi l HTTPS.

  • Son gi 0988.529.310 [email protected] 6 Trang 17/1219

    @ActionScript cho Flash6Nguyn Anh Cng 6Ban CNTT Hc vin Phng Khng Khng Qun@

    Bn phi thay i nh sau: Nu tp c gi xut bn dng Flash Player 7, c cha

    System.security.allowInsecureDomain hoc LocalConnection.allowInsecureDomain trong tp c gi, s dng tn domain ph hp chnh xc, xem trong cc v d mi phn ny. Cu lnh ny c yu cu, ngay c khi tp gi v tp SWF c gi trong cng domain.

    Nu tp c gi xut bn dng Flash Player 6 hoc v trc, v c hai tp (gi v c gi) trong cng domain (v d, mt tp trong http://www.tenmien.com gi mt tp trong https://www.tenmien.com), khng cn thit sa cha.

    Nu tp c gi xut bn dng Flash Player 6, cc tp khng trong cng domain, v bn khng mun xut tp c gi vo Flash Player 7, sa tp c gi thm hoc thay i mt cu lnh System.security.allowDomain hoc LocalConnection.allowDomain, s dng tn domain ph hp chnh xc, xem trong cc v d mi phn ny.

    Nu tp c gi xut bn dng Flash Player 6 v bn mun xut tp c gi vo Flash Player 7, c cha System.security.allowInsecureDomain hoc LocalConnection.allowInsecureDomain trong tp c gi, s dng tn domain ph hp chnh xc, xem trong cc v d mi phn ny. Cu lnh ny c yu cu, ngay c khi c hai tp trong cng domain.

    Nu tp c gi xut bn dng Flash Player 5 hoc v trc, v c hai tp khng trong cng domain, bn c th lm mt trong hai chng. Bn c th hoc xut tp c gi ra Flash Player 6 v thm hoc thay i mt cu lnh System.security.allowDomain, s dng tn domain ph hp chnh xc, xem trong cc v d mi phn ny, hoc bn c th xut tp c gi vo Flash Player 7, v c cha trong tp c gi mt cu lnh System.security.allowInsecureDomain, s dng tn domain ph hp chnh xc, xem trong cc v d mi phn ny.

    Server-ngoi chnh sch cc tp tha nhn cho truy cp vo d liu Mt ti liu Flash c th ti d liu t mt ti nguyn ngoi bi s dng mt trong s

    d liu gi ti, sau: XML.load(), XML.sendAndLoad(), LoadVars.load(), LoadVars.sendAndLoad(), loadVariables(), loadVariablesNum(), MovieClip.loadVariables(), XMLSocket.connect(), v Macromedia Flash Remoting (NetServices.createGatewayConnection).

    Cng, mt tp SWF c th nhp cc th vin chia s runtime (RSLs), hoc cc ti nguyn nh ngha trong tp SWF khc, lc runtime. Theo ngm nh, d liu hoc RSL phi nh c trong cng domain, nh tp SWF ti d liu ngoi hoc media.

    lm d liu v cc ti nguyn trong cc th vin chia s runtime sn dng vo tp SWF trong cc domain khc, bn nn dng mt tp chnh sch domain-cho. Mt tp chnh sch domain-cho l mt tp XML m cung cp cho server mt cch ch ra d liu ca n v cc ti liu l sn dng, vo tp SWF phc v t cc domain chc chn, hoc t tt c cc domain. Bt c tp SWF , c phc v t mt domain, c ch nh bi tp chnh sch server, c php truy cp t server, d liu hoc RSLs.

  • @ActionScript cho Flash6Nguyn Anh Cng 6Ban CNTT Hc vin Phng Khng Khng Qun@

    Trang 18/1219 4Trung tm Tin hc ABC gi bn quynCDin n http://khkt.net

    Nu bn ti d liu ngoi, bn nn to cc tp chnh sch, ngay c khi bn khng d kin xut bt c tp no vo Flash Player 7. Nu bn ang dng RSLs, bn nn to cc tp chnh sch, nu hoc tp gi, hoc tp c gi xut bn vo Flash Player 7.

    Mun bit r hn, xem V cho php ti d liu domain-cho trang 183. Thay i son tho ActionScript

    Trnh son tho ActionScript c cp nht lm n tinh vi hn v d s dng hn. Nhng thay i ny c tng kt y.

    Ch ngt dng By gi bn c th dng cc la chn pop-up menu trong Script pane, Debugger panel, v Output panel t enable hoc disable ch ngt dng. Bn c th cng lt o ch ngt dng s dng pop-up menu trong cc action panel. T hp phm tt l Control+Shift+W

    Tr gip xem tnh hung-nhy cm

    Khi tr ca bn nm trn mt yu t ngn ng ActionScript trong cc action toolbox hoc trong Script pane, bn c th dng View Help item trong thc n ng cnh hin mt trang gip v yu t .

    Nhp cc script Khi bn chn Import Script t pop-up menu trong cc action panel, script nhp c copy vo script tr thanh, trong tp code ca bn. Trong cc vesion trc ca Flash, nhp mt script s ghi ni dung ca script ang tn ti.

    n-click breakpoints thm mt im ngt g ri trc mt dng code trong Debugger panel hoc Script pane ca cc action panel, bn c th click vo l tri. Trong cc vesion trc ca Flash, clicking vo l tri, mt dng code c chn. Cch mi chn mt dng code Ctrl-Click.

    Cc ch bnh thng v chuyn gia khng di hn trong cc action panel Trong cc vesion trc ca Flash, bn c th lm vic trong cc action panel, hoc trong ch thng, (trong ch m bn lc, cc la chn v cc tham s to code), hoc trong ch chuyn gia, (trong ch bn b sung cc lnh ngay tc khc vo Script pane). Trong Flash MX 2004 v Flash MX Professional 2004, bn c th lm vic trong cc action panel, bi ch thm cc lnh ngay tc khc vit kch bn pane. Bn c th cn drag cc lnh t cc action toolbox vo Script pane hoc dng Button Cng (+) trn Script pane thm cc lnh vo mt script.

    Ghim ng thi nhiu script bn c th ghim ng thi nhiu script bn trong mt tp FLA dc theo y ca Script pane trong cc action panel. Trong cc vesion trc ca Flash, bn ch c th ghim mt script trong mt thi gian.

    S Script Bn tri ca cc action panel by gi cha hai panes: cc action toolbox v mt S Script mi. S Script l mt ci nhn, theo di cu trc ca tp FLA ca bn; bn c th kim sot xuyn sut tp FLA ca bn, nhm nh v Code ActionScript.

    Ca s script c ho nhp cho vic bin tp cc tp ngoi (Ch Flash Professional) bn c th dng trnh son tho ActionScript trong mt Ca s script (tch t cc action panel) vit v bin son cc tp script ngoi. C php i mu, ch mi code, v cc tnh nng u im khc c h tr trong ca s script, v cc action toolbox cng sn dng.

  • Son gi 0988.529.310 [email protected] 6 Trang 19/1219

    @ActionScript cho Flash6Nguyn Anh Cng 6Ban CNTT Hc vin Phng Khng Khng Qun@

    hin ln Ca s script, dng File>New v sau chn kiu ca tp ngoi bn mun bin son. Bn c th c ng thi nhiu tp ngoi m cng thi gian; cc tn tp c hin trn cc tab bt cho trn nh ca Ca s script.

    Phn ny m t thay i m tn dng tr thng minh ca bn g ri kch bn script. Output ca s thay i ra Output panel By gi bn c th di chuyn v c nh

    Output panel ging nh bt c panel khc trong Flash. Ci thin bo co li thi gian bin dch B sung thm, min l din xut ngoi l tinh

    vi hn, ActionScript 2.0 cung cp mt s cc li mi thi gian-bin dch. Mun bit r hn, xem Ph lc A, Cc thng ip li, trang 1206.

    Ci thin cch trnh by ngoi l Class Error v throw v try..catch..finally cc lnh cho php bn thi hnh din xut ngoi l tinh vi hn.

    M hnh chng trnh hng i tng mi Cc ngn ng ActionScript trng thnh v pht trin t khi n c a vo vi

    nm trc. Vi tng sn phm pht hnh mi ca Flash, cc t kho b sung, cc object, cc method, v cc yu t ngn ng khc thm vo ngn ng. Tuy nhin, khng nh cc sn phm pht hnh trc ca Flash, Flash MX 2004 v Flash MX Professional 2004 a vo vi yu t ngn ng mi, m thc hin chng trnh hng i tng theo mt cch chun hn trc. V cc yu t ngn ng ny ch ra mt s nng cp y ngha ti ht nhn ngn ng ActionScript, chng a ra mt version mi ca chnh ActionScript: ActionScript 2.0.

    Cc ActionScript 2.0 khng phi l mt ngn ng mi. ng hn, n gm mt ht nhn thit t ca cc yu t ngn ng, lm n d hn, pht trin cc chng trnh hng i tng. Vi mo u ca cc t kho nh l class, interface, extend, v implements, C php ActionScript by gi d hc hn cho cc nh lp trnh quen thuc vi cc ngn ng khc. Cc nh lp trnh mi, c th hc thut ng chun hn c th p dng vo cc ngn ng hng i tng khc (nghin cu trong tng lai).

    Cc ActionScript 2.0 h tr tt c cc phn t chun ca ngn ng ActionScript; n cho bn quyn vit mt cch d dng cc script m bm st sao hn vo cc tiu chun s dng trong cc ngn ng hng i tng khc, nh l Java. Cc ActionScript 2.0. S l s quan tm ch yu ca cc chuyn vin thit k Flash trung gian hoc cao cp, nhng ngi m ang xy dng cc ng dng c yu cu s thi hnh ca cc class v subclass. Cc ActionScript 2.0 cng cho php bn cng b object kiu dng mt bin, khi bn to n (Xem Vic g d liu trc tip trang 34) v cung cp ng k vic ci thin li bin dch (Xem Ph lc A, Cc thng ip li trang 1206).

    Cc yu t ngn ng mi ActionScript 2.0 c lit k bn di. class extend implements interface

  • @ActionScript cho Flash6Nguyn Anh Cng 6Ban CNTT Hc vin Phng Khng Khng Qun@

    Trang 20/1219 4Trung tm Tin hc ABC gi bn quynCDin n http://khkt.net

    dynamic static public private get set import

    Cc c s lp lun then cht v ActionScript 2.0 c cha cc im sau: Cc script dng ActionScript 2.0 (C nh ngha cc class hoc giao din), phi

    c lu nh cc tp script ngoi, vi mt class n ( nh ngha trong tng script- l, cc class v giao din khng th c nh ngha trong cc action panel).

    Bn c th nhp cc tp class ring bit hon ton (Bi s ct gi chng vo mt ch c ch nh hoc bi ti liu-ring bit nhng ng dn kim tm ton cc v sau s dng chng trong mt script) hoc dt khot (Bi s dng nhp lnh); Bn c th nhp cc gi (Cc b su tp ca class, cc tp trong mt th mc) bi s dng t i din.

    Cc ng dng pht trin vi ActionScript 2.0 c h tr bi Flash Player 6 v sau.

    Cn thn: Ngm nh thit lp xut bn cho cc tp mi to Trong Flash MX 2004 l

    ActionScript 2.0. Nu bn t k hoch sa mt tp FLA ang tn ti s dng c php ActionScript 2.0, bo m rng tp FLA ch r ActionScript 2.0, trong cc thit lp xut bn ca n. Nu khng, tp ca bn s bin dch sai, du cho Flash khng pht sinh cc li bin dch.

    Mun bit r hn v s dng ActionScript 2.0 vit hng i tng cc chng trnh trong Flash, xem Chng IX To cc class vi ActionScript 2.0 trang 154.

  • Son gi 0988.529.310 [email protected] 6 Trang 21/1219

    @ActionScript cho Flash6Nguyn Anh Cng 6Ban CNTT Hc vin Phng Khng Khng Qun@

    CHNG II CC ACTIONSCRIPT BASICS

    Cc ActionScript c quy tc ca vn phm v du cu nh r cc k t v cc t c dng, to ngha v theo th t chng c th c vit. V d, trong Ting Anh, mt du chm cu kt thc mt cu. ActionScript, mt du chm phy kt thc mt cu lnh.

    Cc quy nh chung sau y p dng vo tt c ActionScript. Phn ln cc iu khon ActionScript cng c cc lut l ring; quy tc trong gii hn ring bit, xem u vo ca n Chng XII, T in Cc ActionScript trang 195.

    Nhng khc nhau gia ActionScript v JavaScript Cc ActionScript tng t ht nhn ngn ng tho chng JavaScript. Bn khng

    cn bit JavaScript s dng v hc ActionScript; tuy nhin, nu bn bit JavaScript, ActionScript s rt quen thuc.

    Sch gio khoa ny khng c hng dn tho chng chung. C nhiu ti nguyn cung cp nhiu thng tin hn (v nhng nim tho chng chung v ngn ng JavaScript).

    European Computers Manufacturers Association (ECMA) ti liu ECMA-262 c bt ngun t JavaScript v tip nhn nh chun quc t cho ngn ng JavaScript.

    Cc ActionScript da trn c s c im k thut ECMA-262. Netscape DevEdge Online c mt site JavaScript Developer Central

    (http://developer.netscape.com/tech/javascript/index.html) cha nhiu t liu minh chng v cc bi bo hu ch cho vic hiu ActionScript. Phn ln ti nguyn qu gi l Ht nhn JavaScript Guide.

    Vi im khc gia ActionScript v JavaScript nh sau: ActionScript khng h tr trnh duyt-ring bit, cc object nh l Document, Ca

    s, v Neo. ActionScript khng hon ton h tr tt c cc object built-in ca JavaScript. ActionScript khng h tr 1 vi c php to ca JavaScript, nh cu lnh labels. ActionScript, action eval() ch c th thi hnh cc tham chiu bin. Unicode h tr cho ActionScript Macromedia Flash MX 2004 v Macromedia Flash MX Professional 2004 h tr

    Encoding text Unicode cho ActionScript. iu ny ngha l bn c th cha text vi cc ngn ng khc nhau trong mt tp ActionScript. V d, bn c th a text vi cc ngn ng Ting Anh, ting Nht, v ting Php trong cng mt tp.

    Bn c th t cc s u tin ActionScript ch r kiu ca m ho s dng khi nhp hoc xut cc tp ActionScript. Bn c th chn hoc m ho UTF-8 hoc Default

  • @ActionScript cho Flash6Nguyn Anh Cng 6Ban CNTT Hc vin Phng Khng Khng Qun@

    Trang 22/1219 4Trung tm Tin hc ABC gi bn quynCDin n http://khkt.net

    Encode. UTF-8 l nh dng 8-bit Unicode; Default Encode l mu m ho h tr bi ngn ng h thng bn dng hin ti, cng c gi l traditional code page.

    Khi qut, nu bn nhp hoc xut cc tp ActionScript dng UTF-8 format, dng s u tin UTF-8. Nu bn l nhp hoc xut cc tp dng traditional code page th dng ngn ng h thng ca bn, ngm nh s u tin m ho.

    Nu text trong cc kch bn script ca bn trng khng nh mong i, khi bn m hoc nhp mt tp, thay i s u tin m ho nhp. Nu bn nhn mt thng ip cnh bo khi xut cc tp ActionScript, bn c th thay i s u tin m ho xut hoc tt cnh bo ny cc s u tin ActionScript.

    chn cc la chn m ho text, cho nhp hoc xut cc tp ActionScript:

    1 Trong hp thoi Preferences (Edit>Preferences), click tab ActionScript 2 Di cc la chn vic bin tp, lm mt hoc c hai sau: Open/Import, chn UTF-8 m hoc nhp s dng m ho Unicode, hoc

    Chn Default Encoding m hoc nhp s dng mu m ho ca ngn ng hin ti (s dng bi ngn ng h thng ca bn).

    For Save/Export, chn UTF-8 ct hoc xut s dng m ho Unicode, hoc Chn Default Encoding ct hoc xut s dng m ho mu ca ngn ng hin ti (s dng bi ngn ng h thng ca bn).

    bt xut m ho cnh bo off hoc on:

    1 Trong hp thoi Preferences (Edit>Preferences), click tab Warnings. 2 Chn hoc b chn Warn trn Encoding Conflicts khi xut tp. Cn thn: Lnh kim tra Movie (Xem G ri kch bn script ca bn trang 66) s hng nu

    bt c phn no trong ng dn tp SWF c cc k t m khng th ch ra c (s dng Bng m ho MBCS). V d, nhng ng dn ting Nht trn mt h thng Ting Anh s khng lm vic. Tt c cc vng ca ng dng m dng player ngoi l ch th ca gii hn ny.

    Thut ng

    Nh vi bt c ngn ng kch bn no, ActionScript dng thut ng ring ca n. Lit k sau cung cp mt li gii thiu cc iu khon ActionScript quan trng.

    Cc action l cc cu lnh ch dn mt tp SWF lm ci g , trong khi n ang chi. V d, gotoAndStop() gi Playhead vo mt ring bit frame hoc label. Trong sch gio khoa ny, cc iu khon action v cu lnh l c th thay th nhau.

    Boolean l mt gi tr true hoc false. Cc class l cc kiu d liu m bn c th to, nh ngha mt kiu dng object

    mi. nh ngha mt class, bn dng t kho class trong mt tp script ngoi (khng phi trong script bn ang vit, cc action panel).

    Cc constant l cc phn t m khng thay i. V d, hng Key.TAB lun lun c

  • Son gi 0988.529.310 [email protected] 6 Trang 23/1219

    @ActionScript cho Flash6Nguyn Anh Cng 6Ban CNTT Hc vin Phng Khng Khng Qun@

    ngha nh nhau: n ch ra phm Tab trn bn phm. Cc constant l hu ch nn cc gi tr.

    Constructors l cc function m bn dng nh ngha cc thuc tnh v cc method ca mt class.

    Bi nh ngha, constructors l cc function bn trong mt nh ngha class m c cng Tn nh class. V d, on code sau nh ngha mt Circle class v cam kt thc hin mt function constructor: //file Circle.as class Circle {

    private var BanKinh:Number

    private var circumference:Number

    //constructor

    function Circle(BanKinh:Number) {

    circumference = 2 * Math.PI * BanKinh;

    }

    }

    iu khon constructor c dng khi bn to (thuyt minh) mt object trn c s mt class lin quan. Nhng dng lnh sau l constructors cho built-in Class Array v class Circle tu hng: mangcuatoi_array:Array = New Array();

    my_circle:Circle = New Circle();

    Cc kiu D liu m t loi thng tin mt bin hoc cc phn t ActionScript c th gi. Cc kiu d liu ActionScript l String, Number, Boolean, Object, MovieClip, Function, null, v undefined. Mun bit r hn, xem V cc kiu d liu trang 31.

    Cc event l cc s kin xy ra trong khi mt tp SWF ang chi. V d, cc event khc nhau c sinh ra khi ti mt movie clip, Playhead vo mt frame, ngi dng clicks mt button hay movie clip, hoc ngi dng g phm.

    Cc event handler l cc action c bit n qun l cc event nh mouseDown hoc load. C hai loi event handler ActionScript: cc method event handler v cc Event Listener. (C cng hai event handler, on() v onClipEvent(), m bn c th gn ngay tc khc vo cc button v cc movie clip.) Trong cc action toolbox, tng object ActionScript m c cc method event handler hoc cc Event Listener c mt phm tr con gi l cc event hoc cc Listener. Vi lnh c th c dng c hai, nh cc event handler v nh cc Event Listener v c cha trong c hai phm tr con.

    Cc biu thc l bt c s kt hp hp php ca cc symbol ActionScript ch ra mt gi tr. Mt biu thc gm cc ton t v cc ton hng. V d, trong biu thc x + 2, x v 2 l cc ton hng v + l mt ton t.

    Cc function l cc khi code c th dng c, c th c a vo tham s v c

  • @ActionScript cho Flash6Nguyn Anh Cng 6Ban CNTT Hc vin Phng Khng Khng Qun@

    Trang 24/1219 4Trung tm Tin hc ABC gi bn quynCDin n http://khkt.net

    th tr v mt gi tr. Mun bit r hn, xem To cc function trang 49. Nhng th nhn dng l cc tn s dng ch ra mt bin, property, object, function,

    hoc method. K t u tin phi l mt ch, du gch di (_), hoc k hiu la ($). Tng k t tip phi l mt ch, s, du gch di, hoc k hiu la. V d, first_name tn ca mt bin.

    Cc instance l cc object m thuc v mt class chc chn. Tng instance ca mt class cha tt c cc thuc tnh v cc method ca class . V d, tt c cc movie clip l cc instance ca Class MovieClip, nn bn c th dng bt c method no hoc cc properties ca Class MovieClip vi bt c instance movie clip.

    Cc tn Instance l cc tn duy nht m cho php bn t ch cc instance movie clip v button trong cc script.

    Bn dng thuc tnh inspector gn cc tn instance vo cc instance trn Stage. V d, mt master symbol trong th vin c th gi BoDem v hai instance symbol trong tp SWF, c th c cc tn instance scorePlayer1_mc v scorePlayer2_mc. on code sau thit t mt bin gi l DiemTheThao bn trong tng instance movie clip bi s dng cc tn instance: _root.scorePlayer1_mc.DiemTheThao += 1;

    _root.scorePlayer2_mc.DiemTheThao - = 1;

    Bn c th dng cc hu t c bit khi t tn cc instance cc code mi (Xem S dng cc code mi trang 62) hin nh bn g code ca bn. Mun bit r hn, xem S dng cc hu t bn ra cc code mi trang 60.

    Cc t kho l cc t dnh ring m c ngha c bit. V d, var l mt t kho s dng cng b cc bin cc b. Bn khng th dng mt t kho ba bi. V d, var khng phi l mt tn bin hp php. Danh sch cc t kho, xem Cc t kho trang 30.

    Cc method l cc function c kt hp vi mt class. V d, getBytesLoaded() l mt built-in method c kt hp vi class MovieClip. Bn c th cng to cc function m hnh ng nh cc method, cho cc object trn c s hoc cc class built-in, hoc cc class m bn to. V d, trong on code sau, clear() tr thnh mt method ca mt object controller m bn nh ngha trc : function reset(){

    this.x_pos = 0; this.x_pos = 0; }

    controller.clear = reset;

    controller.clear();

    Cc object l cc b su tp ca cc properties v cc method; tng object c Tn ring ca n v l mt instance ca mt class lin quan. Cc object built-in c nh ngha trc trong cc ngn ng ActionScript. V d, built-in Object Date cung cp thng tin t ng h h thng.

  • Son gi 0988.529.310 [email protected] 6 Trang 25/1219

    @ActionScript cho Flash6Nguyn Anh Cng 6Ban CNTT Hc vin Phng Khng Khng Qun@

    Cc ton t l iu khon m tnh ton mt gi tr mi t mt hoc nhiu gi tr. V d, ton t php cng (+) thm hai hoc nhiu hn cc gi tr vi nhau c kt qu mt gi tr mi. Cc gi tr m cc ton t nho nn b gi l cc ton hng.

    Cc tham s (cng c gi l cc i s) l nhng ch gi trc cho php bn a cc gi tr vo cc function.

    V d, function welcome() sau dng hai gi tr n nhn trong cc tham s TenHo v hobby: function welcome(TenHo, hobby) {

    welcomeText = "Hello, " + TenHo + "Ti rt vui c gp bn " + hobby;

    }

    Cc gi l cc th mc m cha mt hoc nhiu tp class, v nh c trong mt ng dn th mc class nh ngha (Xem Hiu ng dn class trang 160).

    Properties l cc thuc tnh cho nh ngha mt object. V d, _visible l mt property ca tt c cc movie clip nh ngha cho bit mt movie clip c th trng thy hoc hidden.

    Nhng ng dn ch l cc a ch c th bc ca cc tn instance movie clip, cc bin, v cc object trong mt tp SWF. Name mt instance movie clip trong thuc tnh inspector ca movie clip. (Phn chnh Timeline lun lun c name _root.) bn c th dng mt ng dn ch ch th mt action mt movie clip hoc nhn, hay t gi tr mt bin. V d, cu lnh sau l ng dn ch vo bin AmLuong bn trong movie clip stereoControl: _root.stereoControl.AmLuong

    Mun bit r hn v cc ng dn ch, xem Cc ng dn ch lin quan v v iu kin trong S dng Flash Help.

    Cc bin l nhng th gi cc gi tr ca bt c kiu data. Cc bin c th c to, thay i, v cp nht. Cc gi tr chng lu gi c th c ly li cho dng trong cc script. Trong v d sau, nhng th nhn dng trn bn tri ca cc k hiu bng l cc bin: var x = 5; var name = "Lolo";

    var c_MauSac = New Color(mcinstanceName);

    Mun bit r hn v cc bin, xem V cc bin trang 38. C php Nh vi bt c ngn ng no, ActionScript c quy tc c php m bn phi

    theo to cc script c th bin dch v chy ng n. Phn ny m t cc phn t gm cc c php ActionScript.

    Trng hp nhy cm Trong mt trng hp-nhy cm ngn ng tho chng, tn cc bin m khng ging, ch trng hp (book v Book), c chiu c khc nhau tu tng trng hp khc nhau. V th, l thng theo cc s tho thun ngm, ch hoa ch thng phi r rng v ph hp, nh nhng s dng trong sch gio khoa ny, n d nhn ra tn cc function v cc bin Code ActionScript.

  • @ActionScript cho Flash6Nguyn Anh Cng 6Ban CNTT Hc vin Phng Khng Khng Qun@

    Trang 26/1219 4Trung tm Tin hc ABC gi bn quynCDin n http://khkt.net

    Khi bn xut bn cc tp dng Flash Player 7 hoc v sau, Flash cam kt thc hin trng hp nhy cm cho bit bn ang dng ActionScript 1 hoc ActionScript 2.0. iu ny ngha l cc t kho, cc tn class, cc bin, cc tn method, v vn vn l tt c trng hp nhy cm. V d: //trong tp ch tp Flash Player 7 //v hoc ActionScript 1 hoc ActionScript 2.0

    //t cc properties ca hai object khc nhau

    ConMeo.hilite = true;

    CONMEO.hilite = true;

    //To ba bin khc nhau

    var myVar=10;

    var myvar=10;

    var mYvAr=10;

    //Khng pht sinh mt li

    var array = New Array();

    var date = New Date();

    Thay i ny cng nh hng n cc bin ngoi ti vi LoadVars.load(). B sung thm, trng hp nhy cm c thi hnh cho cc script ngoi, nh l cc

    tp class ActionScript 2.0 hoc cc script m bn nhp s dng lnh #include. Nu bn xut bn cc tp dng Flash Player 7 v c cc tp ngoi to trc , m bn b sung vo kch bn script ca bn bi s dng cu lnh #include, bn nn xem li tng tp v xc nhn rng, bn dng ch hoa ph hp t u n cui. Mt cch lm y l m tp trong ca s script (ch Flash Professional) hoc, trong mt tp FLA mi, t cc thit lp xut bn ca bn vo Flash Player 7 v copy cc ni dung tp vo cc action panel. Ri s dng button Test C php (Xem Kim tra c php v du ngoc trang 65) hoc xut bn tp ca bn; cc li b gy ra bi tranh chp do t tn hin ra Output panel.

    Khi c php i mu c enable, cc yu t ngn ng c vit vi ch hoa chnh xc l xanh dng theo ngm nh. Mun bit r hn, xem Cc t kho trang 30 v Lm ni bt c php trang 59...

    Chm c php ActionScript, mt chm (.) thng ch ra cc thuc tnh hoc phng php lin quan n mt object hoc movie clip. N c dng nhn ra ng dn ch vo mt movie clip, bin, function, hoc object.

    Mt biu thc chm c php bt u vi tn ca object hoc movie clip theo sau bi mt chm, v kt thc vi yu t bn mun ch r.

    V d, property _x movie clip ch ra mt v tr trc x ca movie clip trn Stage. Biu thc ballMC._x m ch property _x ca instance movie clip ballMC.

    V d khc, submit l mt bin t trong Sample movie clip, c a vo bn trong

  • Son gi 0988.529.310 [email protected] 6 Trang 27/1219

    @ActionScript cho Flash6Nguyn Anh Cng 6Ban CNTT Hc vin Phng Khng Khng Qun@

    movie clip shoppingCart. Biu thc shoppingCart.Sample.submit = true thit t bin submit ca instance Sample thnh true.

    Biu din mt method ca mt object hoc movie clip theo mu ging nhau sau. V d, method play() ca instance movie clip TraiBanh_mc di chuyn Playhead trong Timeline ca TraiBanh_mc, nh trong trnh by:

    TraiBanh_mc.play();

    Chm c php cng dng hai b danh c bit, _root v _parent. B danh _root m ch phn chnh Timeline. Bn c th dng b danh _root to mt ng dn ch trc tip. V d, cu lnh sau gi function buildGameBoard() trong movie clip functions trn phn chnh Timeline: _root.cc functions.buildGameBoard();

    Bn c th dng b danh _parent m ch n mt movie clip c a vo trong i tng hin ti. Bn c th cng dng _parent to mt ng dn ch lin quan. V d, nu movie clip ConCho_mc c a vo bn trong movie clip ConThu_mc, cu lnh sau trn instance ConCho_mc bo ConThu_mc ngng: _parent.stop();

    Slash c php Slash c php dng Trong Flash 3 v 4 ch ra ng dn ch ca mt movie

    clip hoc bin. C php ny l vn cn c h tr bi Flash Player 7, nhng n khng c ngh, v slash c php khng c h tr ActionScript 2.0. Tuy nhin, nu bn ang to ni dung d nh r rng dng Flash Player 4, bn phi dng slash c php. Mun bit r hn, xem S dng slash c php trang 1219.

    Cc du ngoc nhn

    Cc event handler ActionScript, cc nh ngha class, v cc function c tp hp vi nhau vo cc khi vi cc du ngoc nhn ({}). Bn c th m ngoc trn cng dng nh cng b ca bn, hoc trn dng k, nh trong v d sau. lm code ca bn d c hn, mt hay chn mt nh dng v dng n trc sau nh mt. //Event handler

    on(release) {

    myDate = New Date();

    currentMonth = myDate.getMonth();

    }

    on(release)

    {

    myDate = New Date();

    currentMonth = myDate.getMonth();

    }

    //Class

  • @ActionScript cho Flash6Nguyn Anh Cng 6Ban CNTT Hc vin Phng Khng Khng Qun@

    Trang 28/1219 4Trung tm Tin hc ABC gi bn quynCDin n http://khkt.net

    class Circle(BanKinh) {

    }

    class BinhPhuong(side)

    {}

    //Function

    circleArea = function(BanKinh) {

    return BanKinh * BanKinh * MATH.PI;

    }

    squareArea = function(side)

    {

    return side * side;

    }

    Bn c th kim tra s ph hp cc du ngoc nhn trong cc kch bn script ca bn; xem Kim tra c php v du ngoc trang 65.

    Cc du chm phy Mt cu lnh ActionScript b gii hn vi mt du chm phy (;), nh trong cc v d ny: var column = passedDate.getDay();

    var row = 0;

    Nu bn b st iu khon du chm phy, Flash vn bin dch kch bn script ca bn thnh cng. Tuy nhin, s dng cc du chm phy l thi quen vit script tt.

    Cc du ngoc n Khi bn nh ngha mt function, t bt k cc tham s bn trong cc du ngoc n: function HamCuaToi (Ten, Tuoi, reader){

    //code ca bn y

    }

    Khi bn gi mt function, c cha bt c tham s a vo function trong cc du ngoc n, nh hin y: HamCuaToi ("Steve", 10, true);

    Bn c th cng dng cc du ngoc n ln cc th t u tin ActionScript hoc lm cc cu lnh ActionScript ca bn d c hn. (Xem Ton t quyn u tin v s kt hp trang 43.)

    Bn cng dng cc du ngoc n a v gi tr mt biu thc bn tri du chm trong chm c php. V d, trong trnh by sau, cc du ngoc n l nguyn nhn a v gi tr mi Color(this) v to mt Color object: onClipEvent(enterFrame) { (new Color(this)).setRGB(0xffffff);

  • Son gi 0988.529.310 [email protected] 6 Trang 29/1219

    @ActionScript cho Flash6Nguyn Anh Cng 6Ban CNTT Hc vin Phng Khng Khng Qun@

    }

    Nu bn khng dng cc du ngoc n, bn phi thm mt cu lnh a v gi tr biu thc: onClipEvent(enterFrame) { myColor = New Color(this);

    myColor.setRGB(0xffffff);

    }

    Bn c th kim tra s ph hp cc du ngoc n trong cc kch bn script ca bn; xem Kim tra c php v du ngoc trang 65.

    Comments S dng cc ch gii thm cc li ghi ch vo cc script l rt ng ngh. Cc ch gii l hu ch cho vic gi theo di ca nhng d nh ca bn v nhng nh pht trin khc hiu qua thng tin nu bn lm vic trong mt mi trng cng tc hoc nh l cc mu th. Thm ch mt script n gin th d hiu hn nu bn vit cc li ghi ch khi bn to n.

    ch ra mt dng hoc mt on l mt li ch, t trc li ch vi hai du cho ln (//): on(release) { //to mi Object Date

    myDate = New Date();

    currentMonth = myDate.getMonth();

    //convert s thng to tn thng

    monthName = calcMonth(currentMonth);

    year = myDate.getFullYear();

    currentDate = myDate.getDate();

    }

    Khi C php i mu c enable (Xem Lm ni bt c php trang 59.), cc ch gii l mu xm theo ngm nh. Cc ch gii c th l bt c di khng nh hng n c ca tp xut, v chng khng cn theo quy tc cc C php ActionScript hoc cc t kho.

    Nu bn mun nhiu li ch lin mch kch bn script ca bn, t n trong mt khi li ch, ng hn l thm // u tng dng. K thut ny l d v c ch hn khi bn ch mun kim tra cc phn ca mt script bi khi l l li ch ca n.

    to mt khi li ch, t/* u cc dng ch gii v */ cui. V d, khi script sau chy, trong khi li ch khng c code thc hin:

    //code di chy var x:Number = 15;

  • @ActionScript cho Flash6Nguyn Anh Cng 6Ban CNTT Hc vin Phng Khng Khng Qun@

    Trang 30/1219 4Trung tm Tin hc ABC gi bn quynCDin n http://khkt.net

    var y:Number = 20; //code di khng chy

    /*

    on(release) {

    //to mi Object Date

    myDate = New Date();

    currentMonth = myDate.getMonth();

    //convert s thng thnh tn thng

    monthName = calcMonth(currentMonth);

    year = myDate.getFullYear();

    currentDate = myDate.getDate();

    }

    */

    //Code di chy

    var Ten:String = "Tn ti l";

    var Tuoi:Number = 20;

    Cc t kho Cc t d tr ActionScript ring bit. dng bn trong ngn ng, nn bn khng th dng chng nh nhng th nhn dng, nh l cc tn bin, function, hoc label. Bng sau lit k tt c cc t kho ActionScript: break case class continue

    default delete dynamic else

    extend for function get

    if implements import in

    instanceof interface intrinsic new

    private public return set

    static switch this typeof

    var void while with

    Cc constant Mt hng l mt property gi tr ca n khng bao gi thay i. V d, cc hng BACKSPACE, ENTER, QUOTE, RETURN, SPACEBAR, v TAB l cc

    properties ca object phm v quy vo cc phm trn bn phm. kim tra cho bit ngi dng l nhn phm Enter, bn c th dng cu lnh sau: if(Key.getCode() = = Key.ENTER) {

    alert = "Bn sn sng chi?";

    controlMC.gotoAndStop(5);

    }

  • Son gi 0988.529.310 [email protected] 6 Trang 31/1219

    @ActionScript cho Flash6Nguyn Anh Cng 6Ban CNTT Hc vin Phng Khng Khng Qun@

    V cc kiu d liu Mt kiu d liu m t loi thng tin mt bin hoc cc phn t ActionScript c th

    gi. C hai loi kiu d liu built-in Flash: nguyn thu v tham chiu. Cc kiu d liu nguyn thu String, Number, v Booleanc mt hng gi tr v v th c th gi gi tr hin thi ca yu t chng ch ra. Cc kiu d liu tham chiuMovieClip v Objectc cc gi tr m c th thay i v th cha cc tham chiu ti gi tr hin thi ca yu t. Cc bin cha cc kiu d liu nguyn thu i x khc nhau trong cc hon cnh chc chn hn cc kiu cha tham chiu ny. (Xem S dng cc bin trong mt chng trnh trang 38.) C cng hai kiu d liu c bit: null v undefined.

    Trong Flash, bt c built-in object khng mt kiu d liu nguyn thu hoc mt kiu d liu movie clip, nh l Array hoc Math, l kiu d liu ca Object. Tng kiu d liu c quy nh ring ca n v c m t trong cc topic sau: String trang 31 Number trang 32 Boolean trang 32 Object trang 32 MovieClip trang 33 Null trang 33 Undefined trang 33

    Khi bn g ri script, bn c th cn nh r kiu d liu ca mt biu thc hoc bin hiu v sao n ang c i x mt cch chc chn. Bn c th lm iu ny vi ton t typeof (Xem Xc nh mt kiu d liu ca Item trang 33).

    Bn c th chuyn mt kiu d liu thnh kiu khc, s dng mt trong s function chuyn i sau: Array(), Boolean(), Number(), Object(), String().

    String Mt string l mt chui ca cc k t nh l cc ch, cc s, v cc du cu. Bn vo cc string trong mt cu lnh ActionScript bi bao chng trong nhy n hoc nhy nhy p.

    Cc string c xem xt nh cc k t thay th cc bin. V d, trong trnh by sau, "L7" l mt string: favoriteBand = "L7";

    Bn c th dng ton t (+) ni, hoc ghp, hai string. Cc ActionScript coi cc khong trng ni bt u hoc kt thc ca mt string nh mt phn ch ci ca string. Biu thc sau gm c mt khong trng sau khi du phy: greeting = "Welcome," + TenHo;

    gp mt du nhy nhy vo mt string, t trc n vi mt k t cho xung (\). iu ny c gi l mt k t escaping. C cc k t khc m khng th c miu t ActionScript, ngoi tr bi cc chui Escape c bit. Bng sau cung cp tt c cc k t escape ActionScript:

  • @ActionScript cho Flash6Nguyn Anh Cng 6Ban CNTT Hc vin Phng Khng Khng Qun@

    Trang 32/1219 4Trung tm Tin hc ABC gi bn quynCDin n http://khkt.net

    Escape chui Character

    \b K t Backspace (ASCII 8)

    \f k t Form-nguyn liu(ASCII 12)

    \n K t Line-nguyn liu (ASCII 10)

    \r K t Enter (ASCII 13)

    \t K t Tab(ASCII 9)

    \" Du nhy nhy p

    \' Du nhy n

    \\ Du cho xung

    \000 - \377 Mt byte c ch r trong bt phn

    \x00 - \xFF Mt byte c ch r trong thp lc phn

    \u0000 - \uFFFF Mt k t 16-bit Unicode c ch r trong thp lc phn

    Number Kiu d liu Number l mt s phy ng p- chnh xc. Bn c th nho nn cc s s dng cc ton t s hc php cng (+), php tr (-), php nhn (*), php chia (/), modulo (%), gia tng (++), v gim bt (- -). Bn c th cng dng cc method ca cc class built-in Math v Number nho nn cc s. V d sau dng method sqrt() (cn bc hai) tr v cn bc hai ca s 100: Math.sqrt(100);

    Mun bit r hn, xem Cc ton t s trang 43. Boolean Mt gi tr logic Bool l mt trong hai, hoc true hoc false. Cc ActionScript

    cng chuyn cc gi tr true v false thnh 1 v 0 khi thch hp. Phn ln cc gi tr Bool thng xuyn s dng vi cc ton t logic cc cu lnh ActionScript so snh iu khin lung ca mt script. V d, trong script sau, tp SWF chi nu bin MatKhau l true: onClipEvent(enterFrame) { if (TenNguoiSD = = true && MatKhau = = true){

    play();

    }

    }

    Xem S dng cc function ni b trang 49 v Cc ton t logic trang 45. Object Mt object l mt b su tp ca cc properties. Tng property c mt tn v mt gi tr. Gi tr ca mt property c th l bt c kiu d liu Flash, thm ch kiu d liu object. iu ny cho php bn sp t cc object bn trong tng ci khc, hoc lng chng. Ch r cc object v cc properties ca chng, bn dng ton t chm (.). V d, trong on code sau, GioDaLamViec l mt property ca weeklyStats, l mt property ca employee: employee.weeklyStats.GioDaLamViec

  • Son gi 0988.529.310 [email protected] 6 Trang 33/1219

    @ActionScript cho Flash6Nguyn Anh Cng 6Ban CNTT Hc vin Phng Khng Khng Qun@

    Bn c th dng cc object ActionScript built-in truy cp v nho nn cc loi ca thng tin ring r. V d, Object Math c cc method m thi hnh cc php ton trn cc s bn a vo chng. V d ny dng method sqrt(): squareRoot = Math.sqrt(100);

    Cc ActionScript MovieClip object c cc method m cho php bn iu khin cc instance symbol movie clip trn Stage. V d ny dng cc method play() v nextFrame(): mcInstanceName.play();

    mc2InstanceName.nextFrame();

    Bn c th cng to cc object tu hng t chc thng tin trong ng dng Flash ca bn. thm phm vi hot ng lin thng vo mt ng dng vi ActionScript, bn s cn nhiu, cc mu thng tin khc nhau: v d, bn c th cn mt tn ngi dng, tc ca mt tri bng, cc tn ca cc item trong mt thng , s cc frame ti, Zip code ca ngi dng, hoc phm b nhn cui cng. To cc object tu hng cho php bn t chc thng tin ny vo cc nhm, n gin ho kch bn script ca bn, v dng li kch bn script ca bn.

    MovieClip Cc movie clip l cc symbol m c th chi hot hnh trong mt ng dng Flash. Chng ch l kiu d liu m m ch mt yu t graphic. Kiu d liu MovieClip cho php bn iu khin cc symbol movie clip s dng cc phng php ca Class MovieClip. Bn gi cc phng php s dng ton t chm (.), nh hin y: my_mc.startDrag(true);

    CHA_mc.getURL("http://www.khkt.net/support/" + product);

    Null Kiu d liu null ch c mt gi tr, null. Gi tr ny ngha l khng c gi tr no l, mt s thiu ca data. Gi tr null c th c dng trong cc hon cnh a dng. y l vi v d:

    ch ra mt bin cha nhn gi tr ch ra mt bin khngcha mt gi tr na Nh gi tr tr v ca mt function, ch ra khng c gi tr no sn dng c

    tr v bi function Nh mt tham s vo mt function, ch ra mt tham s ang b b qun

    Undefined

    Kiu d liu undefined c mt gi tr, undefined, v c dng cho mt bin m khng c gn gi tr.

    Xc nh mt kiu d liu ca Item Trong khi kim tra v g ri chng trnh ca bn, bn c th tm ra cc vn m

    dng nh lin quan ti cc kiu d liu ca cc item khc nhau. Trong nhng trng hp ny, bn c th mun nh r mt kiu d liu ca Item. lm iu , dng ton t typeof, nh trong v d ny:

    trace(typeof(TenBien));

  • @ActionScript cho Flash6Nguyn Anh Cng 6Ban CNTT Hc vin Phng Khng Khng Qun@

    Trang 34/1219 4Trung tm Tin hc ABC gi bn quynCDin n http://khkt.net

    Mun bit r hn v kim tra v g ri, xem Chng III, Vit v Debug cc script, trang 53.

    Vic c quy cho cc kiu d liu vo cc yu t Flash t ng gn cc kiu d liu vo cc loi sau ca cc yu t ngn ng, nh tho

    lun trong phn ti, T ng vic g d liu: Cc bin Cc tham s a vo mt function, method, hoc class Cc gi tr tr v t mt function hoc method Cc object to nh cc subclass ca cc class ang tn ti Tuy nhin, bn c th cng dt khot gn cc kiu d liu vo cc item, c th gip

    chn hoc chn on chc chn cc li trong cc script kch bn ca bn. Mun bit r hn, xem Vic g d liu trc tip trang 34.

    T ng nhp liu Trong Flash, bn khng cn nh ngha dt khot mt item ang gi mt s, mt

    string, hoc kiu d liu khc. Flash nh ot kiu d liu ca mt item khi n c gn: var x = 3;

    Trong biu thc var x = 3, Flash a v gi tr yu t pha phi ca ton t v nh ot n l kiu d liu s. Mt gn v sau c th thay i kiu ca x; V d, cu lnh x = "hello" thay i kiu ca x l mt string. Mt bin m khng c nh ngha mt gi tr c mt kiu dng undefined.

    Cc ActionScript chuyn cc kiu d liu t ng khi mt biu thc yu cu n. V d, khi bn a vo mt gi tr vo action trace(), trace() t ng chuyn gi tr vo mt string v gi n ra Output panel. Trong cc biu thc vi cc ton t, ActionScript chuyn cc kiu d liu nh nhu cu; v d, khi s dng vi mt string, ton t + trng mong ton hng khc c mt string. "Dng k, th " + 7

    Cc ActionScript chuyn s 7 thnh string "7" v thm n vo cui ca string u tin, kt qu trong string sau: "Dng k, th 7"

    Vic g d liu trc tip

    ActionScript 2.0 cho php bn cng b dt khot object kiu dng mt bin khi bn to n; iu ny c gi vic g d liu chnh xc. V kiu d liu khng ph hp bn ra cc li bin dch, bn nh my d liu trc tip gip bn chn bng vic quy kiu dng d liu sai vo mt bin ang tn ti. gn mt kiu d liu r rng vo mt item, ch r kiu ca n s dng t kho var v sau-du hai chm, c php: //g trc tip ca mt bin hoc object

    var x:Number = 7;

  • Son gi 0988.529.310 [email protected] 6 Trang 35/1219

    @ActionScript cho Flash6Nguyn Anh Cng 6Ban CNTT Hc vin Phng Khng Khng Qun@

    var NgaySinh:Date = New Date();

    //g trc tip ca cc tham s

    function welcome(TenHo:String, Tuoi:Number){

    }

    //g trc tip ca tham s v gi tr tr v

    function BinhPhuong(x:Number):Number { var ChinhPhuong = x*x; return ChinhPhuong;

    }

    V bn phi dng t kho var khi hon ton g bin, bn khng th g mo mt bin ton cc (Xem Phm vi v cng b cc bin trang 39).

    Bn c th cng b kiu d liu ca cc object trn c s cc class built-in (Button, Date, MovieClip, v vn vn) v trn cc class v giao din m bn to. V d, nu bn c mt tp tn l SinhVien, nh trong th m bn nh ngha class SinhVien, bn c th ch r cc object bn to l kiu SinhVien: var SinhVien:SinhVien = New SinhVien();

    Bn c th cng ch r cc object l kiu Function hoc Void. S dng g trc tip gip bo m rng bn khng tnh c gn mt kiu dng gi tr

    sai vo mt object. Flash kim tra cc li g sai thi gian bin dch. V d, gi s bn g on code sau:

    //trong tp SinhVien.AS class class SinhVien {

    var status:Boolean;//property ca cc object SinhVien

    }

    // mt script

    var SinhVienThachHoai:SinhVien = New SinhVien();

    SinhVienThachHoai.status = " thu np";

    Khi Flash bin dch script ny, mt li Kiu khng ph hp c sinh ra. Li th khc ca bn nh my d liu trc tip l Flash MX 2004 t ng hin cc

    code mi cho cc object built-in khi chng c g mo. Mun bit r hn, xem Hon ton g cc object bn ra cc code mi trang 59.

    Cc tp xut bn s dng ActionScript 1 khng tn trng nhng nhim v bn nh my d liu trc tip thi gian bin dch. Do , vic c quy cho kiu dng gi tr sai vo mt bin m bn g mo khng pht sinh mt li bin dch. var x:String = "abc" x = 12;//khng li trong ActionScript 1, li g sai trong ActionScript 2

  • @ActionScript cho Flash6Nguyn Anh Cng 6Ban CNTT Hc vin Phng Khng Khng Qun@

    Trang 36/1219 4Trung tm Tin hc ABC gi bn quynCDin n http://khkt.net

    L do ny l khi bn xut bn mt tp cho ActionScript 1, Flash hiu mt cu lnh nh l var x:String = "abc" nh slash c php, ng hn l nh g trc tip. (Cc ActionScript 2.0 khng h tr slash c php.) Thi quen ny c kt qu trong mt object c gn vo mt bin g sai, nguyn nhn trnh bin dch cho php method gi bt hp php v property undefined cc tham chiu a vo, khng c thng bo sut. V th, nu bn c phng tin bn nh my d liu trc tip, chc chn l bn xut bn cc tp cho ActionScript 2.0.

    S khun cc object

    Cc ActionScript 2.0 cho php bn thay mt kiu d liu thnh kiu khc. Ton t thay m Flash dng mang mu ca mt function gi v l ng hnh vi r rng coercion, nh c ch nh trong s xut ca ECMA-262 Edition 4. S khun cho php bn khng nh mt object l mt kiu no khi kim tra g xy ra, trnh bin dch coi object nh ang c mt thit t ca cc properties, m n khng cha kiu khi to. iu ny c th l hu ch, v d, khi lp i lp li qua mt array ca cc object m c cc kiu khng ging nhau.

    Trong cc tp xut bn dng Flash Player 7 hoc v sau, thay cc cu lnh hng lc runtime tr v null. Trong cc tp xut bn dng Flash Player 6, khng runtime h tr cho cc khun b hng c thi hnh.

    C php cho s khun l type(item), ni m bn mun trnh bin dch i x bnh thng nu kiu d liu ca item l kiu. S khun v bn cht l gi mt function, v function gi tr v null nu th thay hng. Nu th thay thnh cng, function gi tr v object gc. Tuy nhin, trnh bin dch khng pht sinh kiu cc li sai khi bn thay cc item vo cc kiu d liu m bn to, trong cc tp class ngoi, ngay c khi th thay hng lc runtime. //trong ConThu.as

    class ConThu {}

    //trong ConCho.as

    class ConCho extend ConThu { function bark (){} }

    //trong ConMeo.as

    class ConMeo extend ConThu { function meow (){} }

    //trong tp FLA

    var VetChamTron:ConCho = New ConCho();

    var TamThoi:ConMeo = ConMeo (VetChamTron);//khng nh m mt object ConCho l ca kiu ConMeo

    TamThoi.meow();//khng lm bt c ci g, nhng li bin dch khng hoc

    Trong hon cnh ny, bn khng nh vi trnh bin dch m TamThoi l mt object ConMeo, v, v th, trnh bin dch tha nhn TamThoi.meow() l mt cu lnh hp php. Tuy nhin, trnh bin dch khng bit m th thay s hng ( l, bn c thay mt ConCho object vo mt kiu Con mo), khng nn c li trong thi gian bin dch xy ra. Nu bn c cha mt kim tra trong kch bn script ca bn chc chn rng th

  • Son gi 0988.529.310 [email protected] 6 Trang 37/1219

    @ActionScript cho Flash6Nguyn Anh Cng 6Ban CNTT Hc vin Phng Khng Khng Qun@

    thay thnh cng, bn c th tm kiu cc li sai lc runtime. var VetChamTron:ConCho = New ConCho();

    var TamThoi:ConMeo = ConMeo (VetChamTron);

    trace(TamThoi);//hin null runtime

    Bn c th thay mt biu thc vo mt giao din. Nu biu thc l mt object m cam kt thc hin giao din hoc c mt class c s m cam kt thc hin giao din, object c tr v. Nu khng, null c tr v.

    V d sau ch ra cc kt qu ca s khun kiu cc object built-in. Nh dng u tin trong with(cc kt qu) khi cho thy, mt thay bt hp phptrong trng hp ny, s khun mt string vo mt movie clip tr v null. Nh hai dng cui cng hin, s khun thnh null hoc undefined tr v undefined. var mc:MovieClip;

    var arr:Array;

    var bool:Boolean;

    var num3:Number;

    var obj:Object;

    var str:String;

    _root.createTextField("cc kt qu",2,100,100,300,300);

    with(cc kt qu){

    text = "type MovieClip: "+(typeof MovieClip(str));//tr v null

    text += "\ntype object: "+(typeof Object(str));//tr v object

    text += "\ntype Array: "+(typeof Array(num3));//tr v object

    text += "\ntype Boolean: "+(typeof Boolean(mc));//tr v boolean

    text += "\ntype String: "+(typeof String(mc));//tr v string

    text += "\ntype Number: "+(typeof Number(obj));//tr v number

    text += "\ntype Function: "+(typeof Function(mc));//tr v object

    text += "\ntype null: "+(typeof null(arr));//tr v undefined

    text += "\ntype undefined: "+(typeof undefined(obj));//tr v undefined

    }

    //Cc kt qu trong Output panel

    type MovieClip: null

    type object: object

    type Array: object

    type Boolean: boolean

    type String: string

    type Number: number

  • @ActionScript cho Flash6Nguyn Anh Cng 6Ban CNTT Hc vin Phng Khng Khng Qun@

    Trang 38/1219 4Trung tm Tin hc ABC gi bn quynCDin n http://khkt.net

    type Function: object

    type null: undefined

    type undefined: undefined

    Bn khng th ln cc kiu d liu nguyn thu nh l Boolean, Date, v Number vi mt ton t thay trng tn.

    V cc bin

    Mt bin l mt vt cha gi thng tin. Chnh vt cha lun khng i, nhng ni dung c th thay i. Bi i gi tr ca mt bin nh tp SWF chi, bn c th ghi thu li v ct thng tin v ci g ngi dng lm, ghi thu cc gi tr thay i nh tp SWF chi, hoc nh gi cho bit mt iu kin l true hoc false.

    Mt hay lun gn mt bin mt gi tr bit lc bn nh ngha bin u tin. iu ny c bit nh khi to mt bin v thng xuyn c lm trong frame u tin ca tp SWF.

    Khi to mt bin gip bn theo di v so snh gi tr ca bin nh tp SWF chi. Cc bin c th gi bt c kiu dng d liu (Xem V cc kiu d liu trang 31).

    Kiu mt bin cha d liu nh hng n vic lm th no thay i gi tr ca bin khi n c gn trong mt script.

    Kiu thng tin c g m bn c th lu trong mt bin c cha mt URL, mt tn ngi dng, kt qu ca mt php ton, s ln mt event xy ra, hoc cho bit mt button b clicked. Tng tp SWF v instance movie clip c mt thit t bin, vi tng bin ang c, mt gi tr c lp ca cc bin trong tp SWF khc hoc cc movie clip.

    kim tra gi tr ca mt bin, dng action trace() gi gi tr ra Output panel. V d, trace(GioDaLamViec) gi gi tr ca bin GioDaLamViec ra Output panel trong ch kim tra. Bn c th cng kim tra v t gi tr cc bin trong Debugger trong ch kim tra. Mun bit r hn, xem S dng cu lnh trace trang 77 v Hin v sa cc bin trang 70.

    t tn mt bin Mt tn bin phi theo nhng quy tc ny: N phi l mt dng (Xem Thut ng trang 24). N khng th l mt t kho hoc mt t ActionScript nh l true, false, null, hoc

    undefined. N phi l duy nht bn trong phm vi ca n (Xem Phm vi v cng b cc bin

    trang 39). Cng, bn khng nn dng bt c yu t trong ngn ng ActionScript nh mt tn

    bin; lm vy c th l nguyn nhn cc li c php hoc nhng kt qu bt ng. V d, nu bn Tn mt bin String v sau c to mt Object string s dng New String(), New object undefined. hello_str = New String();

  • Son gi 0988.529.310 [email protected] 6 Trang 39/1219

    @ActionScript cho Flash6Nguyn Anh Cng 6Ban CNTT Hc vin Phng Khng Khng Qun@

    trace(hello_str.length);//tr v 0

    String = "hello";//Cho mt bin tn trng nh mt built-in class

    hello_str = New String();

    trace(hello_str.length);//tr v undefined

    Trnh son tho ActionScript h tr cc code mi cho cc class built-in v cho cc bin, trn c s cc class ny. Nu bn mun Flash cung cp cc code mi cho mt kiu object lin quan c gn vo mt bin, bn c th g mo bin hoc tn bin s dng mt hu t ring bit.

    V d, gi s bn g on code sau: var CacThanhVien:Array = New Array();

    CacThanhVien.

    Ngay khi bn g du chm (.), Flash hin mt danh sch cc method v cc properties sn dng cho cc object Array. Mun bit r hn, xem Vit code m bn cc code mi trang 60.

    Phm vi v cng b cc bin

    Mt phm vi ca bin m ch vng m bin c bit v c th c tham chiu. C ba kiu bin phm vi ActionScript:

    Cc bin cc b sn dng bn trong thn function l cng khai (phc ho bi cc du ngoc nhn).

    Cc bin Timeline l sn dng vo bt c script trn Timeline. Cc bin ton cc v cc function c th trng thy mi lnline v phm vi trong

    ti liu ca bn. Ghi nh: Cc class ActionScript 2.0 m bn to, h tr cc phm vi public, private, v

    bin tnh static. Mun bit nhiu hn, xem iu khin b phn truy cp trang 164 v To Class Members trang 165.

    Cc bin cc b cng b cc bin cc b, dng cu lnh var bn trong thn ca mt function. Mt bin cc b thuc phm vi khi v ht hiu lc cui khi. Mt bin cc b khng cng khai bn trong mt khi, ht hiu lc cui script ca n.

    V d, cc bin i v j thng dng nh cc b m vng lp. Trong v d sau, i c dng nh mt bin cc b; n tn ti ch bn trong function TaoNgay(): function TaoNgay() {

    var i;

    for(i = 0; i < MangThang[month]; i++) {

    _root.Days.attachMovie("NgayHien", i, i + 2000);

    _root.Days[i].num = i + 1;

    _root.Days[i]._x = column * _root.Days[i]._width;

  • @ActionScript cho Flash6Nguyn Anh Cng 6Ban CNTT Hc vin Phng Khng Khng Qun@

    Trang 40/1219 4Trung tm Tin hc ABC gi bn quynCDin n http://khkt.net

    _root.Days[i]._y = row * _root.Days[i]._height; column = column + 1;

    if (column = = 7) {

    column = 0;

    row = row + 1;

    }

    }

    }

    Cc bin cc b c th cng gip chn cc s tranh chp tn, m c th l nguyn nhn cc li trong ng dng ca bn.

    V d, nu bn dng Tn nh mt bin cc b, bn c th dng n ct gi mt ngi dng, Tn trong mt tnh hung v mt tn instance movie clip trong trng hp khc; v cc bin ny s chy trong cc phm vi tch, s khng cn tranh chp.

    Thi quen tt s dng cc bin cc b trong thn ca mt function, function c th hnh ng nh mt mu code c lp. Mt bin cc b ch c th thay i bn trong khi code ring ca n. Nu mt biu thc trong mt function dng mt bin ton cc, ci g bn ngoi function cng c th thay i c gi tr ca n, s thay i function.

    Bn c th gn mt kiu d liu vo mt bin cc b khi bn nh ngha n, gip chn bn chng vic c quy cho kiu dng d liu sai vo mt bin ang tn ti. Mun bit r hn, xem Vic g d liu trc tip trang 34.

    Cc bin Timeline Cc bin Timeline l sn dng ti bt c script trn Timeline. cng b cc bin Timeline, khi to chng trn bt c frame no trong Timeline. ng qun khi to bin trc khi th truy cp n trong mt script.

    V d, nu bn t code var x = 10; trn Frame 20, mt script gn ti bt c frame trc Frame 20 khng th truy cp vo bin.

    Cc bin ton cc

    Cc bin ton cc v cc function c th trng thy mi lnline v phm vi trong ti liu ca bn. to mt bin vi phm vi ton cc, dng dng _Global trc tn bin, v khng dng var = c php. V d, on code sau to bin ton cc TenToi: var _Global.TenToi = "NguyenCuong";//c php sai

    _Global.TenToi = "NguyenCuong";

    Tuy nhin, nu bn khi to mt bin cc b tn trng vi mt bin ton cc, bn khng th truy cp vo bin ton cc trong khi bn trong phm vi ca bin cc b: _Global.BoDem = 100;

    BoDem++;

    trace(BoDem);//hin 101

    function DemXem(){

  • Son gi 0988.529.310 [email protected] 6 Trang 41/1219

    @ActionScript cho Flash6Nguyn Anh Cng 6Ban CNTT Hc vin Phng Khng Khng Qun@

    for(var BoDem = 0; BoDem

  • @ActionScript cho Flash6Nguyn Anh Cng 6Ban CNTT Hc vin Phng Khng Khng Qun@

    Trang 42/1219 4Trung tm Tin hc ABC gi bn quynCDin n http://khkt.net

    V d khc, bin GiaTriBenTrong cha mt gi tr nguyn thu, 3, nn gi tr hin thi c a vo function sqrt() v gi tr tr v l 9: function sqrt(x){ return x * x; }

    var GiaTriBenTrong = 3;

    var Ra = sqrt(GiaTriBenTrong);

    Gi tr ca bin GiaTriBenTrong khng thay i. Kiu d liu Object c th cha mt lng ca thng tin rng v phc tp, mt bin

    vi kiu ny khng gi gi tr hin thi; n gi mt tham chiu vo gi tr. Tham chiu ny nh l mt b danh tr vo ni dung ca bin. Khi bin cn bit gi tr ca n, tham chiu hi cho ni dung v tr v cu tr li khng c s truyn gi tr vo bin.

    Sau y l mt v d v s i qua bi tham chiu: var MangCuaToi = ["Cng", "Tho"];

    var MangMoi = MangCuaToi;

    MangCuaToi[1] = "Hoi";

    trace(MangMoi);

    Code trn to mt Array object gi l MangCuaToi m c hai phn t. Bin MangMoi c to v c a vo mt tham chiu ti MangCuaToi. Khi yu t th hai ca MangCuaToi c thay i, n nh hng n mi bin vi mt tham chiu vo n. Action trace() gi Cng, Hoi ra Output panel.

    Trong v d sau, MangCuaToi cha mt Array object, nn n c a vo function MangKhongCoGi() bi tham chiu. Function MangKhongCoGi() thay i ni dung ca array trong MangCuaToi. function MangKhongCoGi (Mang){

    var i;

    for (i=0; i < Mang.length; i++) {

    Mang[i] = 0;

    }

    }

    var MangCuaToi = New Array();

    MangCuaToi[0] = 1;

    MangCuaToi[1] = 2;

    MangCuaToi[2] = 3;

    MangKhongCoGi(MangCuaToi);

    Function MangKhongCoGi() chp nhn mt Array object nh mt tham s v thit t

  • Son gi 0988.529.310 [email protected] 6 Trang 43/1219

    @ActionScript cho Flash6Nguyn Anh Cng 6Ban CNTT Hc vin Phng Khng Khng Qun@

    tt c cc phn t ca array v 0. N c th sa array v array c a vo bi tham chiu.

    S dng cc ton t nho nn cc gi tr trong cc biu thc

    Mt biu thc l bt c cu lnh m Flash c th nh gi v tr v mt gi tr. Bn c th to mt biu thc bi s kt hp cc ton t v cc gi tr hoc bi gi mt function.

    Cc ton t l cc k t, ch r lm th no kt hp, so snh, hoc sa gi tr ca biu thc. Cc phn t m ton t thc hin trn b gi l cc ton hng. V d, trong trnh by sau, ton t + thm gi tr ca mt con s vo gi tr ca bin BienBatKy; BienBatKy v 3 l cc ton hng: BienBatKy + 3

    Phn ny m t quy tc chung v cc kiu ton t chung, ton t quyn u tin, v ton t s kt hp. Mi thng tin chi tit trn tng ton t cp y, chng khc g cc ton t c bit m khng ri vo cc hng ny, xem cc u vo Chng XII, T in Cc ActionScript trang 195.

    Ton t quyn u tin v s kt hp

    Khi hai hoc nhiu hn cc ton t c dng trong cng cu lnh, vi ton t nm quyn u tin trn cc ton t khc. Cc ActionScript i theo sau mt h thng th t nghim ngt nh r cc ton t thi hnh u tin. V d, php nhn lun thi hnh trc khi php cng; tuy nhin, cc item trong cc du ngoc n nm quyn u tin trn php nhn. Nn, khng c cc du ngoc n, ActionScript thc hin php nhn trong v d u tin sau: TongSo = 2 + 4 * 3;

    Kt qu l 14. Nhng khi cc du ngoc n bao php ton cng, ActionScript thc hin php cng

    u tin: TongSo = (2 + 4) * 3;

    Kt qu l 18. Khi hai hoc nhiu hn cc ton t c quyn u tin nh nhau, s kt hp ca chng

    nh ot th t thi hnh. S kt hp c th l hoc tri-n-phi hoc phi-n-tri. V d, ton t php nhn c mt s kt hp ca tri-n-phi; v th, hai cu lnh sau l tng ng: TongSo = 2 * 3 * 4;

    TongSo = (2 * 3) * 4;

    Cho mt bng ca tt c cc ton t v quyn u tin v s kt hp ca chng, xem Ph lc B, Ton t Quyn u tin v S kt hp, trang 1211.

    Cc ton t s

    Cc ton t s cng, tr, nhn, chia, v thi hnh cc php ton s hc khc. Phn ln cch dng chung ca ton t gia tng l i++ thay th ca s di dng hn i

  • @ActionScript cho Flash6Nguyn Anh Cng 6Ban CNTT Hc vin Phng Khng Khng Qun@

    Trang 44/1219 4Trung tm Tin hc ABC gi bn quynCDin n http://khkt.net

    = i+1. Bn c th dng ton t gia tng trc hoc sau mt ton hng. Trong v d sau, Tuoi

    u tin c tng v sau c kim tra khng vt qu s 30: if (++Tuoi>= 30)

    Trong v d sau, Tuoi c tng, sau khi kim tra c thi hnh: if (Tuoi++>= 30)

    Cc bng lit k sau ActionScript cc ton t s: Php ton

    Thc hin php ton

    + Php cng (Cng)

    * Php nhn (Nhn)

    / Php chia (Chia)

    % Modulo (s d ca php chia) (Phn d php chia)

    - Php tr (Tr)

    ++ Gia tng (Tng)

    - - Gim bt (Gim)

    Cc ton t so snh

    Cc ton t so snh, so snh cc gi tr ca cc biu thc v tr v mt gi tr logic Bool (true hoc false). Cc ton t ny lm khi phn ln s dng trong cc vng lp v trong cc cu lnh iu kin. Trong v d sau, nu bin DiemTheThao l 100, mt tp SWF ti chc chn; nu ngc li, mt tp SWF khc ti: if (DiemTheThao>100){

    loadMovieNum("NguoiThang.swf", 5);

    } else {

    loadMovieNum("NguoiThua.swf", 5);

    }

    Cc bng lit k sau ActionScript cc ton t so snh: Php ton

    ngha Thc hin php ton

    < Nh hn Less than

    > Ln hn Greater than

    = Ln hn hoc bng Greater than or equal

    Cc ton t String

    Ton t + c mt tc ng c bit khi n hot ng trn cc string: n ni ton hng

  • Son gi 0988.529.310 [email protected] 6 Trang 45/1219

    @ActionScript cho Flash6Nguyn Anh Cng 6Ban CNTT Hc vin Phng Khng Khng Qun@

    string. V d, cu lnh sau thm "Xin knh cho," trc "Nguyn Anh Cng!": "Xin knh cho, " + "Nguyn Anh Cng!"

    Kt qu l "Xin knh cho, Nguyn Anh Cng!" Nu ch mt trong s cc ton hng ca ton t + l mt string, Flash chuyn ton hng khc thnh mi string.

    Cc ton t so snh>,>=, 50){

    play();

    }

    Cc bng lit k sau cc ton t logic ActionScript: Php ton Thc hin php ton

    && Logical AND

    || Logical OR

    ! Logical KHNG

    Cc ton t o bit

    Cc ton t o bit nho nn s phy ng ni ti thay i chng thnh cc s nguyn 32-bit. Php ton chnh xc thi hnh ph thuc vo ton t, nhng tt c cc php ton o bit ly tng con s nh phn (bit) ring l ca 32-bit nguyn tnh mt gi tr mi.

    Cc bng lit k sau ActionScript cc ton t o bit: Php ton Operation performed

    & o bit AND

    | o bit OR

    ^ o bit XOR

    ~ o bit KHNG

  • @ActionScript cho Flash6Nguyn Anh Cng 6Ban CNTT Hc vin Phng Khng Khng Qun@

    Trang 46/1219 4Trung tm Tin hc ABC gi bn quynCDin n http://khkt.net

    >> Di phi

    >>> Di phi lp y 0

    Cc ton t bnh ng Bn c th dng bng (= =) ton t nh r cho bit cc gi tr hoc s ging ht ca hai ton hng bng nhau. So snh ny tr v mt gi tr Boolean (true hoc false). Nu cc ton hng l cc string, cc s, hoc cc gi tr Bool, chng c so snh bi gi tr. Nu cc ton hng l cc object hoc cc array, chng c so snh bi tham chiu.

    Mt sai lm chung s dng ton t gn kim tra cho bnh ng. V d, on code sau so snh x thnh 2: if (x = = 2)

    Trong cng v d , biu thc x = 2 l sai v n khng so snh cc ton hng, n gn gi tr l 2 vo bin x.

    Ton t bng tuyt i (= = =) nh ton t bng, vi mt s khc nhau quan trng: Ton t bng tuyt i khng thi hnh s chuyn i kiu. Nu hai ton hng ca cc

    kiu khc nhau, ton t bng tuyt i tr v false. Ton t tuyt i khc (!= =) tr v s o ngc ca ton t bng tuyt i.

    Cc bng lit k sau cc ton t bnh ng ActionScript: Php ton Thc hin php ton

    = = Equality Bng

    = = = Strict equality Bng tuyt i

    != Inequality Khc

    != = Strict inequality Khc tuyt i

    Cc ton t gn

    Bn c th dng ton t gn (=) gn mt gi tr vo mt bin, nh trong v d sau: var MatKhau = "Sk8tEr";

    Bn c th cng dng ton t gn gn ng thi nhiu bin trong cng biu thc. Trong cu lnh sau, gi tr ca mt c gn ti cc bin b, c, v d: a = b = c = d;

    Bn c th cng dng cc ton t hp gn kt hp cc php ton. Cc ton t hp thi hnh trn c hai ton hng v sau gn gi tr mi cho ton hng u tin. V d, hai cu lnh sau l tng ng: x += 15; x = x + 15;

    Ton t gn c th cng c s dng trong gia ca mt biu thc, nh v d sau:

  • Son gi 0988.529.310 [email protected] 6 Trang 47/1219

    @ActionScript cho Flash6Nguyn Anh Cng 6Ban CNTT Hc vin Phng Khng Khng Qun@

    //nu flavor khng phi l vanilla, xut mt thng ip. if ((flavor = getIceCreamFlavor()) != "vanilla") {

    trace ("Flavor l " + flavor + ", khng vanilla.");

    }

    Code ny l tng ng, gn hn nhng on code di dng sau: flavor = getIceCreamFlavor();

    if (flavor != "vanilla") {

    trace ("Flavor l " + flavor + ", khng vanilla.");

    }

    Cc bng lit k sau ActionScript cc ton t gn: Php ton Thc hin php ton

    = Php gn

    += Php cng v php gn

    - = Php tr v php gn

    *= Php nhn v php gn

    %= Modulo v php gn

    /= Php chia v php gn

    = o bit Di right v php gn

    >>>= Di right zero lp y v php gn

    ^= o bit XOR v php gn

    |= o bit OR v php gn

    &= o bit AND v php gn

    Cc ton t chm v truy cp array

    Bn c th dng du chm (.) v ton t truy cp array ([]) truy cp built-in hoc cc action tu hng cc properties script object, k c nhng ci ca mt movie clip.

    Du chm dng tn ca mt object pha tri n v t tn ca mt property hoc bin pha phi n. Property hoc tn bin khng th l mt string, hoc mt bin m a v gi tr mt string; n phi cng mt dng. Nhng v d sau dng du chm: year.month = "June";

    year.month.day = 9;

    Du chm v ton t truy cp array thi hnh cng vai tr, nhng du chm mang mt dng nh property ca n, nhng ngc li ton t truy cp array a v gi tr ni dung

  • @ActionScript cho Flash6Nguyn Anh Cng 6Ban CNTT Hc vin Phng Khng Khng Qun@

    Trang 48/1219 4Trung tm Tin hc ABC gi bn quynCDin n http://khkt.net

    ca n, vo mt tn v sau truy cp gi tr ca m tn l property. V d, cc biu thc sau truy cp cng mt bin VanToc trong movie clip TenLua: TenLua.VanToc;

    TenLua["VanToc"];

    Bn c th dng ton t truy cp array nng ng t v ly li cc tn instance v cc bin.

    V d, trong on code sau, biu thc bn trong ton t [] c nh gi, v kt qu ca s c lng c dng nh tn bin ly li c t movie clip Ten: Ten["mc" + i]

    Bn c th cng dng function eval(), nh hin y: eval("mc" + i)

    Ton t truy cp array c th cng c s dng bn tri ca mt cu lnh gn. iu ny cho php bn nng ng t instance, bin, v t tn cc i tng, nh trong v d sau: Ten[index] = "Gary";

    Bn to cc array nhiu chiu ActionScript bi xy dng mt array, cc phn t ca th cng l nhng array. truy cp cc phn t ca mt array nhiu chiu, bn c th lng ton t truy cp array vi chnh n, nh trong v d sau: var BanCo = New Array();

    for (var i=0; i

  • Son gi 0988.529.310 [email protected] 6 Trang 49/1219

    @ActionScript cho Flash6Nguyn Anh Cng 6Ban CNTT Hc vin Phng Khng Khng Qun@

    nhn bit mt tp SWF ti: Dng _levelX, x l mc s c ch nh trong action loadMovie() m tp SWF ti. V d, mt tp SWF ti vo mc 5 c ng dn ch _level5. Trong v d sau,

    mt tp SWF c ti vo mc 5 v s nhn r ca n c t l false: onClipEvent(load) { loadMovieNum("PhimCuaToi.swf", 5);

    }

    onClipEvent(enterFrame) {

    _level5._visible = false;

    }

    vo mt ng dn ch ca tp SWF: Trong cc action panel (Window>Development>Actions), click button Insert

    Target Path v chn mt movie clip t danh sch hin ra. Mun bit r hn v cc ng dn ch, xem Cc ng dn ch lin quan v v

    iu kin trong S dng Flash Help.