intTypePromotion=1

ActionScript_lập trình hướng đối tượng

Chia sẻ: Pham Jngocj Hiếu Hieu | Ngày: | Loại File: PDF | Số trang:0

0
155
lượt xem
87
download

ActionScript_lập trình hướng đối tượng

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

đây là cuốn tài liệu về lập trình với ngôn ngữ ActionScrip,do thầy Nguyễn Anh Cường ( giảng viên Học viện phòng không không quân ) biên soạn.Theo ý kiến cá nhân của người upload thì cuốn tai liệu này tuy có phần trình bày thiếu chuyên nghiệp,màu mè hơi lộn xộn,nhưng chắc chắn rằng nội dung của nó rất phong phú,dễ hiểu và phù hợp với người mới bắt đầu cũng như dân chuyên nghiệp

Chủ đề:
Lưu

Nội dung Text: ActionScript_lập trình hướng đối tượng

  1. C D HỌC VIỆN PHÒNG KHÔNG - KHÔNG QUÂN PHÒNG KHOA HỌC CÔNG NGHỆ - MÔI TRƯỜNG g 456456456 JBiên soạn: Nguyễn Anh Cường ABan CNTT -Phóng tác từ nguyên bản Tiếng Anh Hà Nội 7.2007 B
  2. @ActionScript cho Flash6Nguyễn Anh Cường 6Ban CNTT Học viện Phòng Không Không Quân@ C Tin hoåc Phöí cêåp Vùn phoâng Kyä thuêåt Lêåp trònh Windows Àùåc taã Xûã lyá vaâ Xûã lyá Tûå àöång Hoåc Internet theo caách àún giaãn hoaá Àùåc taã Àöì hoaå AutoCAD Tûâ àiïín ActionScript cho Flash Àùåc taã Àöì hoaå PhotoShop Sûã duång Companent trong Flash Caác thuã thuêåt cuãa Hacker Lêåp trònh mö phoãng vúái DirectX Khai thaác àôa Hiren's Boot MapInfor vaâ baãn àöì söë Correl Draw vaâ àöì hoaå Myä thuêåt Phaá moåi mêåt khêíu gùåp trïn maáy tñnh Àöì hoaå hoaåt hònh Flash Lêåp trònh vúái MathLab Kyä thuêåt Thiïët kïë Website Xûã lyá tñn hiïåu söë trong Quên sûå Taâi liïåu naây lûu haânh nöåi böå Trung têm Tin hoåc ABC Kiïím tra vaâ sûãa chûäa: Nguyïîn Phûúng Thaão [Trang 2/1225\4Trung tâm Tin học ABC giữ bản quyềnCDiễn đàn http://khkt.net
  3. Soạn giả 0988.529.310 trungtamtinhocabc@yahoo.com 6[Trang 3/1225\ f TRUNG TÂM TIN HỌC ABC Haân haïnh Giôùi thieäu D ActionScript trong Flash 44444444444444 Bạn thân mến! Từ khi ra đời Macromedia Flash đã mở đầu cho một cuộc cách mạng về xử lý các hình ảnh động. Các version về sau ngày càng bổ sung nhiều hiệu ứng hấp dẫn và tuyệt đẹp, tạo những ấn tượng khó quên cho rất nhiều người khi tiếp xúc với nó khiến cho nhiều người trong chúng ta tự hỏi, điều gì ẩn giấu đằng sau các hiệu ứng tuyệt vời đó. Không phải điều gì khác, đó chính là ActionScript Flash. ActionScript là kịch bản hành động đáp ứng cho tất cả các tình huống, hành động, thuộc tính, phương pháp của các đối tượng trong Flash. Là người đã làm việc với Flash ngay từ những ngày đầu nó xuất hiện và liên tục bổ sung cập nhật những thông tin mới nhất đối với nó, tôi rất vinh dự được giới thiệu tài liệu này tới các bạn. Trong quá trình biên dịch tự động bằng phần mềm tự viết, có thể có những lỗi bất ngờ, mong các bạn hết sức thông cảm và gửi góp ý trực tiếp cho tôi, để những tài liệu sau không còn những khiếm khuyết đó. Mọi ý kiến góp ý xin gửi về: Nguyễn Anh Cường - Điện thoại: 0988.529.310 Hoặc gửi góp ý trực tiếp lên Forum http://khkt.net Nguyễn Anh Cường xin chân thành cảm ơn. @ActionScript cho Flash6Nguyễn Anh Cường 6Ban CNTT Học viện Phòng Không Không Quân@
  4. @ActionScript cho Flash6Nguyễn Anh Cường 6Ban CNTT Học viện Phòng Không Không Quân@ Một số từ Tiếng Anh không được dịch vì nếu dịch ra sẽ không thoát được nghĩa và gây rối câu văn khiến người đọc dễ nhầm lẫn: Từ Nghĩa Properties, Property Phương pháp Function Hàm Object Đối tượng Event Sự kiện Contructor Chương trình tạo lập theo mẫu Handler Cán của chương trình Listener Trình lắng nghe để gọi lệnh đáp ứng sự kiện ToolBox Hộp công cụ Tài liệu này dịch theo MacromediaFlash 2004- ActionScript (Khi mà hãng Macromedia chưa được hãng Adobe mua) tuy nhiên phần bổ sung cho Adobe Flash ActionScript 3.0, hiện tại đang sửa chữa, sẽ được gửi trong thời gian tới. Rất mong được bạn góp ý phê bình. Xin chân thành cảm ơn. [Trang 4/1225\4Trung tâm Tin học ABC giữ bản quyềnCDiễn đàn http://khkt.net
  5. Soạn giả 0988.529.310 trungtamtinhocabc@yahoo.com 6[Trang 5/1225\ LỜI GIỚI THIỆU BẮT ĐẦU VỚI ACTIONSCRIPT Macromedia Flash MX 2004 và Flash MX Professional 2004 là những công cụ sáng tác chuẩn chuyên nghiệp cho những thành quả kinh nghiệm chịu tác động cao với web. Các ActionScript là ngôn ngữ bạn dùng khi bạn muốn phát triển một ứng dụng trong phạm vi Flash. Bạn không nhất thiết phải sử dụng ActionScript để sử dụng Flash, nhưng nếu bạn muốn cung cấp hoạt động liên minh người dùng, làm việc với các object khác hơn kiến trúc có trong Flash (như là các button và các movie clip), hoặc nếu ngược lại một tệp SWF đem lại cho người dùng kinh nghiệm tinh vi hơn, bạn sẽ hầu như chắc chắn muốn sử dụng ActionScript. Sự tiếp kiến dự định Sách này thừa nhận bạn có Flash MX 2004 hoặc Flash MX Professional 2004 rồi, đã cài và biết làm thế nào để sử dụng nó. Bạn nên biết làm thế nào để đặt các object trên Stage và nhào nặn chúng trong môi trường sáng tác Flash. Nếu bạn phải viết các chương trình trước, ActionScript sẽ liên kết những gì thân thuộc cho bạn lại. Nhưng ngay cả khi bạn chưa từng viết, ActionScript không khó học. Thật dễ dàng để bắt đầu với những lệnh rất đơn giản và xây dựng phức tạp lên như bạn tiến về phía trước. Các yêu cầu hệ thống Các ActionScript không có bất cứ yêu cầu hệ thống, kể cả Flash MX 2004 hoặc Flash MX Professional 2004. Tuy nhiên, tư liệu minh chứng thừa nhận bạn đang dùng những thiết lập xuất bản ngầm định cho những tệp Flash của bạn: Flash Player 7 và ActionScript 2.0. Nếu bạn thay đổi cái gì đó ở các thiết lập này, những giải thích và những mẫu code được trình bày trong tư liệu minh chứng có thể không làm việc đúng đắn. Sử dụng những tư liệu dẫn chứng Tài liệu này cung cấp một cái nhìn tổng quan của cú pháp ActionScript, thông tin trên làm thế nào để sử dụng ActionScript khi làm việc với các kiểu object khác nhau, cộng với những chi tiết trên cú pháp và cách dùng của mỗi yếu tố ngôn ngữ. Bắt đầu học quy tắc chung và những khái niệm cơ sở sử dụng trong phần cuối của mỗi tài liệu (Xem Chương II, “Các ActionScript Basics” trang 21). Tiếp đến, học những kỹ thuật viết và gỡ rối Các script Flash (Xem Chương III, “Viết và Debug các script,” trang 53). Trước khi viết những các script của riêng bạn, bạn nên hoàn thành những bài học “Viết các script với ActionScript” và “Tạo một Mẫu với Conditional Logic và Gửi dữ liệu,” thứ mà cung cấp một sổ tay vỡ lòng để làm việc với ActionScript. Để tìm những bài học này, chọn Help>How Do I>Quick Tasks. Sau khi bạn hiểu những khái niệm cơ bản, bạn sẵn sàng sử dụng thông tin trong phần cuối của mỗi tài liệu này như nó thích hợp với hiệu ứng cụ thể bạn đang cố giành được. Ví dụ, nếu bạn muốn học làm thế nào để viết một script mà thực hiện một action nào đó khi một người dùng chuột, xem Chương IV, “Diễn xuất các event,” trang 79. @ActionScript cho Flash6Nguyễn Anh Cường 6Ban CNTT Học viện Phòng Không Không Quân@
  6. @ActionScript cho Flash6Nguyễn Anh Cường 6Ban CNTT Học viện Phòng Không Không Quân@ Khi bạn tìm thông tin về một lệnh chắc chắn bạn muốn sử dụng, bạn có thể tìm kiếm đầu vào của nó ở Chương XII, “Từ điển các ActionScript” trang 195; mỗi yếu tố ngôn ngữ được liệt kê ở đó theo thứ tự ABC. Các quy định in Các quy định trong sau đây được dùng trong sách này: • Chữ không chân chỉ ra Code ActionScript. • Chữ có chân nghiêng chỉ ra một yếu tố, như là một tham số ActionScript hoặc tên đối tượng, mà bạn thay với đoạn text của riêng bạn khi viết một script. Các điều khoản sau được dùng trong sách này: • Bạn ám chỉ chuyên viên phát triển, người mà đang viết một script hoặc ứng dụng. • Người dùng ám chỉ nhân vật, người mà sẽ chạy kịch bản script và các ứng dụng của bạn. • Thời gian biên dịch là thời gian trong lúc mà bạn xuất bản, xuất, kiểm tra, hoặc gỡ rối tài liệu của bạn. • Runtime là thời gian trong lúc kịch bản script của bạn đang chạy trong Flash Player. Các điều khoản ActionScript như là method và object được định nghĩa ở chương II, “Các ActionScript Basics” trang 21. Các tài nguyên bổ sung Tư liệu làm bằng chứng riêng biệt về Flash và các sản phẩm liên quan có thể kiếm được và không dính dáng với nhau. • Để biết thêm về làm việc trong môi trường sáng tác Flash, xem Sử dụng Flash Help. Để biết thêm về làm việc với các thành phần, xem Sử dụng Components Help. • Để biết thêm về tạo sự liên lạc các ứng dụng với Flash Communication Server, xem Phát triển Các sự liên lạc Applications và Quản lý Flash Communication Server. • Để biết thêm về truy cập các dịch vụ web với các ứng dụng Flash, xem Sử dụng Flash Remoting. Macromedia DevNet website (www.macromedia.com/devnet) được cập nhật đều đặn với thông tin mới nhất trên Flash, cộng lời chỉ bảo từ người dùng lão luyện, những đề mục nâng cao, các ví dụ, các lời khuyên, và những cập nhật khác. Kiểm tra website thường xuyên để biết những tin mới nhất trên Flash và làm thế nào để nhận nhiều nhất phần bên ngoài của chương trình. (www.macromedia.com/support/flash) Macromedia Flash Support Center cung cấp TechNotes, tư liệu minh chứng cập nhật, và liên kết đến các tài nguyên bổ sung trong cộng đồng Flash. [Trang 6/1225\4Trung tâm Tin học ABC giữ bản quyềnCDiễn đàn http://khkt.net
  7. Soạn giả 0988.529.310 trungtamtinhocabc@yahoo.com 6[Trang 7/1225\ PHẦNI CHÀO MỪNG BẠN ĐẾN VỚI ACTIONSCRIPT Phần này gồm có thông tin cơ sở trên ngôn ngữ ActionScript. Chương 1 gồm có thông tin trên cái gì là mới hoặc đã thay đổi ở ActionScript và Flash Player 7. Nếu bạn đã sử dụng ActionScript trước, đừng quên xem lại thông tin này cẩn thận. Nếu bạn là người mới dùng ActionScript, đọc các chương 2 và 3 để nhận một cơ sở tiếp nhận tốt cho việc hiểu Thuật ngữ ActionScript và cú pháp và cho việc học làm thế nào để viết và gỡ rối kịch bản script của bạn. Chương 1: Cái gì mới Trong Flash MX 2004 ActionScript 8 Chương 2: ActionScript Basics 21 Chương 3: Viết và Debug các script 53 @ActionScript cho Flash6Nguyễn Anh Cường 6Ban CNTT Học viện Phòng Không Không Quân@
  8. @ActionScript cho Flash6Nguyễn Anh Cường 6Ban CNTT Học viện Phòng Không Không Quân@ CHƯƠNGI CÁI GÌ MỚI TRONG FLASH MX 2004 ACTIONSCRIPT2.0 Macromedia Flash MX 2004 và Macromedia Flash MX Professional 2004 cung cấp vài sự đề cao mà nó làm cho bạn viết script dễ dàng hơn, tinh vi hơn khi sử dụng ngôn ngữ ActionScript. Những nét đặc trưng mới này, thứ mà được thảo luận ở chương này, chứa có chứa các yếu tố ngôn ngữ mới, cải thiện các công cụ gỡ rối và biên tập (Xem “Thay đổi các Trình soạn thảo ActionScript” trang 18 và “Debug thay đổi” trang 18), thêm mào đầu của một chương trình hướng đối tượng nhiều mô hình (Xem “Tạo mới mô hình chương trình hướng đối tượng” trang 19). Chương này cũng chứa một phần mở rộng mà bạn nên đọc cẩn thận nếu bạn có kế hoạch xuất bản bất cứ tệp nào của Flash MX hoặc về trước đang tồn tại của bạn vào Flash Player 7 (Xem “Xuất những script đang tồn tại dùng Flash Player 7” trang 10). Các yếu tố ngôn ngữ mới và đã thay đổi Phần này mô tả các yếu tố ngôn ngữ ActionScript mới hoặc đã thay đổi Trong Flash MX 2004. Để sử dụng bất cứ yếu tố này trong các kịch bản script của bạn, bạn đặt đích là Flash Player 7 (ngầm định) khi bạn xuất bản tài liệu của bạn. • Các method Array.sort() và Array.sortOn() cho phép bạn bổ sung các tham số chỉ rõ các lựa chọn sắp xếp bổ sung, như là tăng dần và xếp giảm dần, cho biết để tính đến trường hợp nhạy cảm khi sắp xếp, và vân vân. • Các properties Button.menu, MovieClip.menu, và TextField.menu làm việc với ContextMenu mới và các class ContextMenuItem để cho phép bạn kết hợp các menu item tình huống với các object Button, MovieClip, hoặc TextField. • Class ContextMenu và Class ContextMenuItem cho phép bạn tuỳ biến thực đơn ngữ cảnh được hiện khi một người dùng trong Flash Player. •Class Error và các lệnh throw với try..catch..finally cho phép bạn thi hành diễn xuất ngoại lệ tinh vi hơn. •Các method LoadVars.addRequestHeader() và XML.addRequestHeader() thêm hoặc thay đổi HTTP yêu cầu headers (như là Content-Type hoặc SOAPAction) gửi với các action POST. • Function MMExecute() cho phép bạn đưa các lệnh từ ActionScript ra Flash JavaScript API. • Event Listener Mouse.onMouseWheel được sinh ra khi người dùng cuốn sử dụng nút cuộn chuột. •Method MovieClip.getNextHighestDepth() cho phép bạn tạo MovieClip các instance lúc runtime và được cam đoan rằng những object của chúng biểu hiện xếp chồng trên các [Trang 8/1225\4Trung tâm Tin học ABC giữ bản quyềnCDiễn đàn http://khkt.net
  9. Soạn giả 0988.529.310 trungtamtinhocabc@yahoo.com 6[Trang 9/1225\ object khác theo thứ tự trục Z của movie clip cha. Method MovieClip.getInstanceAtDepth() cho phép bạn truy nhập năng động MovieClip các instance đã tạo, sử dụng chiều sâu như một chỉ số tìm kiếm. • Method MovieClip.getSWFVersion() cho phép bạn quyết định thứ mà version của Flash Player được hỗ trợ bởi một tệp SWF đã tải. • Method MovieClip.getTextSnapshot() và object textSnapshot cho phép bạn làm việc với text, ở trong các trường text tĩnh trong một movie clip. • Property MovieClip._lockroot cho phép bạn chỉ rõ một movie clip sẽ hành động như _root cho bất cứ movie clip đã tải nó vào, hoặc ý nghĩa của _root trong một movie clip sẽ không thay đổi nếu movie clip đó được tải vào movie clip khác. • MovieClipLoader class cho phép bạn giám sát tiến trình của các tệp như chúng đang được tải vào các movie clip. • Class NetConnection và Class NetStream cho phép bạn tuôn các tệp cục bộ video (Các tệp FLV). • Class PrintJob cho bạn (và người dùng) điều khiển nhiều hơn về trong từ Flash Player. •Event handler Sound.onID3 cung cấp truy cập tới dữ liệu ID3 được kết hợp với một object Sound mà chứa một tệp MP3. • Property Sound.ID3 cung cấp truy cập vào metadata đó là một phần của Tệp MP3. • Class System có các object và method mới, và object System.capabilities có vài properties mới. • Property TextField.condenseWhite cho phép bạn bỏ đi khoảng trắng quá mức từ các trường text HTML được đáp lại trong một trình duyệt. • Property TextField.mouseWheelEnabled cho phép bạn chỉ rõ cho biết nội dung của trường text sẽ cuộn khi trỏ chuột nằm trên một trường text và người dùng cuốn bánh xe chuột. • Class TextField.StyleSheet cho phép bạn tạo một object kiểu sheet mà chứa những quy định định dạng text như là font size, màu, và các kiểu định dạng khác. • Property TextField.styleSheet cho phép bạn tác động một object kiểu sheet vào một trường text. • Method TextFormat.getTextExtent() chấp nhận một tham số mới, và object bị nó trả về, chứa một bộ phận mới. • Method XML.addRequestHeader() cho phép bạn bổ sung hoặc thay đổi HTTP yêu cầu headers (như là Content-Type hoặc SOAPAction) gửi với các action POST. Chế độ bảo mật mới và tệp SWF kế thừa Quy tắc làm thế nào Flash Player xác định xem hai domain là như nhau, đã thay đổi trong Flash Player 7. Bổ sung thêm, quy tắc cho biết định rõ và làm thế nào một tệp SWF đã phục vụ từ một HTTP domain có thể truy cập một tệp SWF, hoặc tải dữ liệu từ một @ActionScript cho Flash6Nguyễn Anh Cường 6Ban CNTT Học viện Phòng Không Không Quân@
  10. @ActionScript cho Flash6Nguyễn Anh Cường 6Ban CNTT Học viện Phòng Không Không Quân@ HTTPS domain đã thay đổi. Trong phần lớn trường hợp, những thay đổi này sẽ không hiệu ứng trừ phi bạn xuất tệp SWF đã tồn tại của bạn vào Flash Player 7. Tuy nhiên, nếu bạn có tệp SWF đã xuất bản dùng Flash Player 6 hoặc về trước mà tải dữ liệu từ một tệp được lưu trên một server, và SWF được gọi đang chơi trong Flash Player 7, người dùng có thể thấy hiện một hộp thoại mà đã không hiện trước đó, đòi cho biết để được phép truy cập. Bạn có thể chặn hộp thoại này từ lúc hiện, bởi một phương tiện chính sách tệp trên site nơi mà dữ liệu được lưu. Muốn biết rõ hơn về hộp thoại này, xem “Về khả năng tương thích với trước các mô hình bảo mật Flash Player” trang 184. Bạn cũng có thể cần thực hiện một tệp chính sách nếu bạn đang dùng các thư viện chia sẻ runtime. Nếu hoặc tải hoặc tệp SWF đã tải, đã xuất bản dùng Flash Player 7 và tải hay đã tải các tệp không được phục vụ từ cùng domain chính xác, thì dùng một tệp chính sách để cho phép truy cập. Muốn biết rõ hơn về các tệp chính sách, xem “Về cho phép tải dữ liệu domain-chéo” trang 183. Xuất các script đang tồn tại vào Flash Player 7 Như với bất cứ sản phẩm phát hành mới, Flash Player 7 hỗ trợ nhiều lệnh ActionScript hơn các vesion trước của player; bạn có thể dùng những lệnh này thực hiện script tinh vi hơn. (Xem “Các yếu tố ngôn ngữ mới và đã thay đổi” trang 8.)Tuy nhiên, nếu bạn đã dùng bất cứ của những lệnh này trong những script đang tồn tại cũ của bạn, script có thể không làm việc đúng đắn nếu bạn xuất bản nó dùng Flash Player 7. Ví dụ, nếu bạn có 1 kịch bản script với một tên function là Error, script có thể trình diễn để dịch thẳng nhưng có thể không chạy như mong đợi trong Flash Player 7, vì Error bây giờ là một built-in class (và do đó là một từ dành riêng) ở ActionScript. Bạn có thể sửa kịch bản script của bạn bằng cách đổi Tên function Error thành bất cứ gì khác, ví như là ErrorCondition. Cũng, Flash Player 7 cam kết thực hiện một số thay đổi mà hiệu ứng làm thế nào một tệp SWF có thể truy cập tệp SWF khác, làm thế nào biết dữ liệu ngoài đã tải, và làm thế nào những thiết lập và dữ liệu cục bộ(như là những thiết lập riêng và các object cục bộ lâu dài được chia sẻ) có thể được truy cập. Cuối cùng, thói quen của vài điểm đặc trưng tồn tại đã thay đổi. Nếu bạn có những script đang tồn tại được viết dùng Flash Player 6 hoặc về trước mà bạn muốn xuất bản dùng Flash Player 7, bạn có thể cần sửa các script cho chúng thích hợp với sự thi hành của Flash Player 7 và làm việc như thiết kế. Những thay đổi này được thảo luận trong phần này. Sự chấp thuận ECMA-262 Edition 4 Vài thay đổi đã được thực hiện trong Flash Player 7 để thích hợp với sự đề xuất chặt chẽ hơn vào ECMA-262 Edition 4 (Xem www.mozilla.org/js/language/es4/index.html). Bổ sung thêm vào các kỹ thuật chương trình trên nền class sẵn dùng ở ActionScript 2.0 (Xem “Mô hình chương trình hướng đối tượng mới” trang 19), các điểm đặc trưng khác đã thêm và chắc chắn làm những thói quen đã phải thay đổi. Cũng, khi xuất bản dùng Flash Player 7 và sử dụng ActionScript 2.0, bạn có thể thay một kiểu object thành kiểu khác. Muốn biết rõ hơn, xem “Sự đổ khuôn các object” trang 36. Những khả năng này không [Trang 10/1225\4Trung tâm Tin học ABC giữ bản quyềnCDiễn đàn http://khkt.net
  11. Soạn giả 0988.529.310 trungtamtinhocabc@yahoo.com 6[Trang 11/1225\ yêu cầu bạn cập nhật những script đang tồn tại; tuy nhiên, bạn có thể muốn sử dụng chúng nếu bạn xuất bản kịch bản script của bạn vào Flash Player 7 và sau đó tiếp tục xét lại và nâng cấp chúng. Không như thay đổi đã đề cập trên, thay đổi đã liệt kê trong bảng sau (vài thứ cũng tận dụng sự chấp thuận ECMA) có thể là nguyên nhân những script đang tồn tại làm việc khác biệt chúng đã làm trước đó. Nếu bạn đã dùng những nét đặc trưng này trong những script đang tồn tại mà bạn muốn xuất bản dạng Flash Player 7, xem lại thay đổi để chắc chắn code của bạn còn làm việc như dự định hoặc định rõ xem bạn cần viết lại code của bạn không. Những gì liên quan, vì undefined được đánh giá khác trong những trường hợp cụ thể, bạn nên khởi tạo tất cả các biến trong các script mà bạn xuất ra Flash Player 7. Tệp SWF xuất vào Flash Player Tệp SWF xuất vào Flash Player 7 đời trước đó Trường hợp nhạy cảm được hỗ trợ Trường hợp nhạy cảm không được hỗ trợ (các tên biến mà không giống chỉ (các tên biến mà không giống chỉ trong hoa trong hoa thường được làm sáng tỏ thường được làm sáng tỏ như là cùng biến). như là các biến khác nhau). Sự thay đổi này cũng ảnh hưởng các tệp đã tải với #include và các biến ngoài đã tải với LoadVars.load(). Muốn biết nhiều hơn, xem “Trường hợp nhạy cảm” trang 25. Định giá undefined ở một ngữ cảnh Định giá undefined ở một ngữ cảnh số trả về số trả về NaN. 0. DemCuaToi +=1; DemCuaToi +=1; trace(DemCuaToi);//NaN trace(DemCuaToi);//1 Khi undefined bị chuyển vào một Khi undefined bị chuyển vào một string, kết string, kết quả là undefined. quả là "" (một string rỗng). TenHo = "Nguyen Phuong "; TenHo = "Nguyen Phuong "; lastname = "Flender"; lastname = "Flender"; trace(TenHo + middlename + trace(TenHo + middlename + lastname);//Nguyen Phuong lastname);//Nguyen Phuong Thao undefinedFlender Khi bạn chuyển một string vào một Khi bạn chuyển một string vào một Giá trị Giá trị logic Bool, kết quả là true nếu logic Bool, string là đầu tiên bị chuyển vào string có một độ dài lớn hơn zero; một number; kết quả là true nếu số là kết quả là false khi một string rỗng. không phải 0, false nếu ngược lại. Khi thiết đặt độ dài của một array, Khi thiết đặt độ dài của một array, thậm chí chỉ một chuỗi số đúng đặt độ dài. Ví một chuỗi số di hình đặt độ dài: dụ, "6" làm việc nhưng " 6" hoặc "6xyz" thì không. my_array=new Array(); my_array=new Array(); @ActionScript cho Flash6Nguyễn Anh Cường 6Ban CNTT Học viện Phòng Không Không Quân@
  12. @ActionScript cho Flash6Nguyễn Anh Cường 6Ban CNTT Học viện Phòng Không Không Quân@ Tệp SWF xuất vào Flash Player Tệp SWF xuất vào Flash Player 7 đời trước đó 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 tắc Tên-domain cho các thiết lập và dữ liệu cục bộ Trong Flash Player 6, superdomain hợp pháp được dùng theo ngầm định khi truy cập những thiết lập cục bộ (những sự cho phép truy cập như là camera hoặc microphone) hoặc dữ liệu lâu dài cục bộ (các object được chia sẻ). Đó là, các thiết lập và dữ liệu cho tệp SWF được host lưu ở đây.xyz.com, ở đó.xyz.com, và xyz.com được chia sẻ, và tất cả được lưu ở xyz.com. Trong Flash Player 7, domain hợp pháp phải chính xác được dùng theo ngầm định. Đó là, các thiết lập và dữ liệu cho một tệp được host lưu ở đây.xyz.com được lưu ở đây.xyz.com, các thiết lập và dữ liệu cho một tệp được host lưu ở đó.xyz.com được lưu ở đó.xyz.com, và vân vân. Tệp SWF đã xuất bản cho Flash Player 7, tệp SWF đã xuất bản cho các version về trước của Flash Player Trường hợp nhạy cảm được hỗ trợ (Tên biến hoa thường bị dịch và phân biệt là khác nhau). Thay đổi này cũng ảnh hưởng đến các tệp đã tải với #include và các biến ngoài đã tải với LoadVars.load(). Muốn biết rõ hơn, xem “Trường hợp nhạy cảm” trang 25. Trường hợp nhạy cảm không được hỗ trợ (Tên các biến mà không giống, chỉ phân biệt chữ hoa được dịch như đang được cùng một biến). Định giá undefined trong một số tình huống trả về NaN. DemCuaToi +=1; trace(DemCuaToi);//NaN Định giá undefined trong một số tình huống trả về 0. DemCuaToi +=1; trace(DemCuaToi);//1 Khi undefined được chuyển thành một string, kết quả là undefined. TenHo = "Nguyen Phuong "; lastname = "Thao"; trace(TenHo + middlename + lastname); //Nguyen Phuong undefined Thao Khi undefined được chuyển thành một string, kết quả là "" (một string rỗng). [Trang 12/1225\4Trung tâm Tin học ABC giữ bản quyềnCDiễn đàn http://khkt.net
  13. Soạn giả 0988.529.310 trungtamtinhocabc@yahoo.com 6[Trang 13/1225\ TenHo = "Nguyen Phuong "; lastname = "Thao"; trace(TenHo + middlename + lastname); //Nguyen Phuong Thao Khi bạn chuyển một string vào một giá trị logic Bool, kết quả là true nếu string có một độ dài lớn hơn 0; kết quả là false cho một string rỗng. Khi bạn chuyển một string vào một giá trị logic Bool, string được chuyển đầu tiên vào một số; kết quả là true nếu số khác 0, false nếu ngược lại. Khi thiết lập độ dài của một array, chỉ một độ dài string thiết đặt quy cách số. Ví dụ, "6" làm việc nhưng " 6" hoặc "6xyz" thì không. 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 thiết lập độ dài của một array, thậm chí số xấu xí string thiết đặt độ dài: 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 Một thuộc tính mới, System.exactSettings, cho phép bạn chỉ rõ những quy tắc nào sử dụng. Thuộc tính này được hỗ trợ cho các tệp xuất bản dùng Flash Player 6 hoặc về sau. Với các tệp xuất bản dùng Flash Player 6, giá trị ngầm định là false, điều này nghĩa là superdomain hợp pháp được dùng. Còn các tệp xuất bản dùng Flash Player 7, giá trị ngầm định là true, điều này nghĩa là domain hợp pháp phải chính xác được dùng. Nếu bạn dùng các thiết lập hoặc dữ liệu cục bộ lâu dài và muốn xuất bản một tệp SWF Flash Player 6 dùng Flash Player 7, bạn có thể cần đặt giá trị này thành false trong tệp xuất. Muốn biết rõ hơn, xem System.exactSettings trang 970. Domain-chéo và subdomain truy cập giữa tệp SWF Khi bạn phát triển một chuỗi tệp SWF mà truyền thông với từng tệp khác—ví dụ, khi @ActionScript cho Flash6Nguyễn Anh Cường 6Ban CNTT Học viện Phòng Không Không Quân@
  14. @ActionScript cho Flash6Nguyễn Anh Cường 6Ban CNTT Học viện Phòng Không Không Quân@ sử dụng loadMovie(), MovieClip.loadMovie(), MovieClipLoader.LoadClip(), hoặc các object Local Connection—bạn có thể dẫn (host) các movie trong các domain khác, hoặc trong các subdomain khác của một superdomain đơn. Trong các tệp xuất bản dùng Flash Player 5 hoặc về trước, không có hạn chế nào trên domain-chéo hoặc subdomain truy cập. Trong các tệp xuất bản dùng Flash Player 6, bạn có thể dùng handler LocalConnection.allowDomain hoặc method System.security.allowDomain() chỉ rõ domain- chéo được thừa nhận truy cập (Ví dụ, để cho phép một tệp ở SiteNaoDo.com được truy cập bởi một tệp ở SiteNaoDoKhac.com), và không nên thiếu lệnh để cho phép subdomain truy cập (ví dụ, một tệp ở www.SiteNaoDo.com có thể được truy cập bởi một tệp ở store.SiteNaoDo.com). Các tệp xuất bản dùng Flash Player 7 thực hiện truy cập giữa tệp SWF khác nhau, từ các version về trước. Đầu tiên, Flash Player 7 cam kết thực hiện domain hợp pháp phải chính xác thay thế của superdomain hợp pháp. Vì thế, tệp được truy cập (ngay cả khi nó đã xuất bản cho một Player version về trước Flash Player 7) phải dứt khoát cho phép domain- chéo hoặc subdomain truy cập; topic này được thảo luận bên dưới. Thứ hai, một tệp được host lưu ở một site sử dụng một giao thức bảo mật (HTTPS) phải dứt khoát cho phép truy cập từ một tệp được host lưu ở một site sử dụng một giao thức bảo mật trong (HTTP hoặc FTP); topic này được thảo luận trong phần tới (Xem “Giao thức HTTP tới HTTPS truy cập giữa tệp SWF” trang 182). Vì Flash Player 7 cam kết thực hiện domain hợp pháp phải chính xác thay thế của superdomain hợp pháp, bạn có thể phải sửa những script đang tồn tại, nếu bạn muốn truy cập chúng từ các tệp, mà được xuất bản dùng Flash Player 7. (Bạn có thể còn xuất bản các tệp đã sửa dùng Flash Player 6.) Nếu bạn đã dùng bất cứ câu lệnh LocalConnection.allowDomain() hoặc System.security.allowDomain() trong các tệp của bạn và được chỉ định các site superdomain để cho phép, bạn phải thay đổi các tham số của bạn, chỉ rõ chính xác các domain thay thế. Đoạn code sau đưa ra 1 ví dụ về các kiểu thay đổi bạn, có thể phải thực hiện: //Flash Player 6 các lệnh trong một tệp SWF ở www.BatKySiteCu.com //để cho phép truy cập bởi tệp SWF mà được host lưu ở www.SiteNaoDo.com //hoặc ở store.SiteNaoDo.com System.security.allowDomain("SiteNaoDo.com"); my_lc.allowDomain = function(sendingDomain) { return(sendingDomain= ="SiteNaoDo.com"); } //Tương ứng với các lệnh để cho phép truy cập bởi tệp SWF //mà được xuất bản cho Flash Player 7 System.security.allowDomain("www.SiteNaoDo.com", "store.SiteNaoDo.com"); my_lc.allowDomain = function(sendingDomain) { [Trang 14/1225\4Trung tâm Tin học ABC giữ bản quyềnCDiễn đàn http://khkt.net
  15. Soạn giả 0988.529.310 trungtamtinhocabc@yahoo.com 6[Trang 15/1225\ return(sendingDomain= ="www.SiteNaoDo.com" || sendingDomain= ="store.SiteNaoDo.com"); } Bạn cũng có thể phải thêm những dòng lệnh như thế này tới các tệp của bạn nếu bạn hiện tại không dùng chúng. Ví dụ, nếu tệp SWF của bạn được chứa trên host ở www.SiteNaoDo.com và bạn muốn cho phép truy cập bởi một tệp SWF đã xuất bản dùng Flash Player 7, ở www.store.SiteNaoDo.com, bạn phải thêm những dòng lệnh như sau vào tệp ở www.SiteNaoDo.com (Bạn có thể còn xuất bản tệp ở www.SiteNaoDo.com dùng Flash Player 6): System.security.allowDomain("store.SiteNaoDo.com"); my_lc.allowDomain = function(sendingDomain) { return(sendingDomain= ="store.SiteNaoDo.com"); } Tóm lại, bạn có thể phải sửa các tệp của bạn, thêm hoặc thay đổi các câu lệnh allowDomain nếu bạn xuất bản các tệp dùng Flash Player 7 mà gặp những điều kiện sau: • Bạn đã thi hành script bắt chéo-SWF (sử dụng loadMovie(), MovieClip.loadMovie(), MovieClipLoader.LoadClip(), hoặc các object Local Connection). • Tệp SWF được gọi (của bất cứ version nào) không được host lưu, ở một site sử dụng một giao thức bảo mật (HTTPS). Hoặc tệp gọi và tệp SWF được gọi, cả hai được host lưu ở các site HTTPS. (Nếu chỉ tệp SWF được gọi là HTTPS, xem “Giao thức HTTP tới HTTPS truy cập giữa tệp SWF” trang 182.) • Tệp SWF không ở trong cùng domain (ví dụ, một tệp là ở www.tenmien.com và một là ở store.tenmien.com). Bạn phải thay đổi như sau: • Nếu tệp SWF được gọi đã xuất bản dùng Flash Player 7, có chứa hệ thống.security.allowDomain hoặc LocalConnection.allowDomain trong tệp SWF được gọi, sử dụng chính xác tên domain phù hợp. • Nếu tệp SWF được gọi đã xuất bản dùng Flash Player 6, sửa tệp được gọi để thêm hoặc thay đổi một câu lệnh System.security.allowDomain hoặc LocalConnection.allowDomain, sử dụng tên domain phù hợp chính xác, xem trong các ví dụ mới ở phần này. Bạn có thể xuất bản tệp đã sửa, cho hoặc Flash Player 6 hoặc 7. • Nếu tệp SWF được gọi đã xuất bản dùng Flash Player 5 hoặc về trước, xuất tệp được gọi ra Flash Player 6 hoặc 7 và thêm một câu lệnh System.security.allowDomain, sử dụng tên domain phù hợp chính xác, xem trong các ví dụ mới ở phần này. (Các object LocalConnection không được hỗ trợ ở Flash Player 5 hoặc về trước.) Giao thức HTTP tới HTTPS truy cập giữa các tệp SWF Như thảo luận trong phần trước, quy tắc cho domain-chéo và subdomain truy cập đã thay đổi trong Flash Player 7. Bổ sung thêm vào domain hợp pháp phải chính xác, bây giờ @ActionScript cho Flash6Nguyễn Anh Cường 6Ban CNTT Học viện Phòng Không Không Quân@
  16. @ActionScript cho Flash6Nguyễn Anh Cường 6Ban CNTT Học viện Phòng Không Không Quân@ đang được thực hiện đầy đủ, bạn phải dứt khoát cho phép các tệp được host lưu ở các site sử dụng một giao thức bảo mật (HTTPS) truy cập, bởi các tệp được host lưu ở các site sử dụng một giao thức bảo mật nội bộ. Quyết định trên cho biết, tệp được gọi đã xuất bản dùng Flash Player 7 hoặc Flash Player 6, bạn phải thực hiện: hoặc một trong số các câu lệnh allowDomain (Xem “Domain-chéo và subdomain truy cập giữa tệp SWF” trang 13), hoặc dùng các câu lệnh mới là LocalConnection.allowInsecure Domain hoặc System.security.allowInsecureDomain(). Cảnh báo: Phương tiện một câu lệnh allowInsecureDomain() thoả hiệp bảo mật đã đưa ra đề nghị bởi giao thức HTTPS. Bạn chỉ nên thay đổi nếu bạn không thể cải tổ lại site của bạn để tất cả tệp SWF được phục vụ từ giao thức HTTPS. Đoạn code sau đưa ra 1 ví dụ về các kiểu thay đổi bạn có thể phải thực hiện: //các lệnh ở một Flash Player 6 Tệp SWF ở https://www.SiteNaoDo.com //để cho phép truy cập bởi Flash Player 7 tệp SWF mà được host lưu //ở http://www.SiteNaoDo.com hoặc ở http://www.SiteNaoDoKhac.com System.security.allowDomain("SiteNaoDoKhac.com"); my_lc.allowDomain = function(sendingDomain) { return(sendingDomain= ="SiteNaoDoKhac.com"); } //Tương ứng với các lệnh ở một tệp SWF Flash Player 7 //để cho phép truy cập bởi Flash Player 7 tệp SWF mà được host lưu //ở http://www.SiteNaoDo.com hoặc ở 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"); } Bạn cũng có thể phải thêm những dòng lệnh như thế này tới các tệp của bạn, nếu bạn hiện tại không dùng chúng. Một sửa chữa có thể là cần thiết, ngay cả khi cả hai tệp ở trong cùng domain (ví dụ, một tệp trong http://www.tenmien.com bị gọi một tệp trong https://www.tenmien.com). Tóm lại, bạn có thể phải sửa các tệp của bạn, thêm hoặc thay đổi các câu lệnh, nếu bạn xuất bản các tệp dùng Flash Player 7, mà gặp những điều kiện sau: • Bạn đã thi hành script bắt chéo-SWF (sử dụng loadMovie(), MovieClip.loadMovie(), MovieClipLoader.LoadClip(), hoặc các object Local Connection). • Tệp gọi không được host lưu sử dụng một giao thức HTTPS, và tệp được gọi là HTTPS. [Trang 16/1225\4Trung tâm Tin học ABC giữ bản quyềnCDiễn đàn http://khkt.net
  17. Soạn giả 0988.529.310 trungtamtinhocabc@yahoo.com 6[Trang 17/1225\ Bạn phải thay đổi như sau: • Nếu tệp được gọi đã xuất bản dùng Flash Player 7, có chứa System.security.allowInsecureDomain hoặc LocalConnection.allowInsecureDomain trong tệp được gọi, sử dụng tên domain phù hợp chính xác, xem trong các ví dụ mới ở phần này. Câu lệnh này được yêu cầu, ngay cả khi tệp gọi và tệp SWF được gọi ở trong cùng domain. • Nếu tệp được gọi đã xuất bản dùng Flash Player 6 hoặc về trước, và cả hai tệp (gọi và được gọi) ở trong cùng domain (ví dụ, một tệp trong http://www.tenmien.com gọi một tệp trong https://www.tenmien.com), không cần thiết sửa chữa. • Nếu tệp được gọi đã xuất bản dùng Flash Player 6, các tệp không ở trong cùng domain, và bạn không muốn xuất tệp được gọi vào Flash Player 7, sửa tệp được gọi để thêm hoặc thay đổi một câu lệnh System.security.allowDomain hoặc LocalConnection.allowDomain, sử dụng tên domain phù hợp chính xác, xem trong các ví dụ mới ở phần này. • Nếu tệp được gọi đã xuất bản dùng Flash Player 6 và bạn muốn xuất tệp được gọi vào Flash Player 7, có chứa System.security.allowInsecureDomain hoặc LocalConnection.allowInsecureDomain trong tệp được gọi, sử dụng tên domain phù hợp chính xác, xem trong các ví dụ mới ở phần này. Câu lệnh này được yêu cầu, ngay cả khi cả hai tệp ở trong cùng domain. • Nếu tệp được gọi đã xuất bản dùng Flash Player 5 hoặc về trước, và cả hai tệp không ở trong cùng domain, bạn có thể làm một trong hai chúng. Bạn có thể hoặc xuất tệp được gọi ra Flash Player 6 và thêm hoặc thay đổi một câu lệnh System.security.allowDomain, sử dụng tên domain phù hợp chính xác, xem trong các ví dụ mới ở phần này, hoặc bạn có thể xuất tệp được gọi vào Flash Player 7, và có chứa trong tệp được gọi một câu lệnh System.security.allowInsecureDomain, sử dụng tên domain phù hợp chính xác, xem trong các ví dụ mới ở phần này. Server-ngoài chính sách các tệp thừa nhận cho truy cập vào dữ liệu Một tài liệu Flash có thể tải dữ liệu từ một tài nguyên ngoài bởi sử dụng một trong số dữ liệu gọi tải, sau: XML.load(), XML.sendAndLoad(), LoadVars.load(), LoadVars.sendAndLoad(), loadVariables(), loadVariablesNum(), MovieClip.loadVariables(), XMLSocket.connect(), và Macromedia Flash Remoting (NetServices.createGatewayConnection). Cũng, một tệp SWF có thể nhập các thư viện chia sẻ runtime (RSLs), hoặc các tài nguyên đã định nghĩa trong tệp SWF khác, lúc runtime. Theo ngầm định, dữ liệu hoặc RSL phải định cư trong cùng domain, như tệp SWF đó tải dữ liệu ngoài hoặc media. Để làm dữ liệu và các tài nguyên trong các thư viện chia sẻ runtime sẵn dùng vào tệp SWF trong các domain khác, bạn nên dùng một tệp chính sách domain-chéo. Một tệp chính sách domain-chéo là một tệp XML mà cung cấp cho server một cách chỉ ra dữ liệu của nó và các tài liệu là sẵn dùng, vào tệp SWF đã phục vụ từ các domain chắc chắn, hoặc từ tất cả các domain. Bất cứ tệp SWF đó, được phục vụ từ một domain, được chỉ định bởi tệp chính sách server, được phép truy cập từ server, dữ liệu hoặc RSLs. @ActionScript cho Flash6Nguyễn Anh Cường 6Ban CNTT Học viện Phòng Không Không Quân@
  18. @ActionScript cho Flash6Nguyễn Anh Cường 6Ban CNTT Học viện Phòng Không Không Quân@ Nếu bạn tải dữ liệu ngoài, bạn nên tạo các tệp chính sách, ngay cả khi bạn không dự kiến xuất bất cứ tệp nào vào Flash Player 7. Nếu bạn đang dùng RSLs, bạn nên tạo các tệp chính sách, nếu hoặc tệp gọi, hoặc tệp được gọi đã xuất bản vào Flash Player 7. Muốn biết rõ hơn, xem “Về cho phép tải dữ liệu domain-chéo” trang 183. Thay đổi soạn thảo ActionScript Trình soạn thảo ActionScript đã được cập nhật để làm nó tinh vi hơn và dễ sử dụng hơn. Những thay đổi này được tổng kết ở đây. Chế độ ngắt dòng Bây giờ bạn có thể dùng các lựa chọn pop-up menu trong Script pane, Debugger panel, và Output panel đặt enable hoặc disable chế độ ngắt dòng. Bạn có thể cũng lật đảo chế độ ngắt dòng sử dụng pop-up menu trong các action panel. Tổ hợp phím tắt là Control+Shift+W Trợ giúp xem tình huống-nhạy cảm Khi trỏ của bạn nằm trên một yếu tố ngôn ngữ ActionScript trong các action toolbox hoặc trong Script pane, bạn có thể dùng View Help item trong thực đơn ngữ cảnh để hiện một trang giúp đỡ về yếu tố đó. Nhập các script Khi bạn chọn Import Script từ pop-up menu trong các action panel, script đã nhập được copy vào script ở trỏ thanh, trong tệp code của bạn. Trong các vesion trước của Flash, nhập một script sẽ ghi đè nội dung của script đang tồn tại. Đơn- breakpoints Để thêm một điểm ngắt gỡ rối trước một dòng code trong Debugger panel hoặc Script pane của các action panel, bạn có thể vào lề trái. Trong các vesion trước của Flash, vào lề trái, một dòng code được chọn. Cách mới để chọn một dòng code Ctrl- . Các chế độ bình thường và chuyên gia không dài hơn trong các action panel Trong các vesion trước của Flash, bạn có thể làm việc trong các action panel, hoặc trong chế độ thường, (trong chế độ mà bạn đã lọc, ở các lựa chọn và các tham số để tạo code), hoặc trong chế độ chuyên gia, (trong chế độ bạn đã bổ sung các lệnh ngay tức khắc vào Script pane). Trong Flash MX 2004 và Flash MX Professional 2004, bạn có thể làm việc trong các action panel, bởi chỉ thêm các lệnh ngay tức khắc để viết kịch bản pane. Bạn có thể còn drag các lệnh từ các action toolbox vào Script pane hoặc dùng Button Cộng (+) trên Script pane để thêm các lệnh vào một script. Ghim đồng thời nhiều script bạn có thể ghim đồng thời nhiều script bên trong một tệp FLA dọc theo đáy của Script pane trong các action panel. Trong các vesion trước của Flash, bạn chỉ có thể ghim một script trong một thời gian. Sơ đồ Script Bên trái của các action panel bây giờ chứa hai panes: các action toolbox và một Sơ đồ Script mới. Sơ đồ Script là một cái nhìn, theo dõi cấu trúc của tệp FLA của bạn; bạn có thể kiểm soát xuyên suốt tệp FLA của bạn, nhằm định vị Code ActionScript. Cửa sổ script được hoà nhập cho việc biên tập các tệp ngoài (Chỉ Flash Professional) bạn có thể dùng trình soạn thảo ActionScript trong một Cửa sổ script (tách từ các action panel) để viết và biên soạn các tệp script ngoài. Cú pháp đổi màu, chế độ mời code, và các tính năng ưu điểm khác được hỗ trợ trong cửa sổ script, và các action toolbox cũng sẵn dùng. [Trang 18/1225\4Trung tâm Tin học ABC giữ bản quyềnCDiễn đàn http://khkt.net
  19. Soạn giả 0988.529.310 trungtamtinhocabc@yahoo.com 6[Trang 19/1225\ Để hiện lên Cửa sổ script, dùng File>New và sau đó chọn kiểu của tệp ngoài bạn muốn biên soạn. Bạn có thể có đồng thời nhiều tệp ngoài mở ở cùng thời gian; các tên tệp được hiện trên các tab bắt chéo trên đỉnh của Cửa sổ script. Phần này mô tả thay đổi mà tận dụng trí thông minh của bạn để gỡ rối kịch bản script. Output cửa sổ đã thay đổi ra Output panel Bây giờ bạn có thể di chuyển và cố định Output panel giống như bất cứ panel khác trong Flash. Cải thiện báo cáo lỗi ở thời gian biên dịch Bổ sung thêm, miễn là diễn xuất ngoại lệ tinh vi hơn, ActionScript 2.0 cung cấp một số các lỗi mới thời gian-biên dịch. Muốn biết rõ hơn, xem Phụ lục A, “ Các thông điệp lỗi,” trang 1206. Cải thiện cách trình bày ngoại lệ Class Error và throw và try..catch..finally các lệnh cho phép bạn thi hành diễn xuất ngoại lệ tinh vi hơn. Mô hình chương trình hướng đối tượng mới Các ngôn ngữ ActionScript đã trưởng thành và phát triển từ khi nó được đưa vào vài năm trước. Với từng sản phẩm phát hành mới của Flash, các từ khoá bổ sung, các object, các method, và các yếu tố ngôn ngữ khác đã thêm vào ngôn ngữ. Tuy nhiên, không như các sản phẩm phát hành trước của Flash, Flash MX 2004 và Flash MX Professional 2004 đưa vào vài yếu tố ngôn ngữ mới, mà thực hiện chương trình hướng đối tượng theo một cách chuẩn hơn trước. Vì các yếu tố ngôn ngữ này chỉ ra một sự nâng cấp đầy ý nghĩa tới hạt nhân ngôn ngữ ActionScript, chúng đưa ra một version mới của chính ActionScript: ActionScript 2.0. Các ActionScript 2.0 không phải là một ngôn ngữ mới. Đúng hơn, nó gồm một hạt nhân thiết đặt của các yếu tố ngôn ngữ, để làm nó dễ hơn, để phát triển các chương trình hướng đối tượng. Với mào đầu của các từ khoá như là class, interface, extend, và implements, Cú pháp ActionScript bây giờ dễ học hơn cho các nhà lập trình quen thuộc với các ngôn ngữ khác. Các nhà lập trình mới, có thể học thuật ngữ chuẩn hơn để có thể áp dụng vào các ngôn ngữ hướng đối tượng khác (nghiên cứu trong tương lai). Các ActionScript 2.0 hỗ trợ tất cả các phần tử chuẩn của ngôn ngữ ActionScript; nó cho bạn quyền viết một cách dễ dàng các script mà bám sít sao hơn vào các tiêu chuẩn sử dụng trong các ngôn ngữ hướng đối tượng khác, như là Java. Các ActionScript 2.0. Sẽ là sự quan tâm chủ yếu của các chuyên viên thiết kế Flash trung gian hoặc cao cấp, những người mà đang xây dựng các ứng dụng có yêu cầu sự thi hành của các class và subclass. Các ActionScript 2.0 cũng cho phép bạn công bố object kiểu dạng một biến, khi bạn tạo nó (Xem “Việc gõ dữ liệu trực tiếp” trang 34) và cung cấp đáng kể việc cải thiện lỗi biên dịch (Xem Phụ lục A, “Các thông điệp lỗi” trang 1206). Các yếu tố ngôn ngữ mới ở ActionScript 2.0 được liệt kê bên dưới. • class • extend • implements • interface @ActionScript cho Flash6Nguyễn Anh Cường 6Ban CNTT Học viện Phòng Không Không Quân@
  20. @ActionScript cho Flash6Nguyễn Anh Cường 6Ban CNTT Học viện Phòng Không Không Quân@ • dynamic • static • public • private • get • set • import Các cơ sở lập luận then chốt về ActionScript 2.0 có chứa các điểm sau: • Các script dùng ActionScript 2.0 (Có định nghĩa các class hoặc giao diện), phải được lưu như các tệp script ngoài, với một class đơn (Đã định nghĩa trong từng script- đó là, các class và giao diện không thể được định nghĩa trong các action panel). • Bạn có thể nhập các tệp class riêng biệt hoàn toàn (Bởi sự cất giữ chúng vào một chỗ đó được chỉ định hoặc bởi tài liệu-riêng biệt những đường dẫn kiếm tìm toàn cục và sau đó sử dụng chúng trong một script) hoặc dứt khoát (Bởi sử dụng nhập lệnh); Bạn có thể nhập các gói (Các bộ sưu tập của class, các tệp trong một thư mục) bởi sử dụng từ đại diện. • Các ứng dụng đã phát triển với ActionScript 2.0 được hỗ trợ bởi Flash Player 6 về sau. Cẩn thận: Ngầm định thiết lập xuất bản cho các tệp mới đã tạo Trong Flash MX 2004 là ActionScript 2.0. Nếu bạn đặt kế hoạch sửa một tệp FLA đang tồn tại sử dụng cú pháp ActionScript 2.0, bảo đảm rằng tệp FLA chỉ rõ ActionScript 2.0, trong các thiết lập xuất bản của nó. Nếu không, tệp của bạn sẽ biên dịch sai, dẫu cho Flash không phát sinh các lỗi biên dịch. Muốn biết rõ hơn về sử dụng ActionScript 2.0 để viết hướng đối tượng các chương trình trong Flash, xem Chương IX “Tạo các class với ActionScript 2.0” trang 154. [Trang 20/1225\4Trung tâm Tin học ABC giữ bản quyềnCDiễn đàn http://khkt.net
ADSENSE
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản