Bài giảng Hướng dẫn lập trình AS

Giờ thứ 01: Làm quen với AS, Your First Look at AS

AS là một ngôn ngữ lập trình được xây dựng trong Flash. AS giống như các ngôn ngữ

khác như Javascript, C++ v.v. nhưng bạn không cần biết các ngôn ngữ khác để học

AS (nếu có thì càng dễ hơn).

Bắt đâu học AS, thì chúng ta coi thử AS là gì, làm được những gì và có quan hẹ gì với

các chức năng khác của Flash. Trong bài này, bạn sẽ tìm hiểu coi AS ra đời như thế

nào, xem cách viết AS làm sao, tìm hiểu AS làm được những gì và sau sau cùng là

xác định được nơi lưu trữ AS ở trong Flash.

Để đi sát nghĩa và tiện cho sau này, mình sẽ không dịch một số từ ngữ ra tiếng việt

như script, movieclip v.v.

Script là gì?

AS là ngôn ngữ lập trình, với các lệnh sai khiến Flash movie làm việc theo đúng

những gì mình viết (chỉ có mình viết sai chứ computer không làm sai ). Phần nhiều

thì AS chỉ làm việc trong môi trường của Flash, tuy nhiên AS cũng có thể gửi lệnh

cho browser, hệ điều hành v.v.

Script có thể ngắn gọn vài chữ hay cũng có thể dài cả trăm trang. Script có thể được

việt gộp lại một ch hay cũng có thể viết rãi rác khắp nơi trong movie.

