Phụ 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.
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;
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
!= Không
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.