Từ điển câu lệnh ActionScript cho Macromedia Flash
Trang 1Phụ lục: Từ điển câu lệnh ActionScript cho Macromedia Flash
Bạn thân mến!
Theo thiết kế của chúng ta, MF sẽ chiếu bộ phim hoạt hình mà ta thiết kế tuần
tự các khung từ đầu đến cuối của cảnh scence 1, tiếp đến cảnh 2 cũng vậy Điều này quá đơn giản Thế nhưng MF còn cho ta những công cụ mạnh hơn nhiều
MF giới thiệu một ngôn ngữ viết kịch bản phân cảnh rất chi tiết giúp cho ta chiếu phim theo từng tình huống, từng trạng thái, từng hoàn cảnh điều này khiến bộ phim luôn mềm dẻo và hấp dẫn Đối với những người học chuyên sâu về lập trình thì đó là một món quà vô giá, nó giống như những ma thuật khiến cho bộ phim biến hoá khôn lường, điều này mở ra cả một kỷ nguyên lập trình đơn giản cho những trò chơi, những bài thi và giảng dạy trắc nghiệm thay cho việc viết những câu lệnh xa xưa bằng Asembler khó hiểu và dễ nhầm lẫn
ActionScript còn là ngôn ngữ có tính mở giúp cho ta bổ sung không hạn chế
sự sáng tạo ngẫu hứng và rất chi tiết MF chia ra các phần sau:
1 Basic Actions: Chứa các lệnh tương tác căn bản
2 Actions: Chứa các lệnh chủ yếu
3 Operator: Chứa những phép tính khi làm việc với biến và biểu thức
4 Functions: Những chức năng có sẵn Thường được gọi là hàm, ta có thể thiết kế bổ sung hàm để sử dụng, như là ta sử dụng các hàm của MF
5 Properties: Thiết lập tính chất cho các đối tượng
6 Objects: Tập hợp đối tượng bị MF chi phối
Nếu bạn đã từng lập trình bằng một ngôn ngữ bất kỳ như Pascal, FoxPro, Delphi, C, Basic thì không nói làm gì vì chúng ta đã quá hiểu về biến, thủ tục, hàm, đối tượng, tính chất, biến cố Chúng tôi xin nhắc lại những cách hiểu đơn giản nhất để những bạn nào chưa từng lập trình cũng có thể đọc và hiểu cách làm việc với MF thông qua những bài viết nâng cao này Vì ActionScript viết giống như ngôn ngữ C, nên chúng tôi giới thiệu theo dạng ngôn ngữ C để các bạn dễ hiểu Xin tham khảo các tài liệu chuyên về C để hiểu rõ Chúng tôi chỉ nêu tóm tắt theo kiểu của người miền núi, cho những ai ít có điều kiện cũng
có thể hiểu và nhớ được Nếu bạn đã biết phần này, có thể bỏ qua
A Biến: (Variable)
Biến là một vùng các ô nhớ trong RAM, được đặt tên để tiện sử dụng
Ta nên đặt tên biến bắt đầu là chữ cái và liền tù tì theo nó có thể là chữ số hoặc dấu gạch dưới Không có dấu cách trong tên biến và đặc biệt bạn đừng đặt tên biến là chữ Việt Hãy dùng chữ không dấu Không nên đặt tên biến bằng tiếng Anh vì dễ lẫn với từ khoá điều này không cho phép, vả lại người học khác sẽ không hiểu được đó có phải là biến hay là cái gì khác Tên biến nên đặt gợi nhớ chức năng để khỏi quên
Biến chia làm nhiều loại để tăng tốc độ xử lý Mỗi loại giống như loại thùng để đựng giá trị cho biến Biến mà có độ lớn thì ta dùng thùng to Ví như bạn
không nên dùng một cái thùng phuy để đựng nước mắt, khi mà tất cả chương trình nước mắt nhiều lắm cũng chỉ 1 ca Xin bạn tham khảo các kiểu biến trong
vô số sách tin học xung quanh bạn: Ký tự (Character), Nguyên (Integer), Số nguyên ngắn (Short), Số nguyên dài (Long), số nguyên không dấu ngắn và dài,
số thực chính xác đơn và chính xác kép
Trang 2Ta thường dùng các dòng chuẩn bị biến trước khi sử dụng, gọi là khai báo Sau đó đặt giá trị ban đầu vào biến
Chuẩn bị biến ta dùng công thức:
Kiểu_biến Tên_biến;
Ví dụ:
Nếu tiếng Anh của bạn kém so với tiếng Đức hoặc tiếng Nhật bạn đang học thì bạn có thể đặt lại cách gợi nhớ dạng như thế này:
Typedef int SoNguyen;
Typedef unsigned short int NguyenNgan;
Khi sử dụng bạn chỉ việc thay bằng tiếng Việt cho dễ khi đó muốn chuẩn bị biến SoKhung bạn dùng công thức:
Quá dễ làm phải không bạn?
Khi sử dụng biến ban đầu thường bằng 0 hoặc không có gì Tại một thời điểm biến chỉ có 1 giá trị Nên để đặt giá trị vào biến ta dùng công thức:
Tên_biến = Giá_trị_cần_đặt;
Ví dụ:
SoKhung = 300;
Người ta có thể vừa gán vừa khởi tạo biến:
SoNguyen SoKhung = 300; // Tuy nhiên cách này không nên lạm dụng Khi tăng hay giảm giá trị của biến ta sử dụng công thức:
Tên_Biến = Tên_Biến + Giá_Trị_Tăng; //Tất nhiên khi giảm thì dùng dấu trừ
Ví dụ:
KhungHienTai = KhungHienTai + 60; //Đặt biến "khung hiện tại" về sau 60 khung
Ta thấy nhiều khi người ta viết:
KhungHienTai++; tương đương với KhungHienTai=KhungHienTai+1; KhungHienTai ; tương đương với KhungHienTai=KhungHienTai-1;
Ta có thể đặt giá trị vào biến, thông qua giá trị của biến khác Ta dùng công thức:
Biến_Cần_đặt = Phép_tính_với_biến_khác;
Ví dụ:
KhungDich = (KhungHienTai + 50)*2; // Sau biểu thức này KhungDich sẽ được gán giá trị mới, còn KhungHienTai vẫn giữ nguyên giá trị của nó
Lưu ý: Dùng các dấu + cho phép cộng, dấu - cho phép trừ, dấu * cho phép nhân, dấu / cho phép chia, % trả về số dư của phép chia nguyên (Gọi là phép MOD) Biểu thức được dùng nếu ưu tiên phép tính dùng dấu ngoặc đơn và chỉ dùng một loại dấu ngoặc đơn
Khi gán giá trị vào biến, biến sẽ có giá trị mới nên để ghi lại giá trị ta phải sử dụng một biến khác để lưu giữ giá trị Để khi cần ta lại lấy lại giá trị cũ cho biến thông qua biến lưu lại này
Ví dụ 1:
Sau30Phut = KhungHienTai;
// Các phép tính và công việc khác
// Khi cần lấy lại biến đã ghi thì dùng:
Trang 3
Ví dụ 2: Hai trường hợp sau là khác nhau:
KhungMoi = KhungHienTai++; //Khi dùng ++ sau biến KhungHienTai thì biến
KhungMoi vẫn lấy giá trị cũ của KhungHienTai, mặc dù sau biểu thức trên biến KhungHienTai đã tăng lên 1
KhungMoi = ++KhungHienTai; //Hai biến sẽ bằng nhau vì tăng xong rồi mới
gán
Ta có thể gán cùng một giá trị cho 2 biến tương tự như công thức sau:
KhungKetThuc = KetThucAmThanh = KhungHienTai + 50;
Khi viết kịch bản ta phải căn cứ vào nhiều biến cố, một trong các biến cố là
kiểm tra các biến để có quyết định phải làm gì tiếp theo, ta phải so sánh Khi
so sánh ta sử dụng các dấu so sánh kiểm tra bao gồm:
Ký hiệu
= = Bằng Kiểm tra xem 2 toán hạng
có bằng nhau không?
KhungHienTai = = 100
> Lớn
hơn
Toán hạng 1 có lớn hơn toán hạng 2 không?
KhungAmThanh>KhungHinhAnh
< Nhỏ
hơn Toán hạng 1 có nhỏ hơn toán hạng 2 không? KhungAmThanh<KhungHinhAnh
<= Nhỏ
hơn hoặc bằng
Toán hạng 1 có nhỏ hơn hoặc bằng toán hạng 2 không?
KhungAmThanh<=KhungHinhAnh
>= Nhỏ
hơn hoặc bằng
Toán hạng 1 có lớn hơn hoặc bằng toán hạng 2 không?
KhungAmThanh>=KhungHinhAnh
bằng (Khác)
Toán hạng 1 có khác toán hạng 2 không?
KhungAmThanh!=KhungHinhAnh
Đúng sẽ có giá trị là 1 (true) và sai có giá trị là 0 (False)
Để làm chủ được phần lập trình sau này, xin bạn hãy tìm hiểu kỹ phần tạm gọi
là từ điển câu lệnh cho MF Chúng tôi đã dịch ra toàn bộ phần trợ giúp để bạn đọc tham khảo Do phần này được dịch hoàn toàn tự động, nên nếu chỗ nào
không hiểu xin bạn góp ý để biên tập lại cho hoàn chỉnh Chân thành cảm ơn bạn
(Phương pháp dịch nháp tự động, sẽ trình bày ở một bài riêng trong chuyên
mục Lập trình với VBA)