pdf150 trang | Chia sẻ: phuongt97 | Lượt xem: 330 | Lượt tải: 0download
Bạn đang xem trước 20 trang nội dung tài liệu Bài giảng Hướng dẫn lập trình AS, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
tham s ID trong th4 OBJECT và NAME trong th4 EMBED, c hai s mang giá tr là slideshow - Nh %t swLiveConnect=true trong th4 EMBED - T o 2 button trong file HTML b"ng o n code sau: CODE <INPUT NAME="prev" TYPE=Button VALUE="Previous" onClick="prevFrame();"> - M.i button s g i mt hàm. C hai hàm s s d'ng TcurrentFame(“/”)bi t ang  frame th m#y, r*i s d'ng gotoFrame  di chuy n ti ho%c lui. CODE function nextFrame() { var frameNum = window.document.slideshow.TCurrentFrame("/"); window.document.slideshow.GotoFrame(frameNum+1); } function prevFrame() { var frameNum = window.document.slideshow.TCurrentFrame("/"); window.document.slideshow.GotoFrame(frameNum-1); } Công vic ti p theo b n còn nh không: CH6Y TH7 i nào Gi th 18: G i thông tin cho máy ch, Sending Information to the Server Cho  n tn bây gi, nhng movie chúng ta làm c h u h t là ch ch y mt mình (stand alone). Có ngh(a là nó ch ch y  mt máy khách (client-side) không có s liên l c vi máy ch (Server). Nên nh r"ng Flash cng có th gi tr thông tin cho Server ging nh form ca HTML. Vy thì trong gi th 18 này, chúng ta s tìm hi u v v#n  này. Trong gi th 18, chúng ta s h c: - Tìm hi u v i tng LoadVars - T o mt chng trình server-side n gin - S d'ng Flash  gi d liu v cho Server i t!ng LoadVars R#t may mn là chúng ta ã có Flash MX, bi vì trong nhng phiên bn Flash trc ây, mun làm iu này thì chúng ta phi làm nhng movie clip r#t khó khn. +i vi Flash MX, chúng ta có th s d'ng i tng LoadVars. +i tng LoadVars bao g*m mt tp hp các câu lnh và nhng bi n %c bit  gi d liu cho Server ging nh post form trong HTML. Chúng ta có th t o i tng ging nh t o nhng i tng khác. Hãy xem gi th 12 nhé! Ly d liu Di ây là mt ví d'. Thay vì s d'ng new Object() b"ng new LoadVars. Sau ó thì i tng LoadVars mi s c t o. CODE myVars = new LoadVars(); Vi i tng LoadVars, chúng ta có th làm c 2 vic, ó là gi và l#y d liu. + l#y d liu, chúng ta s d'ng câu lnh load. Cái chúng ta c n  ây là mt ng d$n  n ni cha d liu: CODE myVars.load("myURL.txt"); Ví d' trên ho t ng ging nh câu lnh LoadVariables trong gi th 10. Tuy nhiên, câu lnh LoadVariables ch l#y và thay th d liu trong cùng mt level vi câu lnh này mà thôi. Hãy tng tng, chúng ta có mt file cha d liu nh sau: CODE name=George&ID=47 Gi d liu Vi i tng LoadVars, chúng ta cng có th gi d liu i lên Server. Trc h t, chúng ta a d liu vào i tng LoadVars, r*i sau ó s d'ng câu lnh send  gi d liu i. CODE myVars = new LoadVars(); myVars.name = "George"; myVars.ID = 47; myVars.send("serverprogram.cgi", "_self"); +o n code trên s t o mt i tng LoadVars mi tên là myVars, r*i a hai thuc tính vào i tng myVars. Sau ó, gi d liu i lên Server, chính xác là  n chng trình CGI tên là echo.cgi. Câu lnh send cng ho t ng tng t nh trong form ca HTML. _self là Target, chúng ta có th thay th b"ng các giá tr khác nh ã c bi t. Nhng còn mt câu lnh na là sendAndLoad. Câu lnh này c ghép câu lnh send và load. Có ngh(a là i tng LoadVars s gi d liu lên Server, sau ó s l#y giá tr tr v. CODE mySendVars = new LoadVars(); myLoadVars = new LoadVars(); mySendVars.name = "George"; mySendVars.ID = 47; mySendVars.sendAndLoad("serverprogram.cgi", myLoadVars); Trng thái ly d liu Hãy nh là câu lnh send và load s không l#y d liu ngay tc thì. Có th phi i trong mt thi gian ngn ho%c dài. Vì vy, chúng ta s có nhu c u theo dõi tr ng thái l#y d liu. Chúng ta không th s d'ng d liu ngay lp tc sau câu lnh load ho%c sendAndLoad, mà c n phi ki m tra xem ã l#y d liu xong cha. Cách n gin nh#t là dùng mt movie clip l%p i l%p l i  ki m tra. Cng có th s d'ng getBytesLoaded và getBytesTotal vi nhng d liu ln. Di ây là ví d'  ki m tra vic l#y d liu: CODE myLoadVars.onLoad = function(success) { if (success) { gotoAndStop("load done"); } else { gotoAndStop("load problem"); } } Nh trong o n code trên thì i s success s nhn mt trong hai giá tr true ho%c false  cho bi t vic nhn d liu ã xong hay cha Gi th 19: Dùng XML vi Flash Càng ngày XML càng tr nên thông d'ng trong các ng d'ng tin h c, và ngay c trong Flash, vy trong gi này mình s h c các iu sau:  XML cn bn  +i tng XML trong Flash  Phân tích và x lý XML theo phung pháo  quy (recursive) XML C n b n XML ch n gin là mt vn bn  cha d liu. XML tng t nh HTML, cng dùng các th4. Tuy nhiên, XML khác  HTML là các th4 HTML ã c #n nh trc cho các chc nng khác nhau, còn XML thì không. Vi XML, b n có th t t o cho mình các th4 theo ý b n  phù hp cho m'c ích riêng ca b n. Có th t o mt XML file vi 1 trình biên tp vn bn (nh Notepad, Textpad ...) n gin hay là các software chuyên  vi t v XML (XMLSpy, Epic ...) Vi Flash MX, b n có th d dàng truy cp c d liu tr  trong XML, và i tng XML ca Flash s t ng phân tích vn bn XML này. Trong VNFX có r#t nhiu bài vi t v XML (ví d' nh bài gii thiu XML ca Flash- Lee) các b n có th tham kho thêm i t!ng XML +i tng XML trong Flash g*m có nhiu hàm v" %c tính dùng  giúp b n l#y và phân tích d kin trong XML file mt cách d dàng. Bc  u tiên khi dùng i tng XML là t o mt phiên bn XML trc: CODE myXML = new XML() Phân tích và s lý v n b n thành XML Sau khi t o phiên bn XML trên, hin gi phiên bn này v$n cha có gì c, tuy nhiên b n có th nhanh chóng t o ra mt tài liu XML b"ng cách dùng lnh parseXML. Lnh này s nhp mt chu i vn bn, và phân tích và x lý nó thành 1 tài liu XML. CODE myXML = new XML(); myXML.parseXML("Gary47"); Hay b n có th vi t trc ti p nh sau CODE myXML = new XML("Gary47"); N u mà chu i c nhp vào không th t o thành XML hoàn chnh thì b n có th dùng %c tính status  ki m tra. CODE myXML = new XML("Gary47"); trace(myXML.status); Output window s cho ra -9 khi ch y o n code trên. -9 có ngh(a là thi u th4 óng (end tag), vì mình thi u th4 . N u output window cho ra -10 thì b n thi u th4 m (start tag), và 0 có ngh(a là m i vic hoàn chnh Ly d liu t i t!ng XML Có nhiu hàm  làm vic này. Ví d', b n có th dùng firstChild  l#y nút (node)  u tiên ca i tng XML: CODE myXML = new XML("Gary47"); trace(myXML.firstChild); Output window s cho ra Gary47. Vì ây chính là nút  u tiên ca i tng XML. N u chúng ta i xâu vào 1 l n na vi firstChild CODE myXML = new XML("Gary47"); trace(myXML.firstChild.firstChild); K, này output window s cho ra Gary, vì ph n t name là nút  u tiên ca user Ngoài cách trên ra, còn 1 cách na là dùng childNodes, là ma trn ca ca các nút. Cùng mt ví d' trên nhng có th dùng nh sau vi chidlNodes CODE myXML = new XML("Gary47"); trace(myXML.childNodes[0].childNodes[0]); Di nút name, chúng ta còn mt nút na di nút name, và có th dùng cách trên  l#y nút ó: CODE myXML = new XML("Gary47"); trace(myXML.childNodes[0].childNodes[0].childNodes[0]); và output window s cho ra ch Gary. +ây là nút vn bn (text node) ca nút name. Nhìn thì tng ây là tn cùng r*i, không th xung sâu hn c na, vì ây là nút cui cùng, nhng n u b n mun l#y giá tr ca nó nh là chu i vn bn thì b n có th i thêm 1 bc na nh sau: CODE myXML = new XML("Gary47"); trace(myXML.childNodes[0].childNodes[0].childNodes[0].nodeValue); N u b n mun l#y cái ID  trong nút th 2 thì thay  i nh sau: CODE myXML = new XML("Gary47"); trace(myXML.childNodes[0].childNodes[1].childNodes[0].nodeValue); *  gii thích thêm v on code trên, n u bn ch dùng childNodes thì k t qu s! là 1  i t ng, còn n u bn dùng nodeValue thì s ra chu"i. Bn có th th# b$ng on code mình vi t d i ây CODE myXML = new XML("Gary47"); myVar1 = myXML.childNodes[0].childNodes[0].childNodes[0]; myVar2 = myXML.childNodes[0].childNodes[0].childNodes[0].nodeValue; trace ("myVar1: " +typeof(myVar1)); trace ("myVar2: " +typeof(myVar2)); và output window s cho b n th#y rõ, cái nào law i tng và cái nào là chu.i. T to XML t "tay tr%ng" Không bi t dch câu này sao cho úng ngh(a vi "Creating XML from Scratch". ành dch nh trên vy. Các cách t o XML  trên u t) 1 chu.i vn bn, nhng n u nh b n không có 1 chu.i vn bn nào trc thì sao? B n có th dùng createElement  t o ra các nút mi và dùng createTextNode  t o ra các text node. Tuy nhiên 2 lnh trên ch t o ra nút ch không thêm vào trong XML, vy b n phi thêm nó vào b"ng lnh appendChild. + minh ho , chúng ta s t o mt XML tng t nh trên nhng vi các lnh v)a  cp. CODE myXML = new XML(); newElement = myXML.createElement("user"); myXML.appendChild(newElement); newElement = myXML.createElement("name"); myXML.childNodes[0].appendChild(newElement); newText = myXML.createTextNode("Gary"); myXML.childNodes[0].childNodes[0].appendChild(newText); newElement = myXML.createElement("ID"); myXML.childNodes[0].appendChild(newElement); newText = myXML.createTextNode("47"); myXML.childNodes[0].childNodes[1].appendChild(newText); N u b n mun thay  i giá tr ca text node, thì b n ch c n dùng nodeValue CODE myXML.childNodes[0].childNodes[1].childNodes[0].nodeValue = 53; Thuc tính Các thành ph n ca XML có th có thuc tính (attribute). Trong ây mình gp rc r i v cách dch attribute và property, c 2 ch này ti ng vit  u dch là thuc tính, c tính ... mà ti ng anh thì khác tht rc r i vy mình xin  c dùng ti ng Anh nhe. Attribute g*m có t) khoá và giá tr ca t) khoá ó, và dùng  nh rõ mt thành ph n hn. Ví d', o n XML di dây vi attribute type làm rõ ngh(a ca thành ph n name hn, ("alias" là bí danh) CODE Gary 47 N u b n mun a o n code trên vào trong XML object thì phi  i d#u " (ngo%c kép) thành d#u ' (ngo%c n) CODE trace(myXML.childNodes[0].childNodes[0].attributes.type); Còn mt cách na cng cho ra k t qu nh trên là dùng [] CODE trace(myXML.childNodes[0].childNodes[0].attributes["type"]); Và b n có th thay  i giá tr ca attribute, hay thêm attribute mi nh sau: CODE myXML.childNodes[0].childNodes[0].attributes["type"] = "real"; Vi câu trên, n u attribute type cha có thì nó s c t o (trong sách các on code trên tác gi vi t ln gi a type và alias, n u bn so sánh gi a sách và bài này thì s thy s% khác bit, và có th các source file cng s không chính xác, vy các bn cn kim tra li) Khác vi node, attribute không th truy cp b"ng ma trn (array) nên b n không th dùng các lnh nh length hay dùng [] vi index number. Nhng b n có th dùng vòng l%p for ... in  truy cp t)ng attribute ca node. CODE myXML = new XML("Gary 47"); for(attr in myXML.childNodes[0].childNodes[0].attributes) { trace(attr+": "+myXML.childNodes[0].childNodes[0].attributes[attr]); } output window s cho ra: alias và verified Thêm vài AS v XML B n cng c n bi t thêm mt s iu v i tng XML. Nh#t là i m sau, b#t c mt ph n nào ca i tng XML cng có th là mt i tng XML riêng bit. Ví d' b n có th l#y cái node  u tiên ca i tng XML và quy thành mt bi n CODE myXML = new XML("Gary47"); thisUser = myXML.childNodes[0]; thisUserName = thisUser.childNodes[0]; thisUserNameText = thisUserName.childNodes[0].nodeValue; thisUserID = thisUser.childNodes[1]; thisUserIDText = thisUserID.childNodes[0].nodeValue; B n có th bi t c s node  trong  trong mt node khác b0ng thuc tính length ca childNodes. Ví d', user node có 2 node  trong, vy b n có th bi t c b"ng vi o n code sau: CODE myXML = new XML("Gary47"); trace(myXML.childNodes[0].childNodes.length); Ngoài vic có t h tìm c giá tr ca mt node vn bn b"ng nodeValue, b n có th bí t c tên ca thành ph n (hay th4) vi nodeName. Ví d' b n có th l#y c tên ca thành ph n (th4)  u tiên ca user là name nh sau: CODE myXML = new XML("Gary47"); trace(myXML.childNodes[0].childNodes[0].nodeName); B n có th bi t c mt node là thành ph n ca XML hay là mt node vn bn (text node) b"ng vi thuc tính nodeType. N u nodeType là 1 thì có là 1 thành ph n ca XML và có th có nhiu thành ph n  trong node ó, n u là 3 thì node ó chính là node vn bn. Gi th 20 : Printing Không phc t p nh trình duyt ho%c Server Cominucation, in #n là mt cách mà FLash truyn d liu ra ngoài. Kh nng in #n ca FLash là r#t hu ích vì nó cho phép chúng ta xây dng nhng vn bn mà ngi s d'ng có th in ra ni dung t) file flash ca b n.+ây thng là la ch n tt hn da vào hàm in #n ca trình duyt . Trong gi th 20 này chúng ta s : - H c cách thi t lp movie ca b n cho vic in #n - H c cách s d'ng các lnh in - T o ra mt bi u m$u có th in c I> Thi t lp cho movie có kh n ng in: 1-B n c n làm mt vài vic vi movie trc khi có th s d'ng c các lnh in ca Action Script. Tht không may,nhng lnh in này không c linh ho t lm. N u s d'ng chúng mà không có s chu!n b , Flash s in ra toàn b ni dung ca movie, t)ng frame mt. Và ó thng là iu mà b n không mun. Có khi b n ch mun in duy nh#t frame hin t i, ho%c mt frame b#t k, trong mt movie riêng, ho%c mt o n g*m nhiu frame. Nhng hi m khi b n mun in h t toàn b. 2 - +%t tên cho frame B n s ch nh nhng frame c in b"ng ký hiu "#p" . N u ký hiu ó không c %t lên frame nào thì Flash s in ra toàn b movie ca b n. Ngc l i, n u b n %t t) hai ký hiu tr lên trong movie ca b n thì flash s in ra t#t c nhng frame ó. Hình 1 cho ta th#y timeline vi hai frame ã c %t ký hiu in. Chú ý r"ng, t#t c nhng frame có cha ký hiu in này s c %t  mt layer riêng. Theo cách ó, b n có th %t c nhiu ký hiu trên nhiu frame. Và nó cng thun tin hn khi b n không mun s d'ng ký hiu "#p" nh mt label tht cho keyframe. *Chú ý: Khi b n %t t) hai ký hiu in tr lên, khi test movie, Flash s xu#t hin li cnh báo : "WARNING : Duplicate layer.." +ó là iu ri ro có th xy ra, nhng cng s không nh hng  n movie ca b n tr) phi b n s d'ng label "#p" trong câu lnh "gotoAndStop" ho%c nhng lnh tng t.... 3- Lên k ho ch in B n c n phi suy ngh( và lên k ho ch cho movie ca b n khi mun movie có kh nng in. Vì không th ch in mt frame hin t i nên b n c n t o ra nhng frame có kh nng in. Chú ý r"ng m i th t*n t i trên movie ca b n s c in ra. Nó bao g*m c nút Print (  khi nh#n vào s thc hin lnh in), n u trong movie có t*n t i. Vì vy chúng ta c n phi có mt frame cha nút Print, và mt frame khác tng t nhng không có nút Print cng nh các y u t khôgn c n thi t khác. Frame th hai này s c d%t nhãn là "#p" B n có th b trí b"ng cách s d'ng timeline chính. Ví d' b n có mt menu và mt nút Prin trên hai layer riêng bit, mà c n có trong ni dung ca bi u m$u in. Nhng layer này n u b n không mun in ra thì không c n kéo chng sang frame có nhãn "#p" hai hình sau th hin iu này. Hình th nh#t,là frame mà ngi dùng s th#y xu#t hin trên trang web. NÓ cha ni dung. nút Print và menu Ngc l i, trong hình hai là ni dung mà ngi duyt web không th#y c, ít nh#t là trên màn hình. Frame này c %t tên là "#p" b n có th th#y trên timeline.Layer Buttons không s d'ng keyframe ging nh  frame 1. Ngoài vic ch%n nút Print không oc in ra, có th thêm vào frame này mt s thông tin s c in ra nh a ch, ... Bây gi b n ã bi t làm th nào  chu!n b cho mt bi u m$u in, bây gi cùng h c AS c n thi t II> Các câu lnh Có hai lnh in chính c s d'ng. Chúng có mt khác bit r#t nh&, nhng v cn bn là ho t ng ging nhau. 1- Print Lnh th nh#t là QUOTE Print Lnh này bao g*m hai tham s. Tham s th nh#t là i tng  in. Thng là timeline chính, ho%c "_root". B n cng có th s d'ng "this". Tuy nhiên, n u b n không mun in nhng frame trong movie, b n có th s d'ng tham chi u ti movie ó. Tham s th hai là mt trong ba tu, ch n sau : QUOTE bframe QUOTE bmovie QUOTE bmax Các tham s này giúp FLash có th co dãn vn bn in theo ý ca ngi s d'ng. Flash có th co dãn vn bn in ti kích thc ca trang gi#y mà không bóp méo vn bn. Ví d' n u frame c in có kích thc 550x400, thì chiu ngang s c phóng to ti kích thc 550px chiu d c có th s c scale theo t8 l. Khi s d'ng tu, ch n "bframe", t)ng frame s t scale  l#p  y kích thc ca trang ó. N u frame th nh#t có ni dung vi kích thc là 550x400 nhng frame th hai ch cha ni dung có kích thc 275x200, khi ó frame th hai s t ng scale g#p ôi kích thc ban  u. khi s d'ng tu, ch n "bmax", Flash s ki m tra toàn b các frame c in  xác nh xem frame nào có kích thc ln nh#t. Các frame còn l i s scale da trên kích thc ca frame ln nh#t, tính theo t8 l. +iu này ta nên các frame có kích thc t8 l vi nhau Ví d', frame ln nh#t có kích thc 550x400, và nó l#p  y trang in. Frame khác ch có kích thc 275x200, nó ch chi m mt na trang in. Tu, ch n cui cùng là "bmovie", trng hp này b n c n phi làm thêmm mt vic nh& na, ó là t o ra frame mi có cha mt khung. Khung này s xác nh kích thc ln nh#t c in ra i vi vn bn (b"ng kích thoc ca khung). B n phi %t tên frame này vi ký hiu "#b". Và flash s s d'ng kích thc ca khung  scale toàn b các frame còn l i. N u có mt ph n vn bn này n"mg ngoài khung in chúng s không c in ra. Sau ây là ví d' v lnh "Print" : QUOTE on(release) { print(this,"bframe"); } Nh b n ã th#y, tu, ch n c coi nh mt chu.i và c %t trong d#u "" 2-PrintAsBitmap Câu lnh này làm vic tng t nh lnh Print vi hai tham s tng t. +iu khác bit là lnh Print s gi các i tng * ho và font ch ti máy in. Sau ó, máy in s xây dng l i các vector và ni dung  in ra. Ngc l i, PrintAsBitmap s chuy n toàn b ni dung thành mt nh bitmap ln và gi ti máy in. +i m thun li nh#t ca PrintAsBimap là  trong sut ca vn bn cng c in ra. N u b n có mt i tng * ho bán trong sut, chc có u i4m chn b n s c n  n chc nng in này, *ng thi nó cng ho t ng tt vi nhiu lo i máy in hn. Lnh in chính là vn bn c in ra có tính th!m m5 cao, ng cong smooth hn và ch rõ ràng hn khi c in ra. Nó cng nhanh hn khi in qua m ng. Nguyên tác chung nh#t là s d'ng lnh PrintAsBitmap khi b n tht s chc chn k t qu s ging nh ni dung hi n th trên màn hình. S dung Print khi vn bn không c n  chính xác cao ho%c khi b n xây dng movie  iu khi n môi trng nh m ng ni b. Chú ý: N u b n se d'ng movie qua internet, lnh in ch làm vic khi t#t c các frame trong movie c load xung. Thao tác : To biu mu in Mt iu mà ngi dùng ghét nh#t trên mt website là mt bi u m$u mà chúng ta phi in ra, in vào, r*i gi i . Chúng ta ang s d'ng máy tính, t nhiên l i phi i ki m cái bút trên bàn  vi t ? Vì vy t i sao chúng ta không t o ra biu m$u cho phép in thông tin vào, sau ó c in ra vi  y  ni dung ã c nhp vào. Chúng ta s làm ví d' n gin này, và s th#y chúng thun tin hn r#t nhiu so vi mt biêt m$u html yêu c u ngi s d'ng in ra toàn b ni dung ca site. B n hoàn toàn có th i khi n nhng gì s c in ra, vì vy nhng th linh tinh trên trang web có th c b& qua và nhng y u t mi nh email address có th c thêm vào. 1- T o mt movie mi 2- T o ra các trng nhp d liu (ví d' tên, tu i, a ch, gii tính, email...) (xem hình) sau ó %t tên layer này là CONTENT 3-+%t tiêu  cho trng lên phía trên ô nhp liu 4-T o thanh tiêu  cho Form. Chú ý,hai lo i tiêu  này s c %t  hai layer riêng bit . 5-T o nút Print và %t trong layer tên là Buttons 6-CHèn o n mã sau cho button : QUOTE on (release){ print (this, "bmax"); } 7- Thêm Frame th hai cho movie, kéo Title Bar và Content sang frame 2 T o blank keyframe cho layer Buttons và Titles, vì chúng s có ni dung khác trong frame th hai 8- Trong frame th hai ca layer Title, %t mt tiêu  khác. Ví d', n u frame th nh#t là "Fill out that application" thì  frame th hai ch c n là Appilcation 9- Sau ó, bi u m$u ã s2n sàng  in vào. Tiêu  c s bi n m#t, b n có th nhìn th#y tiêu  mi trong hình.. 10- Thêm mt layer mi tên là Signature. +%t mt keyframe  frame th hai ca layer này. Thêm ng ngn cách và a ch trong frame này. N u làm úng thì frame 1 ca layer này s không có gì, ni dung ch t*n t i  frame 2 11- Thêm layers tên Frame Labels . +%t trong ó hai keyframe. Keyframe th 2, chúng ta %t ký hiu "#p" . Keyframe th nh#t chèn code QUOTE stop(); Test movie ca b n. B n hãy in vào bi u m$u ó, và #n nút Print. Frame th hai s c in ra vi tiêu  "Application", ch ký, và a ch... Tóm tt + in c các frame trong mt movie b n c n phi %t label cho chúng là "#p". B n có th %t tên cho mt ho%c nhiu frame trong cùng mt movie. M i th trong frame "#p" s c in ra. B n có th trang trí tu, thích i vi bi u m$u c in ra, tr) nhng y u t nh menu. B n có th s d'ng lnh "Print"  in các frame s d'ng vector shape  gi ti máy in. Tuy nhiên, n u c n in nhng i tng * ho bán trong sut ho%c chc chn r"ng t#t c nhng bi u m$u in ra ging nhau, b n có th s d'ng lnh PrintAsBitmap Gi th 21: S dng component, Using component ActionScript cho các Component i kèm Flash Có 7 component gn lin kèm theo chng trình Flash: CheckBox, ComboBox, ListBox, PushButton, RadioButton, ScrollBar, ScrollPane. + thêm mt component vào movie ca b n, b n có th click úp lên component trong bng Component, ho%c nh#n và kéo mt component vào stage. PushButton Click và kéo component PushButton vào stage s t o mt instance (th hin) mi ca component PushButton trên màn stage. Khi ó b n ã thêm mt s ph n t Library vào trong movie. R#t may là các ph n t này c c#t trong các folder r#t g n trong Library (th vin), vì th chúng cng không nh hng m#y  n công vic ca b n. Component PushButton trên stage trông r#t n gin: ch là mt khung vi t) "PushButton"  gia. B n nh bt tính nng Live Preview (xem trc) ca Flash b"ng cách ch n Control--- >Enable Live Preview. Sau khi PushButton ã  trên stage, b n có th click ch n nó và m bng Properties   i tên. Hai thông s có th thi t %t cho component PushButton là Label (nhãn): ta  i thành Press Me ! và Click Handler (qun lý s kin nh#n nút): ây là tên ca hàm c g i khi nút c click. Hàm này phi n"m trong cùng Timeline vi nút; vì th n u nút %t  level gc (root level), hàm phi  trên Timeline chính. Ta thi t %t Click Handler thành buttonPressed (nút ã c nh#n). Ngoài ra b n %t cho component mt instance name (tên minh h a) là testButton (ki m tra nút). Bây gi t#t c công vic phi làm là vi t hàm buttonPressed. Di ây là mt ví d' n gin. Hàm này ch gi mt vài dòng text ra ca s Output: ActionScript function buttonPressed(buttonInstance) { if (buttonInstance == testButton) { trace("Test Button Pushed."); } else { trace(buttonInstance._name); } } M.i hàm qun lý nút s chuy n mt tham s: mt tham chi u  n nút g i hàm. Vì th b n có th ki m tra instance này có phi có tên là testButton hay không. Hàm ví d'  trên s chuy n thông báo "Test Button Pushed" n u nút c nh#n là testButton, và in ra tên minh h a ca nút n u nút b nh#n không phi là testButton. B n có th xem ví d' m$u này trong movie 21pushbutton.fla. CheckBoxes Component CheckBox (hp ki m) tng t nh cái mà chúng ta ã t o  gi 15 (anh em dch sau nhé). + t o mt CheckBox component, click úp vào nó trong bng Components, ho%c click và kéo nó lên trên stage. + t o mt instance th hai, m folder Flash UI Components trong th vin Library và kéo component CheckBox lên trên stage. Trong ví d' movie 21checkboxes.fla, tôi ã t o 3 hp ki m (CheckBoxes). N u b n ch n mt component trong chúng và m bng Properties, b n s th#y nó có nhiu thông s hn so vi component PushButton. B sung vào các thông s Label và Change Handler, gi ây b n có c Initial Value (giá tr ban  u) và Label Placement (sp x p nhãn). Thô

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

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