Giáo trình ActionScript
Chương 1: Tổng quan về Action Script
Trong chương này:
-ActionScript 3.0 là gì?
-Flash Platform
-Lập trình thủ tục và hướng đối tượng
-Document Class
-Tính tương thích của Code
-Những gì tiếp theo?
Khi bạn muốn biết những gì về ActionScript để bắt đầu công việc với version mới, một cái
nhìn tổng quan tóm tắt về sự phát triển của nó sẽ cho bạn hiểu thấu bên trong khi sử dụng nó
– đặc biệt liên quan tới Flash Player và làm thế nào nó vận dụng(handles) với các phiên bản
khác của ActionScript. Giới thiệu ngắn gọn chương này sẽ cho bạn cái nhìn nhanh hơn ở đây
ActionScript 3.0 phù hợp với tiến trình làm việc của bạn(workflow), và sẽ bao gồm:
1. ActionScript 3.0 là gì?
Nó được trông đợi (expected) rằng một phiên bản mới của ActionScript sẽ mang lại những
tính năng mới. Tuy nhiên, phiên bản này đã được viết lại từ đầu và thậm chí được xử lý tách
biệt từ các phiên bản ActionScript trước đó tại runtime. Điều này cố ý đẩy nhanh
(splintering) Flash Player làm tăng sự thi hành một cách đáng kể, nhưng cũng mang đến cho
nó những giới hạn như nhiều phiên bản ActionScript tác động đến nhau.
Flash Platform. Vào thời điểm viết cuốn sách này, ActionScript 3.0 là ngôn ngữ lập trình bên
trong của Flex và AIR (ứng dụng Adobe Inegrated Runtime). Sự khác nhau trong trình dịch
và môi trường cụ thể là do ngăn ngừa mọi file viết trong ActionScript 3.0 làm việc tại mọi
khía cạnh của Flash Platform, nhưng nguyên tắc cơ bản thực sự của nhiều ngôn ngữ cũng
như nhau ở mọi nơi.
Ngôn ngữ lập trình hướng thủ tục và hướng đối tượng. Nhiều chú ý (great deal of) tập trung
vào lập trình hướng đối tượng (object – oriented programming_OPP) có tiềm năng với
ActionScript 3.0, và khả năng và sức mạnh của ngôn ngữ thực sự phát huy (shine) trong
phạm vi này. Tuy nhiên, bạn sẽ chuyển sang ActionScript 3.0 dễ dàng không có nghĩa là là
bạn trở thành một chuyên gia OPP. Nó vẫn có thể được sử dụng tập hợp cấu trúc hàm nó mô
tả cách lập trình hướng thủ tục, để viết các dự án ActionScript 3.0. Ngoài ra, sử dụng Flash
CS3, nó vẫn có thể viết code trong timeline, hơn nữa coding chỉ riêng (exclusively) với các
lớp bên ngoài. Nếu bạn thích lập trình hướng đối tượng, cải tiến (enhancements) thành phần
cơ sở của lập trình hướng đối tượng trong ActionScript 3.0 làm nó trở nên mạnh mẽ hơn và
mang lại cho nó những tính năng quan trọng khác, ngôn ngữ lập trình hướng đối tượng cở
bản (như Java) và thực hiện việc chuyển ngôn ngữ dễ dàng một chút.
The Document Class. Lập trình hướng đối tượng không dành cho mọi người, nhưng dành cho
những người bắt đầu trên chặng đường này, Flash CS3 cung cấp một lối vào đơn giản cho
các ứng dụng lập trình hướng đối tượng bằng cách tạo một lớp tài liệu(Document class). Một
thuộc tính Properties Inspector, bạn chỉ cần chỉ rõ lớp ngoài là điểm bắt đầu của bạn, và
không có script trong timeline được yêu cầu.
Tính tương thích của code để lại. Bởi vì ActionScript 3.0 không thể trộn lẫn với các phiên
bản trước đó cả ngôn ngữ trong các file giống nhau, sự phát triển các dự án hỗ trợ code cũ là
không được. Chúng tôi sẽ giới thiệu ngắn gọn các vấn đề phức tạp và thảo luận về chúng
rộng và xâu hơn trong các chương tiếp theo.
Trong chương này:
-ActionScript 3.0 là gì?
-Flash Platform
-Lập trình thủ tục và hướng đối tượng
-Document Class
-Tính tương thích của Code
-Những gì tiếp theo?
Khi bạn muốn biết những gì về ActionScript để bắt đầu công việc với version mới, một cái
nhìn tổng quan tóm tắt về sự phát triển của nó sẽ cho bạn hiểu thấu bên trong khi sử dụng nó
– đặc biệt liên quan tới Flash Player và làm thế nào nó vận dụng(handles) với các phiên bản
khác của ActionScript. Giới thiệu ngắn gọn chương này sẽ cho bạn cái nhìn nhanh hơn ở đây
ActionScript 3.0 phù hợp với tiến trình làm việc của bạn(workflow), và sẽ bao gồm:
1. ActionScript 3.0 là gì?
Nó được trông đợi (expected) rằng một phiên bản mới của ActionScript sẽ mang lại những
tính năng mới. Tuy nhiên, phiên bản này đã được viết lại từ đầu và thậm chí được xử lý tách
biệt từ các phiên bản ActionScript trước đó tại runtime. Điều này cố ý đẩy nhanh
(splintering) Flash Player làm tăng sự thi hành một cách đáng kể, nhưng cũng mang đến cho
nó những giới hạn như nhiều phiên bản ActionScript tác động đến nhau.
Flash Platform. Vào thời điểm viết cuốn sách này, ActionScript 3.0 là ngôn ngữ lập trình bên
trong của Flex và AIR (ứng dụng Adobe Inegrated Runtime). Sự khác nhau trong trình dịch
và môi trường cụ thể là do ngăn ngừa mọi file viết trong ActionScript 3.0 làm việc tại mọi
khía cạnh của Flash Platform, nhưng nguyên tắc cơ bản thực sự của nhiều ngôn ngữ cũng
như nhau ở mọi nơi.
Ngôn ngữ lập trình hướng thủ tục và hướng đối tượng. Nhiều chú ý (great deal of) tập trung
vào lập trình hướng đối tượng (object – oriented programming_OPP) có tiềm năng với
ActionScript 3.0, và khả năng và sức mạnh của ngôn ngữ thực sự phát huy (shine) trong
phạm vi này. Tuy nhiên, bạn sẽ chuyển sang ActionScript 3.0 dễ dàng không có nghĩa là là
bạn trở thành một chuyên gia OPP. Nó vẫn có thể được sử dụng tập hợp cấu trúc hàm nó mô
tả cách lập trình hướng thủ tục, để viết các dự án ActionScript 3.0. Ngoài ra, sử dụng Flash
CS3, nó vẫn có thể viết code trong timeline, hơn nữa coding chỉ riêng (exclusively) với các
lớp bên ngoài. Nếu bạn thích lập trình hướng đối tượng, cải tiến (enhancements) thành phần
cơ sở của lập trình hướng đối tượng trong ActionScript 3.0 làm nó trở nên mạnh mẽ hơn và
mang lại cho nó những tính năng quan trọng khác, ngôn ngữ lập trình hướng đối tượng cở
bản (như Java) và thực hiện việc chuyển ngôn ngữ dễ dàng một chút.
The Document Class. Lập trình hướng đối tượng không dành cho mọi người, nhưng dành cho
những người bắt đầu trên chặng đường này, Flash CS3 cung cấp một lối vào đơn giản cho
các ứng dụng lập trình hướng đối tượng bằng cách tạo một lớp tài liệu(Document class). Một
thuộc tính Properties Inspector, bạn chỉ cần chỉ rõ lớp ngoài là điểm bắt đầu của bạn, và
không có script trong timeline được yêu cầu.
Tính tương thích của code để lại. Bởi vì ActionScript 3.0 không thể trộn lẫn với các phiên
bản trước đó cả ngôn ngữ trong các file giống nhau, sự phát triển các dự án hỗ trợ code cũ là
không được. Chúng tôi sẽ giới thiệu ngắn gọn các vấn đề phức tạp và thảo luận về chúng
rộng và xâu hơn trong các chương tiếp theo.
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình ActionScript", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.
File đính kèm:
- giao_trinh_actionscript.pdf
Nội dung text: Giáo trình ActionScript
- nó làm toàn bộ công việc của class cho bạn. Điều này nghĩa là bạn không cần bất cứ code nào trong timeline và có thể soạn thảo toàn bộ các ví dụ trong Flash hay hệ soạn thảo bên ngoài hay môi trường phát triển do bạn lựa chọn. Hãy bắt đầu với một chương mô tả ví dụ mà bạn có thể sử dụng trong timeline. Nó không làm gì hơn là sử dụng phương thức trace() để đặt một từ trong Output panel – chỉ panel đó chấp nhận text đưa ra từ file của bạn. trace("Flash"); Để tạo một document class, bạn sẽ tạo một loại bao bọc quanh phương thức trace() trong cú pháp class đúng. Tạo một file ActionScript mới (đúng hơn là một FLA document) và gõ vào bên dưới document class như sau: 1 package { 2 3 import flash.display.MovieClip; 4 5 public class Main extends MovieClip { 6 7 public function Main() { 8 9 } 10 11 } 12 } Dòng đầu tiên, cùng với dấu kết thúc dòng 12, xác định package của lớp. Một package là một cấu trúc bắt buộc mà đảm bảo rằng class của bạn được biết để biên dịch. Tiếp theo, bạn phải import bất cứ lớp nào mà bạn cần để sử dụng trong package. Một document class về cơ bản cung cấp một lối tắt cho việc tạo một trường hợp của một movie clip hay sprite (một đối tượng Flash mà chỉ là một frame movie clip) và thêm nó vào danh sách hiển thị để nó có thể hiển thị được bởi Flash Player. (Điều này chỉ đúng khi đó chỉ là hiển thị, như trong trường hợp này. Chúng ta sẽ bao hàm sự vận dụng danh sách hiển thị trong chương 4.) Toàn bộ các document class phải xuất phát từ một trong hai lớp MovieClip hay Sprite (các lớp tùy chọn khác mà không là các document class thì không cần được mở rộng từ MovieClip hay Sprite nếu điều đó là không thích hợp). Trong ví dụ này sử dụng MovieClip nên bạn phải import lớp MovieClip, xem trong dòng 3. Dòng 5, cùng với dấu kết thúc ở dòng 11, là sự xác định lớp. Tên của nó là tùy ý nhưng, khi đặt tên nó, bạn sẽ cần bao gồm một vài quy tắc cơ bản và theo quy ước. Tên sẽ là một từ mà chưa tồn tại trong ActionScript, nó sẽ bắt đầu với một ký tự chữ cái (hơn là một số hay ký tự khác), và nó là loại chữ in hoa. Class phải là public, nghĩa là các lớp khác có thể truy cập tới constructor, và nó phải mở rộng từ MovieClip hay Sprite, như đã thể hiện ở trước đó. Dòng 7, cùng với dấu kết thúc ở dòng 9, là constructor lớp. Đây là hàm chính mà tự động
- chạy khi tạo một trường hợp của lớp này. Nó cũng phải public và phải cùng tên với lớp. Các hàm khác (nếu có) có thể, và phải, có các tên duy nhất. Toàn bộ những cái còn lại là được thêm vào các phương thức riêng lẻ được yêu cầu trong trường hợp này. Constructor phải đưa “Flash” ra Output panel, bởi vậy thêm dòng dưới này vào dòng 8: 7 public function Main() { 8 trace("Flash”); 9 } Khi được kết thúc, bạn phải save file trong cùng một thư mục file FLA của bạn ngay bây giờ. (Sau đó, bạn sẽ học cách làm thế nào để đặt các file trong các vị trí khác.) Bạn phải cho file cùng tên với lớp, nhưng thêm .as làm phần mở rộng. Cho nên, file này sẽ được đặt tên là Main.as. Bây giờ tạo một file FLA mới, chọn ActionScript 3.0 với phiên bản ngôn ngữ lập trình của nó, và save nó trong cùng thư mục trước đó bạn đã tạo file class. Tên của FLA là không quan trọng. Cuối cùng, mở Proterties Inspector và thêm tên document class của bạn, không phải tên của chính document đó. Trong trường hợp này, gõ vào Main thay vì gõ vào Main.as, giống như hình 1-1. Hình 1-1 thêm một document class vào FLA của bạn. Bây giờ xem trước file của bạn. Cũng sẽ tạo một trường hợp của class Main (nó mở rộng từ MovieClip và, bởi vậy, chạy giống như một movie clip) và thêm nó vào danh sách hiển thị. Lớp sẽ đưa “Flash” ra output panel, và kiểm tra ứng dụng của bạn sẽ hoàn thiện. Trong tương lại, bạn có thể cố gắng code timeline của chúng ta trong document class theo riêng bạn. Ban đầu, bạn chắc sẽ không biết các lớp đó cần import hay làm thế nào tạo bất cứ sự thay đổi nào có thể cho các biến hay các cấu trúc tương tụ để tuân theo cú pháp của lớp. Tuy nhiên, toàn bộ code ví dụ sẽ luôn đi cùng với các class để kiểm tra. Bạn có thể sử dụng các file này bất cứ lúc nào bạn muốn cho tới khi bạn có được định dạng cho document class. 5. Tính tương thích của code Tôi muốn kết thúc chương này với một sự báo trước nho nhỏ. Bạn không thể pha trộn code ActionScript 1.0 hay 2.0 với code ActionScript 3.0 trong cùng SWF. Bạn không thể làm được điều này nếu bạn đang học từ đầu, nhưng bạn có thể chạy trong hoàn cảnh này nếu bạn cố gắng update các project để lại bằng việc thêm vào code ActionScript 3.0. Nếu bạn cần chạy một hỗn hợp rời rạc ActionScript 3.0 và phiên bản trước đó của ngôn ngữ, như là một di sản bên trong một vỏ giao diện mới, bạn có thể làm điều đó bằng cách loading một SWF. Một file ActionScript 3.0 có thể load một SWF đã được tạo trong ActionScript 1.0
- hay 2.0, nhưng nó không thể truy cập được các biến hoặc hàm cũ của SWF. Do ý định và mục đích, cùng là không đúng trong quá trình đảo ngược. Một SWF cũ không thể load một SWF ActionScript 3.0. Trong chương 13, chúng ta sẽ thảo luận làm thế nào để truyền thông giữa sự riêng biệt của các SWF sử dụng trong quá trình xử lý cụ thể. Bây giờ, tuy nhiên, chỉ nhắc nhở chính bạn một lần nữa đó là bạn không thể phối hợp ActionScript 3.0 với các phiên bản của ngôn ngữ trong cùng một file. Những gì tiếp theo? Bây giờ bạn đã biết một chút về ActionScript 3.0 và Flash Platform, nó là một thời gian để xem các cái cơ bản của ngôn ngữ. Bằng cái nhìn tổng quan các khái niệm phiên bản độc lập khi bắt đầu, chúng ta có thể tập trung vào cú pháp mới trong các chương sau. Nếu bạn có nhiều kinh nghiệm với ActionScript 1.0 hay 2.0, bạn có thể bạn muốn bỏ qua tài liệu này. Trong chương tiếp theo, chúng ta sẽ thảo luận: Các khái niệm cơ bản mang đến cho bạn một tốc độ nhanh hơn, bao gồm việc sử dụng phương thức trace() như là công cụ chuẩn đoán để xem phản hồi tức thời từ script của bạn. Sử dụng các biến để lưu dữ liệu, bao gồm các mảng và các đối tượng tùy ý mà cho phép bạn dễ dàng quản lý thêm các giá trị, và loại dữ liệu của các dữ giá trị này để cải thiện các thông báo lỗi. Các cấu trúc logic như là các điều kiện để quyết định làm và các vòng lặp cho việc đơn giản hóa các nhiệm vụ lặp đi lặp lại. Các hàm mà có thể tách biệt code bên trong các khối thuận tiện điều đó sẽ chỉ được thực hiện khi được chỉ dẫn. Các cách định địa chỉ các đối tượng Flash với ActionScript, bao gồm sử dụng các đường dẫn tương đối hay tuyệt đối, và lối tắt định nghĩa là “this”.
- Chương 2: Các nguyên tắc cốt lõi của ngôn ngữ cơ bản Trong chương này: -Nhiều thể khác nhau cơ bản -Các biến và các kiểu dữ liệu -Các điều kiện. -Các vòng lặp. -Mảng. -Hàm. -Các đối tượng tùy chọn. -Từ khóa this. -Địa chỉ tuyệt đối và tương đối. -Những gì tiếp theo? Nó là một sự thật rằng ActionScript 3.0 là một bản viết lại hoàn thiện của ngôn ngữ kịch bản bên trong của Flash, và nó cũng đúng là ActionScript 3.0 không chia xẻ cùng môi trường code cơ bản như các phiên bản trước của ActionScript. Nhưng đó là toàn bộ ở đằng sau các scene. Sự thật là, toàn bộ các version của ActionScript tới nay nói chung chia xẻ khá ít. Điều đó không để nói rằng ngôn ngữ đang không có sự phát triển. Tất nhiên, mỗi version mới của ActionScript giới thiệu một lô các đặc trưng mới được cung cấp, là đúng với sự tiến triển của hầu hết các ngôn ngữ. Và, khi sự giải quyết là viết lại ActionScript 3.0 từ đầu, tận dụng chính điều hiện tại này để sắp xếp gọn gàng (tidy up) một vài thứ hỗn độn (messy) mà vẫn tồn tại từ những version trước đó như: tên, nghiêm ngặt hơn, và yêu cầu thực hiện tốt nhất như là các tùy chọn, và sự tổ chức lại event và hệ thống hiển thị. Toàn bộ sự phát triển này, tuy nhiên, không loại bỏ trên các chuẩn mà ActionScript đã từng dựa lên, và hầu hết cơ bản ngôn ngữ giữ nguyên không bị ảnh hưởng. Với mục đích tập trung trên các tùy chọn mới ActionScript 3.0 giai đoạn sau, chúng tôi muốn bao hàm một vài thứ của các nguyên tắc quan trọng hơn lên trước. Chúng tôi không có ý định không để ý tới các khái niệm này trong phần còn lại của cuốn sách. Tuy nhiên, bởi vì chúng là các nguyên tắc cốt lõi, bởi vậy, được sử dụng thường xuyên, chúng tôi hy vọng giải thích chúng đủ chi tiết ở đây và sử dụng ít thời gian nhất cho chúng khi chúng ta tiến hành. Nếu bạn đã thoải mái với ActionScript và đang đọc văn bản này để bắt đầu học version 3.0, bạn có thể muốn giữ lại, hay chí ít là đọc lướt, chương này. Nó là bởi không có nghĩa là một sự bao hàm toàn điện cho sự bắt đầu một khóa học. Cuốn sách này không thừa nhận rằng bạn là người từng trải (versed) với mọi phiên bản trước đó của ActionScript, nhưng quy mô và mục đích cần chúng ta nắm lấy mọi sự hiểu biết cơ bản của các khái niệm script tổng quát. Nếu bạn chưa sẵn sàng, vui lòng xem trên Lời giới thiệu để có ý tưởng tốt về việc cuốn sách này danh cho ai, cũng như một vài tham khảo khác nếu bạn cần thêm thông tin cần thiết để hiểu vấn đề. Bạn có thể sử dụng chương này, tuy nhiên, cái cần tập trung tham khảo khi khác khá niệm lập trình cần được giải thích. Trong trang này, chúng ta sẽ xem xét những chủ đề sau: • Các thể khác nhau cơ bản. Để nhận biết một vài mục và kỹ thuật được sử dụng trong toàn
- bộ cuốn sách là không đảm bảo cần thiết cho mỗi mục, chúng tôi sẽ bắt đầu với một vài yếu tố cần thiết (essential). • Các biến và các kiểu dữ liệu. thông tin phải được lưu trữ trong những cái chứa đựng được gọi là các biến nếu nó được gọi lại để sử dụng sau đó, và sự khai báo mà kiểu của dữ liệu sẽ được lưu trữ trong mỗi biến có thể giúp Flash kiểm tra các lỗi trong khi phát triển. • Các điều kiện. Trong nhiều trường hợp, khi một quyết định phải làm trong khi (in the course of) một sự thực thi của script, một điều kiện được sử dụng để đánh giá (evaluate) kết quả (outcome) của một quy định thiết lập của các điều kiện. Chúng ta sẽ xem các mẫu điều kiện if và switch. • Các vòng lặp. Khi bạn phải thực thi trong một chỉ lệnh trong nhiều lần, nó đôi lúc có ích để làm trong một cấu trúc vòng lặp. Chúng ta sẽ xem cấu trúc vòng lặp for được sử dụng thông thường, nhưng đồng thời nhiều khả năng để các vòng lặp rõ ràng, kể cả frame và các event timer. • Mảng. trong khi một biến có thể chứa đựng chỉ một giá trị đơn giản, nó có khả năng thường xuyên, hay thậm chí cần thiết, để lưu trữ hơn một giá trị trong một biến. Hình dung một danh sách các hàng hóa, với một vài mục, được viết trên một mảnh giấy đơn giản. Mảng là một cấu trúc dữ liệu mà cho phép bạn lưu trữ nhiều giá trị trong một biến. • Hàm. Hàm là yếu tố cần thiết cho nhiều ngôn ngữ lập trình, và cho phép bạn thực thi code chỉ khi bạn đã sẵn sàng để làm như vậy, và sử dụng lại code đó có hiệu quả. • Các đối tượng tùy chọn. Một đối tượng tùy chọn có thể xem xét như một loại biến đặc biệt mà cho phép bạn lưu trữ nhiều thông tin, một cách dễ dàng và nhất quán để truy lục dữ liệu. Các đối tượng cũng có thể rất hữu ích cho sự đơn giản hóa các nhiệm vụ của việc truyền nhiều tham số giá trị tùy ý vào một hàm. • This. Từ khóa this được sử dụng như một tham chiếu nhanh (shorthand), ý nghĩa cơ bản của đối tượng hay phạm vi trong một script. Điều này sẽ trở nên rõ ràng trong tình huống, nhưng việc hiểu từ khóa làm việc thế nào có thể giữ lại cho bạn nhiều sự lặp lại và giảm bớt sự cần thiết cho các tham chiếu phức tạp trong các script của bạn. • Địa chỉ tuyệt đối và tương đối. ActionScript có thể tham chiếu các địa chỉ tới các đối tượng của nó sử dụng các đường dẫn tuyệt đối, như sự bắt đầu từ timeline gốc và kể cả mọi đối tượng giữa nó và cái đích của bạn, hay các đường dẫn tương đối, như đi từ một cái gốc (cha) và xuống dưới là các anh em, không có vấn đề là bạn ở đâu. Lần nữa, chương này không có nghĩa là chỉ thực hiện chỉ sự tham khảo để mang đến cho bạn sự nhanh nhất nếu bạn hoàn toàn không có chút kinh nghiệm nào với ActionScript. Nó sẽ giống như cung cấp những phần chính bạn cần như các cơ bản khác – như ở đây script được lưu trong Flash – đã được bỏ qua một số lý do. Như được diễn tả trong phần giới thiệu, để bắt đầu một cuốn sách trên Flash, chúng tôi đề nghị Flash CS3 Professional, The Missing Manual, được xuất bản bởi O’Reilly, nhà xuất bản cuốn sách này. Tài nguyên để hoàn thiện thêm ActionScript, chúng tôi thành thật khuyên bạn sử dụng Essential ActionScript 3.0 bởi Colin Moock, cũng được xuất bản bởi O’Reilly. Sau đó quyết định tham khảo từ trung bình tới nâng cao, nhưng gần như ba khoảng thời gian kích cỡ của cuốn sách, nó cũng về căn bản hoàn thiện hơn. Toàn bộ các phần, chương này, cùng với bối cảnh và bổ sung sự giải thích được trình bày sau các chương, sẽ cung cấp cho bạn đủ hiểu các chủ đề và có các ví dụ đang làm việc.
- 1. Nhiều thể khác nhau cơ bản Một vài chủ đề hầu như chắc chắn không đòi phần được dành cho để bàn luận về chúng nhưng sẽ vẫn đề cập thích đáng để chúng sử dụng trong toàn bộ cuốn sách. Chúng tôi sẽ gồm cả một vài ví dụ ở đây, chỉ có khi đã có sự bắt đầu của chúng tôi. Sự thi hành tuần tự Phổ biến, ActionScript thực thi từ trên xuống dưới, từ trái sang phải theo thứ tự, mỗi dòng thực thi nó sau đó cái khác, sự làm việc từ trái qua phải. Một vài thứ có thể thay đổi thứ tự trong một số cách tinh tế, nhưng nó cơ bản là các quy tắc đáng tin cậy. Ví dụ, nguyên nhân sự thực thi theo trình tự của script nguyên bản để dừng trong khi thủ tục nhỏ đang được thực hiện. Khi thủ tục con đã hoàn thành, sự thực thi của script nguyên bản tiếp tục từ bên trái của nó. Các bước này sẽ được giải thích trong tình huống, trong toàn bộ script của cuốn sách này. Sử dụng dấu ; Chính thức sử dụng dấu chấm phẩy trong ActionScript là để thực thi hơn một lệnh trên một dòng đơn. Điều này là hiếm có trong script thông thường, và chúng tôi sẽ xem kỹ thuật này khi bàn luận tới các vòng lặp. Tuy nhiên, dấu chấm phẩy cũng được sử dụng để cho biết sự kết thúc một dòng. Điều này không đòi hỏi, nhưng nó được đề nghị cho sự rõ ràng và dễ dàng có thể chuyển sang học các ngôn ngữ khác mà dấu chấm phẩy là kết thúc một dòng được đòi hỏi. Sự đánh giá một biểu thức Nó giúp ích để chú ý rằng bạn thường thường không giải một phương trình khi thấy một biểu thức với các giá trị giống nhau bên trái và bên phải của dấu bằng. Ví dụ nếu bạn thấy một vài thứ giống như x = x + 1, nó không giống như bạn giải phương trình để tìm giá trị x, dòng này là sự gán một giá trị mới vào x bằng cách cộng thêm 1 vào giá trị trước đó của nó. Sử dụng lệnh trace Nghĩa là có sự phản hồi nhanh, trong một ví dụ, hay như một kỹ thuật kiểm tra và sự gỡ rối khi đang viết các script, nó rất hữu ích để sử dụng lệnh trace. Lệnh này đặt các text liên quan ra Output panel của giao diện Flash. Hiểu một cách nôm na là, điều này là một tùy chọn chỉ có thể sẵn dùng tại thời gian đó, không sử dụng tại runtime. 2. Các biến và các kiểu dữ liệu Các biến là sự thể hiện tốt nhất như là các cái chứa đựng trong cái mà bạn thay thế thông tin cho những lần gọi sau. Hình dung nếu bạn không lưu trữ mọi thông tin cho lần sau sử dụng. Bạn không thể sửa lại các giá trị đã được mô tả các thông tin trước đó (như là tên của những người dùng hay các mật khẩu), các script của bạn sẽ chịu đựng một sự thực hiện khó khăn theo cách lặp lại những cái không cần thiết cho tính toán, và bạn sẽ không thể mang những kinh nghiệm để thực hiện những bổ sung tiếp theo cho một nhiệm vụ. Tổng quát, bạn sẽ không thể làm bất cứ yêu cầu dữ liệu nào cho ứng dụng của bạn để “nhớ được”. myVariable = 1; Đó chỉ là một vài quy tắc và sự thực hành tốt để xem xét tên các biến khi nào. Chúng có thể
- chỉ là mộ từ, có thể gồm cả các ký tự alpha dài với kí hiệu dollar ($) hay dấu gạch dưới (_), nó không bắt đầu bằng một số, và không là một từ khóa hay từ dành riêng trong ActionScript Để chắc chắn giúp bạn sử dụng các biến thích hợp, ActionScript sẽ theo dõi chúng và cảnh báo cho bạn nếu bạn cố gắng thi hành một hành động không thích hợp trên chúng, mặt khác khi sử dụng chúng không đúng. Ví dụ, nếu bạn cố gắng thi hành một phép toán học trên một đoạn text, Flash sẽ đưa ra một cảnh báo để bạn có thể chỉnh đúng vấn đề. Để làm điều này, Flash phải chỉ ra những gì bạn muốn lưu trữ trong mỗi biến. Điều này được hoàn thành bởi việc khai báo biến trước khi sử dụng nó với từ khóa var, và đưa ra kiểu dữ liệu để lưu trữ trong đó bởi đi theo sau tên của biến với một dấu (:) và kiểu dữ liệu. Cụ thể, ví dụ trước đây để ghi nhớ số 1 phải viết như thế này: var myVariable:Number = 1; Đó là bao gồm một vài kiểu dữ liệu, nhưng được giới hạn, chúng được liệt kê trong bảng 2-1: Bảng 2-1. Các loại biến. Kiểu dữ liệu Ví dụ Diễn tả Number 4.5 Bất cứ số nào, bao gồm cả giá trị số thực. int -5 Là số nguyên uint 1 Là số nguyên không âm. String “hello” Text hay một xâu các ký tự. Boolean true Có giá trị true hay false. Array [2, 9, 17] Lưu hơn 1 giá trị trong một biến. Object myObject Cấu trúc cơ bản của toàn bộ ActionScript, nhưng cũng là mẫu tùy chọn từ đó có thể được sử dụng để lưu nhiều giá trị như là một mảng. Cũng có nhiều sự thêm vào các kiểu dữ liệu mà diễn tả các class được sử dụng trong biến. (như đã thảo luận trong Chương 1, nghĩ rằng các class như là các script ở bên ngoài mà điển hình là tra lại thông tin cho script của bạn và làm việc như các số của một tổ hợp lớn để tạo ứng dụng của bạn ). Ví dụ, dòng code sử dụng class MovieClip (xây dựng trong Flash) để tạo một MovieClip tại runtime: var myMC:MovieClip = new MovieClip();
- Nó là không thực tế để có thể liệt kê toàn bộ các kiểu dữ liệu ở đây, nhưng chúng tôi sẽ tham khảo các kiểu dữ liệu thường xuyên trong toàn bộ cuốn sách, và nó sẽ trở thành bản năng thứ hai để sử dụng chúng. Trong các phiên bản trước của ActionScript, sự khai báo và kiểu dữ liệu các biến là tùy ý. Tuy nhiên, trong ActionScript 3.0, điều này thực hiện là bắt buộc. Điều này có thể cảm thấy cồng kềnh nhưng chẳng bao lâu nữa, điều này sẽ trở thành bản năng thứ hai, và bạn sẽ có được sự đánh giá đúng về các trường hợp lỗi ngay lập tức và cung cấp các đặc điểm phản hồi này. Như chúng tôi bắt đầu đi xâu hơn trong cuốn sách, bạn sẽ học được các biến đó áp dụng cho toàn bộ phạm vi (thực ra là nơi mà biến đó tồn tại, như là timeline chính của Flash, hay các class cụ thể) hay là vị trí để các cấu trúc code cụ thể. Chúng ta sẽ trao đổi điều này trong các code ví dụ. Chú ý: Trong toàn bộ cuốn sách, các code ví dụ code là cú pháp được đánh màu tương tự như trong giao diện màu scripts trong Flash. Điều này giúp cho nhận dạng các mục như là cá phần của từ vựng ActionScript (như là từ khóa và các định danh) và làm chúng dễ dàng để xem các lời bình luận (diễn tả các đoạn văn bản mà không thực thi) và các string. 3. Các điều kiện Bạn sẽ thường cần để làm để giải quyết trong script của bạn, sự chọn lựa để làm một cái gì dưới một tình huống, và cái khác cho một tình huống khác. Những trạng thái này luôn được đặt bởi các điều kiện. Đơn giản là, một kiểm tra được tạo, hỏi điều một điều kiện là đúng. Nếu điều kiện là đúng, các giá trị kiểm tra là true, và do đó code cụ thể được thực thi. Nếu điều kiện không đúng, những hành động khác được thực hiện hay xen kẽ code được thực thi. if Hầu hết các mẫu phổ biến của điều kiện là câu lệnh if. Cấu trúc cơ bản của câu lệnh là từ khóa if, được đi theo sau bởi các dấu ngoặc đơn trong đó có các điều kiện để kiểm tra, và các dấu ngoặc móc bên trong đó để thực thi các câu lệnh khi mà giá trị của câu lệnh trả về true. Ba dòng đầu tiên trong ví dụ thiết lập một sự kiện. Giá trị câu lệnh if cho các sự kiện.(giá trị ban đầu thiết lập các sự kiện sẽ được sử dụng cho điều này và các ví dụ sau trong phần này). var a:Number = 1; var b:String = "hello"; var c:Boolean = false; if (a == 1) { trace("option a"); } Để đánh giá sự đúng đắn của kiểm tra bên trong ngặc đơn, các điều kiện thường sử dụng các toán tử so sánh và logic. Toán tử so sánh để so sánh hai giá trị, như là bằng (==), nhỏ hơn ( =), một vài trường hợp nữa. Một toán tử logic đánh giá sự đúng đắn của biểu thức. Bao gồm trong cái này là AND (&&), OR (||), và NOT (!). Điều này cho phép bạn phát biểu if (điều này and điều đó) là đúng, hay if “điều này hoặc điều đó” là đúng, hay if”điều này” không đúng. Ví dụ, sau đây sẽ cho giá trị là false, bởi vì cả hai điều kiện là không đúng. Như kết quả, không có gì trace ra trong Ouput panel.