Giáo trình 24 giờ học Flash (Phần 2)

S%p xếp trong mảng

Chúng ta có thể sắp xếp một mảng b"ng câu lệnh sort. Ví d’ dưới đây sẽ cho ta một

mảng được sắp xếp theo thứ tự số:

CODE

myArray = [36,23,63,71,25];

myArray.sort();

trace(myArray);

Còn ví d’ này sẽ sắp xếp theo thứ tự chữ:

CODE

myArray = ["Gary","Will","Jay","Brian"];

myArray.sort();

trace(myArray);

Câu lệnh reverse để đảo vị trí sắp xếp của mảng. Ví d’:

CODE

myArray = ["Gary","Will","Jay","Brian"];

myArray.reverse();

trace(myArray);

Muốn sắp xếp mảng theo vị trí giảm dần thì sử d’ng sort r*i sử d’ng reverse.

Sử d’ng câu lệnh concat để nối hai mảng lại với nhau. Nó sẽ không làm thay đ i các

mảng cũ, mà nó sẽ tạo ra một mảng mới.CODE

myArray = [36,23,63,71,25]

otherArray = [58,97,16];

newArray = myArray.concat(otherArray);

trace(newArray);

pdf150 trang | Chia sẻ: trungkhoi17 | Lượt xem: 367 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Giáo trình 24 giờ học Flash (Phần 2), để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ng luôn luôn c ánh s 0. Vì vy, nh ví d' trên có 5 ph n t thì ph n t th 0 cha giá tr 36 và ph n t th 4 mang giá tr 25. Mt cách khác  t o mng là s d'ng new Array() CODE myArray = new Array(); Mun thêm mt ph n t vào cui mng, s d'ng câu lnh push. Ví d' di ây s t o ra mt mng ging mng  ví d' trên: CODE myArray = new Array(); myArray.push(36); myArray.push(23); myArray.push(63); myArray.push(71); myArray.push(25); Nhng thao tác trên m ng + ki m tra xem mng có bao nhiêu ph n t thì b n có th s d'ng thuc tính length CODE myArray = [36,23,63,71,25]; trace(myArray.length); Còn n u mun l#y ph n t cui cùng ca mng và b& ph n t này ra kh&i mng thì s d'ng câu lnh pop CODE myArray = [36,23,63,71,25]; trace(myArray); a = myArray.pop(); trace(a); trace(myArray); +o n code ví d' trên s trace 5 ph n t ca mng myArray. Sau ó, l#y ph n t cui cùng ca mng tc là 25 a vào bi n a, *ng thi b& ph n t 25 ra kh&i mng. Cui cùng trace các ph n t ca mng myArray, lúc này ch còn 4 ph n t. S d'ng k t hp push và pop  t o mt h thng vào sau ra trc (last in first out), thng g i là stack. Hãy tng tng  n mt ch*ng sách, chúng ta  cun sách  u tiên xung, r*i ch*ng lên cun sách th 2, cun th 3, cun th 4 Khi mun l#y sách ra thì phi l#y cun trên cùng trc, tc là ch*ng lên cui cùng. Ngc l i vi pop là shift. Nó s b& ra ph n t  u tiên trong mng. +o n code di ây s làm ging nh o n trên nhng s không b& ph n t 25 mà s b& ph n t 36: CODE myArray = [36,23,63,71,25]; trace(myArray); a = myArray.shift(); trace(a); trace(myArray); Ngc l i vi shift là unshift. Nó s chèn thêm mt ph n t vào  u mng. N u b n mun l#y ra ch mt ph n ca mng thì có th s d'ng hàm slice. +i s truyn vào s là v trí  u tiên và v trí cui cùng ca ph n c n l#y ra trong mng. CODE myArray = [36,23,63,71,25] trace(myArray.slice(1,3)); +o n code trên s tr v 23, 63 vì nó không k ph n t th 3. N u không có i s th 2 thì nó s l#y  n cui mng. Mt hàm khác na là hàm splice. Hàm này s thay th mt s ph n t trong mng b"ng nhng ph n t khác. S d'ng hàm này, i s  u tiên là v trí ca ph n t trong mng, i s th hai là s ph n t mun xóa k t) ph n t trong i s  u tiên. Truyn i s th 2 là s 0 n u không mun xóa ph n t nào c. Nhng ph n t ti p theo là danh sách nhng ph n t mun chèn vào mng. Nói vy cng hi khó hi u nh, vy hãy xét ví d' này nhé. Ví d' này s xóa ph n t 23 và 63 và chèn vào ph n t 17. CODE myArray = [36,23,63,71,25]; myArray.splice(1,2,17); trace(myArray); S%p x p trong m ng Chúng ta có th sp x p mt mng b"ng câu lnh sort. Ví d' di ây s cho ta mt mng c sp x p theo th t s: CODE myArray = [36,23,63,71,25]; myArray.sort(); trace(myArray); Còn ví d' này s sp x p theo th t ch: CODE myArray = ["Gary","Will","Jay","Brian"]; myArray.sort(); trace(myArray); Câu lnh reverse  o v trí sp x p ca mng. Ví d': CODE myArray = ["Gary","Will","Jay","Brian"]; myArray.reverse(); trace(myArray); Mun sp x p mng theo v trí gim d n thì s d'ng sort r*i s d'ng reverse. S d'ng câu lnh concat  ni hai mng l i vi nhau. Nó s không làm thay  i các mng c, mà nó s t o ra mt mng mi. CODE myArray = [36,23,63,71,25] otherArray = [58,97,16]; newArray = myArray.concat(otherArray); trace(newArray); Chuyn i gia chu"i và m ng Chúng ta có th s d'ng câu lnh join   i t) mt mng thành chu.i. Câu lnh này c n mt i s duy nh#t là ký t ngn cách gia các ph n t ca mng trong chu.i. N u b n không truyn tham s này vào thì ký t m%c nh là d#u ph!y. Ví d' di ây tr v 36:23:63:71:25. CODE myArray = [36,23,63,71,25] myString = myArray.join(":"); trace(myString); Câu lnh join ít c s d'ng vì nó không c n thi t lm, nhng hàm split l i r#t hu d'ng. Nó s chuy n  i t) mt chu.i sang mng. Ví d' nh nó s chuy n mt chu.i “36,23,63,71,25” thành mt mng trong ví d' di ây: CODE myString = "36,23,63,71,25"; myArray = myString.split(","); trace(myArray); Hãy ngh(  n chuyn chúng ta có mt câu nói c lu trong mt chu.i mun chuy n sang mng, m.i ph n t trong mng s cha mt ch. Xem ví d' di ây nhé: CODE myString = "This is a test"; myArray = myString.split(" "); trace(myArray); Làm ch chuyn ng Trong ví d' này, chúng ta s l#y t)ng ch trong mt câu dài và hi n th vào textfield. - T o movie Flash mi - T o mt text field dynamic, cho font ch to, khong 64. Cho text field n"m  gia màn hình và canh gia cho text field. +%t variable = text. - V mt shape r*i ch n Insert -> Convert to Movie Clip. +%t tên cho instance này là Actions r*i kéo nó ra ngoài vùng hi n th. - Chèn o n code sau vào movie clip ó. + u tiên s s d'ng hàm split  tách t)ng ch ca câu vào trong mng. Sau ó s khai báo thêm 3 bi n na. Bi n wordNum s lu mt con s là s th t ca ch s hi n th. Bi n frameDelay s lu s frame  m.i ch hin ra. Bi n frameCount s  m s frame mà mt ch ã i qua. CODE onClipEvent(load) { // get the words wordList = ("Imagination is more important than knowledge").split(" "); // set up variables wordNum = 0; frameDelay = 6; frameCount = frameDelay; // prime for first word } onClipEvent(enterFrame) { // time for new word if (frameCount == frameDelay) { _root.text = wordList[wordNum]; // display word wordNum++; // next word if (wordNum >= wordList.length) wordNum = 0; frameCount = 0; } frameCount++; } - Nào, bây gi thì ã xong r*i, hãy ch y th xem nào Gi th 13: S dng Rollovers, Rollovers To hình dáng con tr& theo ý thích Vic thay con tr& m%c nh b"ng mt con tr& theo ý thích ca mình r#t n gin, ch c n s d'ng hàm Mouse.hide() và %t mt movie clip ca mình vào v trí ca con tr& là xong. Con tr& có th là b#t c hình dáng gì cng c, nh là hình mi tên, hình bàn tay hay mt movie clip. Hình di ây là mt ví d' ca mt movie clip c dùng  làm con tr&. Ch là mt hình mi tên n gin nhng b n phi chú ý r"ng d#u cng chính gia movie clip phi n"m ngay  u ca mi tên. N u b n mun s d'ng l i con tr& m%c nh thì ch c n g i Mouse.show() Mt iu c n lu ý na là phi chc r"ng movie clip làm con tr& ca chúng ta phi  trên t#t c các movie clip khác. Chúng ta có th ch n Modify -> Arrage ->Bring To Front  a movie clip lên  u nhng ch là trên các movie clip trong layer ó mà thôi. Cho dù b n có  movie clip ca mình lên layer trên cùng thì cng có th b che khu#t bi nhng movie clip c load vào b"ng duplicateMovie và attachMovie. Vì vy, chúng ta s s d'ng swapDepths()  a movie clip này lên trên cùng. Câu lnh swapDepths() s a movieclip lên mt level mi, level có th là mt s nguyên 0, 1, 2 9999. Vì th chúng ta s s d'ng lnh Cursor.swapDepths(9999);  a movieclip ca chúng ta lên trên cùng. Luyn tp: To con tr& tnh - T o mt movie mi - T o mt movie clip mi  thay th cho con tr& - Quay tr l i movie  u tiên, và chúng ta s thay th con tr& b"ng cách CODE onClipEvent(load) { // hide the real cursor Mouse.hide(); // bring this movie clip to the front this.swapDepths(99999); } - Ti p theo chúng ta s gn v trí ca movie clip vào v trí ca con tr& CODE onClipEvent(enterFrame) { // follow the mouse this._x = _root._xmouse; this._y = _root._ymouse; } - Sau cùng, chúng ta s ph'c h*i l i con tr& c khi k t thúc movie CODE onClipEvent(unload) { // show the real cursor again Mouse.show(); } - Cui cùng là vic ch y th movie ca mình Luyn tp: To con tr& ng - Chúng ta có th s d'ng l i movie trc - T o mt button mi trong root. Hãy th làm cho button có s thay  i trong over và down  chúng ta có th th#y c s khác bit. - Chúng ta s thay  i mt ít trong movie clip làm con tr&. T o mt frame th hai, v thêm vài nét nh hình v - +%t tên hai frame là normal và over button - +%t câu lnh stop(); vào frame  u tiên ca movie clip - Kéo th mt button vào root - +%t tên movie clip làm con tr& là cursor - Thêm o n code sau vào button CODE on (rollOver) { cursor.gotoAndStop("over button"); } on (rollOut) { cursor.gotoAndStop("normal"); } - Bây gi hãy ch y th xem nào , hãy th click vào button xem sao. Xem k t qu b n làm có ging hình này không nhé! Rollovers Mt k5 thut thông d'ng  hi n th nhng thông tin dài là s d'ng Rollovers  a ra nhng thông tin thay vì s d'ng mt button  ngi dùng click vào thì s sang mt trang khác. Ý tng ca k5 thut này là khi ngi dùng a chut lt nhng vùng nào ó. M.i vùng s hi n th cho ngi dùng xem mt thông tin gì ó trên màn hình. Trong ví d' sau, s có 9 vùng nh th , m.i vùng s là mt tên ca mt hành tinh ( bên trái). Khi chúng ta a tr& chut qua nhng vùng ó thì bên phi s xu#t hin thông tin v hành tinh ó. Khi a tr& chut ra ngoài thì thông tin ó cng bi n m#t. Chúng ta có th s d'ng AS  làm Rollovers b"ng nhiu cách Rollovers s d'ng button Chúng ta s s d'ng hai event ca button là on(rollOver) và on(rollOut)  vi t code x lý vic hi n th thông tin. Hãy xem ví d' di ây: CODE on (rollOver) { information.gotoAndStop("information 1"); } on (rollOut) { information.gotoAndStop("none"); } Rollovers s d'ng movie clip Flash không có hàm onClipEvent(mouseOver), vì th chúng ta s s d'ng mt hàm khác. Hàm hitTest s cho chúng ta bi t r"ng con tr& chut có ang  trên movie clip hay không. Và chúng ta có th làm nh sau CODE onClipEvent (enterFrame) { if (this.hitTest(_root._xmouse,_root._ymouse, true)) { _root.information.gotoAndStop("information 1"); } else { _root.information.gotoAndStop("none"); } } Nhng làm nh vy v$n còn mt v#n  na. Bi vì movie clip ca chúng ta s v$n ti p t'c ch y t) frame này sang frame khác, chúng ta ã g i hàm gotoAndStop()  d)ng l i. Hãy tng tng chúng ta có nhiu rollovers. Cái  u tiên s a movie clip information v frame none, m%t khác thì rollovers khác l i a movie clip information v mt ni khác. +iu này s làm xy ra xung t. Vì vy, chúng ta s làm nh sau. Chúng ta s ghi nh l i r"ng con tr& chut có ang  trên movie clip hay không. N u có, nó s thi hành lnh khi con tr& chut ra ngoài movie clip. Còn n u không, nó s thi hành lnh khi con tr& chut i vào movie clip. + làm iu này, chúng ta s s d'ng bi n over, ph' thuc vào v trí ca con tr& chut mà nó s mang giá tr true ho%c false. +i vi m.i frame, chúng ta s s d'ng hàm hitTest  ki m tra v trí ca con tr& chut. N u v trí con tr& i lp vi over thì s xy ra s thay  i. Chúng ta hãy xem o n code sau: CODE onClipEvent (load) { over = false; } onClipEvent (enterFrame) { // ki m tra xem liu con tr& chut có ang di chuy n qua movie clip không testOver = (this.hitTest(_root._xmouse,_root._ymouse, true)); if (testOver and !over) { _root.information.gotoAndStop("information 1"); over = true; }else if (!testOver and over) { _root.information.gotoAndStop("none"); over = false; } } Rollovers s d'ng frame Nh ã nói  trên, có r#t nhiu cách  làm rollovers. / ây, chúng ta s bàn v mt cách khác. Thay vì s d'ng movie clip cho m.i thông tin c n hi n th, chúng ta s s d'ng timeline chính  lu thông tin. Frame  u tiên s là frame none, và các frame ti p theo s cha các thông tin. Chúng ta hãy xem hình bên di Ví d' trên s d'ng button cho các hotspot, và chúng ta hãy lu ý r"ng các button s xu#t hin trong t#t c các frame, nhng thông tin c n hi n th thì ch xu#t hin  mt vài frame. Bây gi công vic vi t code ca chúng ta g n ging nh làm rollovers b"ng button. Nhng chúng ta không c n phi g i hàm gotoAndStop t) movie clip information. CODE on (rollOver) { gotoAndStop("information 1"); } on (rollOut) { gotoAndStop("none"); } Li th ca vic s d'ng cách này là chúng ta có th thay  i nhng thông tin trong các frame r#t d dàng, chúng ta không phi m x4 vào t)ng movie clip. N u b n quen s d'ng nhiu frame thì ây là mt cách tt cho b n Lu ý r"ng c ba cách trên u cho mt k t qu nh nhau, không có s khác bit. / ây, chúng tôi ch mun trình bày cho các b n th#y nhng cách làm khác nhau mà thôi! Luyn tp: Hin th thông tin Nào, bây gi các b n hãy th s d'ng nhng hi u bi t ca mình v cách thay  i con tr& và rollovers  làm mt chng trình xem nào! Chng trình này s hi n th nhng thông tin v các hành tinh. Chúng ta s có 9 hotspot, m.i hotspot là mt hành tinh, m.i hotspot s hi n th mt hp thông tin khi a tr& chut ngang qua. M.i hotspot là mt button, vì th ngi dùng có th click vào  di chuy n  n mt frame khác  xem nhng thông tin v hành tinh ó. - + u tiên, hãy t o mt movie mi trong Flash. Movie này s có 10 frame, t) frame 2 cho  n frame 10 s cha thông tin ca các hành tinh. +%t tên frame 1 là none và  trng vùng hi n th thông tin. +%t 10 button  bên trái, m.i cái cho mt hành tinh. Mt movie clip summary s xu#t hin  hi n th thông tin vn tt v các hành tinh khi a tr& chut ngang qua. Movie clip này cng s cha 10 frame: 1 frame trng và 9 frame cha thông tin ca 9 hành tinh. Chúng ta cng phi chú ý vic s d'ng layer cng r#t quan tr ng, trong ví d' này thì chúng ta s s d'ng 3 layer và movie clip summary s c %t  layer trên cùng - +%t lnh stop(); vào frame  u tiên, và cng %t trong frame  u tiên ca movie clip summary - Nào, hãy vi t code nhé! CODE on (rollOver) { summary.gotoAndStop("mercury"); } on (rollOut) { summary.gotoAndStop("none"); } - Nhng button  trên s a ngi dùng  n nhng frame khác nhau  xem thông tin v hành tinh, chúng ta l i vi t code cho các button CODE on (release) { gotoAndStop("mercury"); } Lu ý r"ng chúng ta có hai frame tên mercury, mt frame  timeline chính và mt  trong movie clip summary - T o mt movie clip  thay th con tr& chut, và vi t code nh sau CODE onClipEvent(load) { Mouse.hide(); this.swapDepths(99999); } onClipEvent(enterFrame) { this._x = _root._xmouse; this._y = _root._ymouse; } onClipEvent(unload) { Mouse.show(); } - Ti p theo chúng ta s làm cho con tr& chut thay  i khi a con tr& ngang qua các button. Hãy thêm o n code sau vào ph n code ca button CODE on (rollOver) { summary.gotoAndStop("mercury"); cursor.gotoAndStop("over button"); } on (rollOut) { summary.gotoAndStop("none"); cursor.gotoAndStop("normal"); } on (release) { gotoAndStop("mercury"); } Bây gi thì movie ca b n ã xong. B n hãy ch y th xem sao Gi th 14: Thành ph'n Scroll, Scrolling M%c dù scrollbar r#t quen thuc trong các ng d'ng Mac, Windows, các trình duyt web nhng m#y ai hi u c nó ho t ng nh th nào. Lý do n gin là do ây là mt trong nhng thành ph n trc quan, r#t d xây dng mà không c n phi vi t code nhiu. M i ngi s d'ng nó nhng không suy ngh( nhiu v nó. K t qu là khi nhng nhà phát tri n s d'ng Flash  t o ra nhng scrollbar ca riêng h thì g%p khó khn. Vì vy, chúng ta hãy cùng nhau tìm hi u 4 thành ph n c bn ca mt scrollbar và hãy tìm hi u scrollbar là gì. Hình di ây cho chúng ta th#y nhng thành ph n c bn ca mt scrollbar là: mi tên lên, mi tên xung, thanh trt và khay trt. Thanh tr!t (Slider) Thanh trt ph'c v' nhiu m'c ích. + u tiên, thanh trt s trt trên khay trt  cho chúng ta th#y v trí ca khi vn bn chúng ta ang xem. N u thanh trt  trên cùng thì chúng ta ang xem dòng  u tiên ca vn bn, còn n u thanh trt  cui thì chúng ta ang xem dòng cui cùng. Nh ã nói, thanh trt s c kp ch%t và trt trên khay trt. Khi chúng ta kéo thanh trt trt trên khay trt thì khi vn bn s c cp nht v trí thích hp. Mi ây, scrollbar có thêm mt %c tính mi. Thay vì kích thc ca thanh trt s b gn s2n vi mt giá tr thì kích thc này s c thay  i tùy vào  dài vn bn. Vì th , v trí  u tiên ca thanh trt s ng vi dòng  u tiên ca vn bn và v trí cui cùng s ng vi dòng cui cùng. Ví d' mt textbox có scrollbar hi n th c 10 dòng ca mt vn bn có 100 dòng thì chiu cao thanh trt s là 10% so vi khay trt. Nhng chúng ta s không bàn v#n  này  ây. Khay tr!t (Bar) Khay trt có chc nng chính là cha thanh trt và cho thanh trt trt trên nó. Chiu dài ca khay trt ph' thuc vào  dài ca vn bn. Khay trt còn có mt chc nng na là khi ta click vào khay trt thì khi vn bn s di chuy n mt trang. Khi click vào ph n trên ca thanh trt thì khi vn bn s di chuy n  n trang trc, còn n u click vào ph n di thanh trt thì khi vn bn s di chuy n  n trang sau. Các m(i tên Mi tên lên và xung là hai thành ph n n gin nh#t ca scrollbar, nó ch có chc nng cho ngi dùng di chuy n khi vn bn t)ng dòng mt. Nhng thuc tính chung Scrollbar có mt s thuc tính chung mà chúng ta c n phi xem xét. + u tiên, các thành ph n ca scrollbar ch ho t ng khi chúng ta click vào, và s ti p t'c ho t ng cho  n khi chúng ta th nút chut ra. L#y ví d': n u ngi dùng click vào mi tên xung  di chuy n mt khi vn bn thì khi vn bn s di chuy n t)ng dòng mt cho  n khi chúng ta th nút chut ra. Mt v#n  na là v trí thanh trt phi c cp nht liên t'c khi nhng thành ph n khác c kích ho t. Scroll mt v n b n + u tiên, chúng ta m khung Properties ra  %t tên l i cho text field. Nh trong hình di ây, chúng ta s %t tên cho text field là scrollText Sau ó, chúng ta có th vi t code cho nó l#y d liu vào. Nhng trc h t c n %t cho text field ca chúng ta mt scroll. Khi ã ch n vào text field r*i thì b n có th thay  i kích thc ca text field b"ng cách kéo hình ô vuông  góc di bên phi ca text field. Còn n u không %t kích thc thì text field s v)a   hi u th ni dung bên trong. Thay vì iu chnh b"ng hình vuông màu trng thì lúc ó, chiu cao ca text field s c t iu chnh theo kích thc ni dung bên trong, có ngh(a là n u vn bn bên trong text field ó có nhiu dòng thì chúng ta không th làm cho text field ch hin mt vài dòng  scroll. Mun là xu#t hin scroll thì chúng ta hãy gi phím Shift và click vào hình vuông trng ó  tr thành hình vuông en, lúc này chúng ta có th iu chnh kích thc text field theo ý mun. Nh vy là chúng ta ã kích ho t scroll cho text field. Còn mt s thuc tính khác lien quan  n scroll nh Thuc tính scroll s cho chúng ta bi t dòng nào trong vn bn s xu#t hin  u tiên. VD nh scroll = 1 thì dòng  u tiên s c hi n th  u tiên, n u scroll = 2 thì dòng th hai s hi n th và lúc này thì dòng 1 s không th#y c. Thuc tính maxscroll cho chúng ta bi t giá tr ln nh#t ca scroll Thuc tính scroll và bottomscroll cho chúng ta bi t chính xác dòng vn bn nào  trên  u và dòng nào  cui + scroll vn bn lên hay xung b n c n phi tng ho%c gim giá tr ca scroll. Th là xong! Luyn tp: Thi t k mt chng trình scroll v n b n n gi n Bài tp này tht ra r#t d. Trong ví d' di ây, chúng ta s xây dng mt chng trình vi mt text field dynamic  cha vn bn và hai button nh hình di ây - Tìm mt o n vn bn nào ó  dán vào text field (tìm o n nào dài dài tí ) - Bây gi hãy t o mt movie mi trong Flash - S d'ng công c' Text Tool  t o mt text field - M ph n Properties ra và %t tên cho text field ca chúng ta là scrollText. +%t thuc tính Mutiline và Show Border Around Text - Dán o n vn bn mà b n ã chu!n b vào text field - T o hai button ging nh hai hình v  trên. Mt button  iu khi n i lên, mt  i xung. - Nhp o n code sau cho button i lên: CODE on (press) { scrollText.scroll--; } - Và nhp o n code này cho button i xung: CODE on (press) { scrollText.scroll++; } - Ok, bây gi b n hãy ch y th movie ca mình xem sao. B n hãy th click vào button  scroll vn bn Gi th 15: Các thành ph'n nhp liu Các b n có th t o c nhiu thành ph n nhp liu b"ng Action Script, chc h0n các b n ã g%p các thành ph n này trong các th HTML. Trong chng này, các b n s h c cách làm checkbox, radiobutton b"ng Action Script. B n cng s h c c cách làm sao  chuy n t) thành ph n này sang thành ph n khác trong form b"ng cách nh#n nút TAB, và làm sao  h n ch ni dung ngi dùng nhp vào Các ni dung trong chng này: - Cách t o checkbox - Cách t o radiobutton - S d'ng TAB  chuy n t) thành ph n này sang thành ph n khác - H n ch ni dung nhp liu To Checkbox Trong Hour 8, các b n ã bi t cách t o mt selectable movie clip. CheckBox cng là mt Selectable movie clip ging vi các checkbox chu!n s d'ng trong các h iu hành Mac và Windows. + t o ra mt Checkbox b n c n 2 button và 1 movie clip. Button  u tiên th hin tr ng thái Off ca Checkbox, có ngh(a là khi checkbox cha c ch n. Mt button th hin tr ng thái On, có ngh(a là cng checkbox ó nhng ã c ch n. Hình di ây là 3 checkbox làm ví d'. Check box  u tiên ang c ch n, cái th 2 cha c ch n, cái th 3 thì ngi dùng ang chu!n b ch n. Các b n có bi t cách nào  cho 3 thành ph n ca checkbox ho t ng chung nh vy c không? R#t n gin, button Off s c a vào mt movie clip riêng %t  frame  u tiên, b#m F6  t o frame k ti p và %t button On vào frame th 2. +%t tên frame 1 là Off, frame 2 là On. Ti p theo, cho mt câu lnh stop(); vào frame 1  dùng movie clip l i ngay ó. Trong m.i button ó s có mt o n code g i mt hàm  ngoài time line ca movie clip có cha 2 button  x lý khi m.i nút c nh#n. CODE on (release) { pressButton(); } Ngoài ra, trong frame Off (frame 1) s còn cha mt o n code na ngoài câu lnh stop(); CODE state = false; function pressButton() { state = !state; if (state) { gotoAndStop("on"); } else { gotoAndStop("off"); } } Bi n state  ki m tra tr ng thái ca checkbox. Khi click mt button thì hàm pressButton s c g i. Trong ó, s  i l i tr ng thái ca state, có ngh(a là lúc  u là false (cha ch n), sau khi click s thành true (ã ch n). Ti p theo, hàm pressButton s ki m tra giá tr ca bi n state  a ngi dùng  n frame thích hp. N u state = true thì s nhy  n frame On, còn n u state = false thì s nhy  n frame Off. To RadioButton Vic t o mt Radiobutton s phc t p hn mt chút so vi checkbox. Các Radiobutton s c gom vào mt nhóm có quan h vi nhau. Checkbox c s d'ng trong nhng trng hp ch n la không có tính lo i tr), có ngh(a là ngi dùng có th ch n nhiu checkbox. Ngc l i, Radiobutton c s d'ng trong nhng trng hp có tính lo i tr), có ngh(a là trong mt nhóm Radiobutton thì ch có mt checkbox c ch n t i mt thi i m, không có chuyn 2 Radiobutton u c ch n. N u b n ã ch n mt RadioButton, khi b n ch n qua mt Radiobutton khác thì ch n la c s t ng m#t i, chuy n qua Radiobutton mi. Hình di ây là mt nhóm Radiobutton RadioButton  u tiên ang c ch n, nhng ngi dùng ang chu!n b ch n RadioButton th 2, n u ngi dùng ch n RadioButton 2 ho%c b#t k, cái nào khác thì RadioButton  u tiên s t ng m#t ch n la. Mt RadioButton n gin cng tng t nh mt Checkbox, mt movie clip có 2 frame  cha 2 button bi u hin 2 tr ng thái ca RadioButton. Frame  u tiên cha mt vòng tròn r.ng, frame th 2 ch mt vòng tròn vi d#u ch#m tròn  gia. +i m khác nhau gia Checkbox và RadioButton chính là code ca chúng. Code ca RadioButton s phc t p hn code ca CheckBox. Ph n  u code ca Radiobutton s c vi t  frame  u tiên. Nó c vi t  ngoài, không n"m trong hàm nào c, iu này có ngh(a là o n code này s ch y khi load movie clip. CODE stop(); // ki m tra có phi là RadioButton  u tiên trong nhóm hay không if (_parent.radioButtons == undefined) { // t o mt array RadioButton _parent.radioButtons = new Array(); // RadioButton  u tiên m%c nh c ch n gotoAndStop("on"); state = true; } else { // các RadioButton khác không c ch n state = false; } // chèn array RadioButton ra ngoài level ngoài _parent.radioButtons.push(this); Khi ngi dùng click vào button, thì hàm turnOn s c g i. +iu  u tiên là hàm turnOn s duyt qu

Các file đính kèm theo tài liệu này:

  • pdfgiao_trinh_24_gio_hoc_flash_phan_2.pdf
Tài liệu liên quan