Giờ thứ 01: Làm quen với AS, Your First Look at AS<br />
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ữ<br />
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<br />
AS (nếu có thì càng dễ hơn).<br />
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<br />
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ế<br />
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à<br />
xác định được nơi lưu trữ AS ở trong Flash.<br />
Để đ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<br />
như script, movieclip v.v.<br />
Script là gì?<br />
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<br />
những gì mình viết (chỉ có mình viết sai chứ computer không làm sai<br />
). Phần nhiều<br />
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<br />
cho browser, hệ điều hành v.v.<br />
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<br />
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.<br />
Xuất xứ của AS<br />
AS rât giống ngôn ngữ C++, Java, javascript .v.v và được dựa trên tiêu chuẩn do<br />
ECMA (European Computer Manufactuers Association) lập ra gọi là ECMAScript.<br />
Nhiều người hiểu lầm rằng AS dựa trên Javascript, nhưng thực chất cả 2 đều dựa trên<br />
ECMAScript.<br />
Lúc đầu viết script trong Flash rất đơn giản và cho tới Flash 4 mới đuợc phát triển<br />
nhưng cũng vẫn còn "thô sơ" với những vòng lặp và các điều kiện "if...else". Cho tới<br />
Flash 5 thì dân Flash mới có thể lập trình và gắn liền script với các yếu tố trong<br />
movie. . Sang tới Flash MX thì AS đã trở thành ngôn ngữ lập trình toàn diện với hơn<br />
300 câu lệnh, hàm .v.v<br />
Nhận biêt AS<br />
AS đơn giản là những câu lệnh được viết bằng tiếng Anh (vì lẽ này mà mình sẽ không<br />
dịch các tư tiếng Anh liên quan đến AS, và một phần thì mình không giỏi thuật ngữ<br />
computer hay tiếng việt cho lắm) và các phép tính và dấu câu. Ví dụ sau:<br />
<br />
ActionScript<br />
on (press) {<br />
gotoAndPlay ("my frame");<br />
}<br />
<br />
Bạn có thể giải nghĩa đoạn mã trên bằng cách tìm hiểu các từ chính trong đó. Chữ<br />
"press" gới ý răng người dùng đang kích chuột vào một cái gì đó, (và trong trường<br />
hợp này là cái nút) Chữ kế tiếp "gotoAndPlay" do 4 chữ "go to and play" gộp lại, gợi<br />
ý rằng AS ra lệnh cho Flash tớimột điểm nào đó trong movie và bắt đầu chơi từ điểm<br />
đó.<br />
AS có thể làm những gì?<br />
Flash movie gồm có các scence (cảnh), và mổi cảnh sẽ có 1 timeline (thời giản<br />
biểu???) và timeline sẽ có các frame (khung) bắt đầu từ số 1. Thông thường thì Flash<br />
sẽ chơi từ frame 1 cho tới frame cuối của scence với tốc độ cố định và dừng lại hay<br />
lặp lại từ đầu tuy theo người làm Flash.<br />
Mục đích chính của AS là thay đổi thứ tự trong cách chơi của Flash. AS có thể dùng ở<br />
bất frame nào, hay chạy ngườc trở lại frame trước hay nhảy vài frame rồi chơi tiếp.<br />
Nhưng đó không chỉ là những gì AS có thể làm được. AS có thể biến film hoạt hình<br />
của Flash thành một chương trình ứng dụng có sự tương tác của người dùng. Dưới<br />
đây là những cơ bản mà AS có thể làm:<br />
•<br />
<br />
•<br />
<br />
•<br />
<br />
•<br />
•<br />
•<br />
<br />
•<br />
•<br />
<br />
Hoạt hình: Bạn không cần AS để làm hoạt hình, nhưng với AS thì bạn có thể<br />
tạo những hoạt hình phức tạp hơn. Ví dụ, trái banh có thể tưng xung quanh<br />
mành hình mà không bao giờ ngừng, và tuân theo các định luật vật lý như lực<br />
hút, lực ma sát, lực phản v.v Nếu không có AS thì bản cần phải dùng cả hàng<br />
ngàn frame để làm, còn với AS thì chỉ 1 frame cũng đủ<br />
Navigation (hông biết dịchlàm sao cho hay<br />
): thay vì movie chỉ chơi từng<br />
frame 1 theo thứ tự thì bạn có thể dừng movie ỏ bất cứ frame nào, và cho phép<br />
người dùng có thể chơi ở bất cứ frame nào .v.v<br />
Thu nhập thông tin từ người dùng (user input): bạn có thể dùng AS để hỏi<br />
người dùng 1 cầu hỏi, rồi dùng thông tìn đó trong movie hay có thể gửi cho<br />
server hay làm những gì bạn muốn.<br />
Thu nhập thông tìn từ các nguồn khác: AS có thể tương tác với server và lấy<br />
các thông tin từ server hay text file<br />
Tính toán: AS có thể làm bất cứ phép tính nào mà toán học cho phép<br />
Thay đổi hình ảnh trong movie: AS có thể thay đổi kích thước, màu sắc, vị trí<br />
của bất cứ movie clip (MC) nào trong movie flash của bạn. Bạn có thể tạo<br />
thêm phiên bản hay xoá bới phiên bản của MC với AS<br />
Phân tích môi trường của máy tính: Với AS bạn có thể lấy giờ từ hệ điều hành<br />
hay địa chỉ đang chơi movie Flash đó.<br />
Điểu khiển âm thanh trong flash movie: AS là cách tốt nhất để điều khiển âm<br />
thanh trong Flash,AS có chơi chậm, chơi nhanh, ngừng, quay vòng .v.v bât kỳ<br />
âm thanh nào trong Flash.<br />
<br />
Phát triển các khả năng của AS<br />
Điều quan trọng nhất mà AS có thể làm cho bạn là những gì chưa ai nghĩ tới<br />
Với<br />
AS và trí tưởng tượng và óc sáng tạo của bạn thì không có gì là không thể xảy ra với<br />
AS được.<br />
Mục đích của các sách, và của VNFX là hướng dẫn bạn hiểu biết về Flash để từ đó<br />
<br />
bạn có thể tự dùng nó để làm ra những sản phẩm tuyệt vời mà không ai có.<br />
Viết AS ở đâu<br />
Câu hỏi đầu tiên những ai tìm hiểu AS thường hỏi là "Viết AS vào đâu?". Flash có<br />
một môi trường làm multimedia khá phức tạp. Nếu bạn đã dùng Flash rồi hay đã đọc<br />
qua các hướng dẫn đi kèm với Flash, thì bạn đã biết các yếu tớ cơ bản như timeline,<br />
key frame v.v. nêu bạn chưa biết thì mình khuyên bạn nên tìm hiểu trước rồi tiêp tục ở<br />
đây. Ơ trong mục Flash Tổng Quá, VNFX có post link để download 3 cái CD hướng<br />
dẫn cơ bản cho người chưa bao giờ dùng Flash.<br />
Viết AS ở time line<br />
AS có thể viết vào key frame ở bất cứ timeline nào. Để làm như vậy, bạn chọn key<br />
frame ở trong timeline trước rồi bạn mở Action Panel ra (có thể nhấn F9) để viêt hay<br />
xem AS đã được viết ở đó. Mình khuyên bạn nên dùng Action Panel dưới dạng<br />
Expert hơn là Normal, vì như vậy bạn sẽ học được nhiều và lẹ hơn.<br />
Khi viết AS vào key frame như vậy thì AS ở key frame đó sẽ hoạt động khi mà Flash<br />
chơi tới key frame đó. Ví dụ như lệnh AS stop() được đặt ở key frame 5 thì Flash<br />
chơi tới key frame 5 thì sẽ dừng lại cho tới khi có lệnh khác. cách viết này gọi là viết<br />
vào time line<br />
Một trong những lý do viết script vào time line là khi bạn muốn dùng function (hàm),<br />
vì function cho phép chúng ta tái sử dụng đoạn mã đó từ nhiều nơi, nhiều level khác.<br />
Viêt AS ở nút<br />
Các phần tử của Flash movie được gọi là symbol (biểu tượng). thường thì symbol là<br />
các hình ảnh. Và có 3 loại symbol: button (nút), graphich (hình ảnh), movie<br />
clips(đoạn phim). 3 loại trên thì AS không thể viết liền với graphic, còn button và<br />
movie clip thì OK.<br />
Nút sẽ không có tác dụng gì cả nếu như không kèm AS lên trên nó. Muốn kèm AS<br />
vào nút thì chọn nút trên stage (sân khấu: diện tích của flash movie), rồi sau đó mở<br />
Action panel và viết vào đó như ta viết vào key frame.<br />
AS viết trên nút chỉ hoạt động khi chuột hoặc bàn phím tác động lên nút mà thôi<br />
Viết AS ở MC<br />
MC khác với graphic ở chổ MC được đặt tên khi mang vào stage, MC thường là hình<br />
ành động, và có thể có AS kèm theo MC. Để viết AS vào MC thì cũng tương tự như<br />
ta làm với nút.<br />
AS kèm theo MC có thể điểu khiển MC đó hay là các MC trong cùng một timeline<br />
hay các timeline ở ngoài movie<br />
Bài tập<br />
<br />
1. Tạo một movie mới<br />
2. tạo 3 key frames<br />
3. Dung Flash vẽ mỗi hình khác nhau cho mỗi frame<br />
4. Chạy thử movie (nhấn Control + enter)<br />
5. Sau đó trở lại timeline, viết vào keyframe 2 đoạn mã : "stop();"<br />
6. Cho chạy thử movie lần nữa<br />
7. Và kỳ này bạn chỉ thấy Flash chơi tới frame thứ 2 thì ngừng, và bạn đã thành công<br />
trong việc viết AS :<br />
<br />
Giờ thứ 02: Sử dụng Action panel, Using the Script Editing Window<br />
Nếu dân đồ hoạ coi Timeline là nhà thì dân lập trình với AS coi Action Panel là nơi<br />
cư ngụ của mình, tại đó dân AS có thể thay đổi, viết tất cả các lệnh. Vì vậy rất quan<br />
trọng là bạn có thể sự dụng quen thuộc Action Panel<br />
Flash MX sử dụng các panel để giúp bạn có thể lấy các thông tin về movie bạn đang<br />
làm một cách dễ dàng. Khi bạn cài đặt và chay Flash lần đầu tiên, Flash sẽ hỏi bạn<br />
muốn sử dụng Flash như thế nào và Flash sẽ xếp đặt các panel cho hợp lý. Bạn cũng<br />
có thể thay đổi cách xếp đặt theo ý của bạn.<br />
Nói chung bạn nên xếp đặt các panel của bạn làm sao cho thuận tiện cho bạn nhất, và<br />
cái này cũng cần có kinh nghiệm đó Mình dùng dual monitor, mình close hết các<br />
panel chỉ giữ lại 2 cái chính trên màn hình, mình kéo cái action panel và property<br />
panel qua một bên monitor, còn cái bên kia để cho cái stage, nếu cần mở panel nào<br />
thì mình dùng phím tắt để mở.<br />
Sử dụng Action panel có 2 cách: bình thường (normal) và chuyên dụng (expert). Khi<br />
mới chạy máy lần đầu thì Action panel được set dưới dạng bình thường. Ở dạng bình<br />
thường thì bạn không có thể đánh trực tiếp các câu lệnh, mà phải chọn từ các menu<br />
bên tay trái của panel. Với setup như vậy thì bạn không bao giờ phạm phải lỗi khi viết<br />
AS cả.<br />
Mình sẽ bỏ phần hướng dẫn dùng normal vì mình thấy dùng normal mode sẽ không<br />
bao giờ tiến được, dùng expert mode lúc đầu hơi mệt nhưng bảo đảm là các bạn sẽ<br />
học được mau và nhớ lâu hơn<br />
Sử dụng Action panel với expert mode thì bạn có nhiều tự do hơn, nhưng tự do đồng<br />
nghĩa với trách nhiệm nên bạn phải cẩn thật khi viết code. Từ normal mode chuyển<br />
sang expert mode thì nhấn phím tắt CONTROL + SHIFT + E, chuyển ngược lại thì<br />
dùng CONTROL + SHIFT + N (nhớ kích chuột vào action panel trước khi dùng phím<br />
tắt). Bạn có thể đổi từ Normal mode sang expert mode bất cứ lúc nào, nhưng đổi<br />
ngược lại thì chỉ được khi mà code của bạn không có lỗi.<br />
Action panel có popup menu (mũi tên chỉ xuống dưới, nằm ở góc phải của action<br />
panel) và trong đó có nhiều lệnh rất tốt cho bạn khi bạn dùng Action panel, nhất là đối<br />
với Expert mode. Bạn có thể tìm và thay thế bất cứ câu nào, chữ nào trong script của<br />
bạn. Phím tắt cho tìm kiếm là Control + F và cho thay thế là Control + H, nhấn F3 thì<br />
Flash sẽ tiếp tục tìm chữ, câu bạn muốn tìm.<br />
<br />
Một lệnh nữa là "Goto Line" giúp bạn tìm được câu bạn muốn tìm. Lệnh "Check<br />
Syntax" sẽ rà soát script của bạn và tìm những lỗi cú pháp. Lúc mới tập viết AS, thì<br />
dùng nên thường xuyên dùng Chech Syntax để check lổi trong sctipt. Lệnh tiếp theo<br />
là "Auto Format" và "Auto Format Options" giúp cho bạn trình bày script của bạn cho<br />
dễ đọc hơn. Bạn có thể thay đổi màu sắc, font chữ v.v. cho script của bạn để cho bạn<br />
dễ đọc code hơn bằng cách vào Edit > Preferences > ActionScript Editor. Các phần<br />
còn lại của pop-up window cho phép bạn được xuất hay nhập AS dưới dạng text file<br />
và in script ra giấy.<br />
Tuy gọi là expert mode nhưng thực ra dùng còn dễ hơn là normal mode. Bởi vì dưới<br />
expert mode thi Action panel chẳng khác gì chương trình "note pad" hay "text pad".<br />
Bạn chỉ việc viết những gì bạn muốn vào đó. Khi dùng dưới expert mode, bạn vẫn có<br />
thể tham khảo các câu lệnh, các cú pháp của AS ở cái khung bên trái của Action<br />
Panel. Và nếu bạn tôn thủ một số quy tắt thì bạn sẽ sử được chức năng "Code Hint"<br />
của Action Panel, chức năng này tạo nên nhưng khung nhỏ nhỏ trong đó có những câu<br />
lệnh của AS đúng hợp quy cho bạn lựa chọn.<br />
Để trở thành một "cao thủ" về AS thì bạn không thể nào không nắm vững về Action<br />
panel được.<br />
Sau đây là bài thực hành nho nhỏ, giúp bạn làm quen với Action panel dưới expert<br />
mode<br />
1. Tạo một movie mới<br />
2. Chọn key frame đầu tiên (frame số 1) của layer 1 (mình không dịch chữ layer = lớp<br />
vì dễ trùng với class= lớp)<br />
3. Mở Action panel (có thể dùng phím tắt hay vào trong phần Window > Action panel<br />
4. Chuyển sang expert mode (dùng phím tắt hày vào trong pop-up menu của Action<br />
panel để đổi)<br />
5. Vào chổ để viết AS<br />
6. Viết đoạn code sau:<br />
ActionScript<br />
trace ("I am expert");<br />
Khi bạn thử movie thì dòng chữ "I am expert" sẽ được hiện ra trong Output panel, và<br />
mình sẽ đề cập đến lệnh trace() vào những giờ tới<br />
<br />