Giáo trình Thiết kế đa phương tiện (Flash) - Ngành/nghề: Thiết kế trang web (Phần 1)

ỦY BAN NHÂN DÂN TỈNH LÂM ĐỒNG  
TRƢỜNG CAO ĐẲNG NGHỀ ĐÀ LẠT  
GIÁO TRÌNH  
MÔN HỌC/ MÔ ĐUN: THIẾT KẾ ĐA PHƢƠNG TIỆN (FLASH)  
NGÀNH/ NGHỀ: THIẾT KẾ TRANG WEB  
TRÌNH ĐỘ: CAO ĐẲNG  
Ban hành kèm theo Quyết định số: 1157/QĐ-CĐNĐL ngày 11 tháng 12 năm  
2019 của Hiệu trưởng Trường Cao đẳng Nghề Đà Lạt  
(LƢU HÀNH NỘI BỘ)  
Lâm Đồng, năm 2019  
TUYÊN BỐ BẢN QUYỀN  
Tài liệu này thuộc loại sách giáo trình nên các nguồn thông tin có thể được phép  
dùng nguyên bản hoặc trích dùng cho các mục đích về đào tạo và tham khảo.  
Mọi mục đích khác mang tính lệch lạc hoặc sử dụng với mục đích kinh doanh  
thiếu lành mạnh sẽ bị nghiêm cấm.  
Giáo trình được lưu hành nội bộ Trường Cao đẳng Nghề Đà Lạt.  
Trang 1  
LỜI GIỚI THIỆU  
Vài nét về xuất xứ giáo trình:  
Giáo trình này được viết theo căn cứ Thông tư số 03/2017/TT-BLĐTBXH ngày  
01 tháng 03 năm 2017 của Bộ Lao động – Thương binh và Xã hội về việc Quy định về  
quy trình xây dựng, thẩm định và ban hành chương trình; tổ chức biên soạn, lựa chọn,  
thẩm định giáo trình đào tạo trình độ trung cấp, trình độ cao đẳng.  
Quá trình biên soạn:  
Giáo trình này được biên soạn có sự tham gia tích cực của các giáo viên có kinh  
nghiệm, cùng với những ý kiến đóng góp quý báu của các chuyên gia về lĩnh vực công  
nghệ thông tin.  
Mối quan hệ của tài liệu với chương trình, mô đun/môn học:  
Căn cứ vào chương trình đào tạo nghề Thiết kế trang web, giáo trình giúp cung  
cấp cho người học những kiến thức cơ bản về kỹ thuật thiết kế Flash cũng như kỹ năng  
lập trình thiết kế flash bằng ngôn ngữ Action Script và Java Script.  
Để học được mô đun này người học cần có kiến thức cơ bản lập trình cơ bản.  
Cấu trúc chung của giáo trình này bao gồm 9 bài:  
Bài 1. Làm quen với AS  
Lời cảm ơn  
Giáo trình được biên soạn trên cơ sở các văn bản quy định của Nhà nước và tham  
khảo nhiều tài liệu liên quan có giá trị. Song chắc hẳn quá trình biên soạn không tránh  
khỏi những thiếu sót nhất định. Ban biên soạn mong muốn và thực sự cảm ơn những ý  
kiến nhận xét, đánh giá của các chuyên gia, các thầy cô đóng góp cho việc chỉnh sửa  
để giáo trình ngày một hoàn thiện hơn.  
Lâm Đồng, ngày 10 tháng 12 năm 2019  
Tham gia biên soạn  
1. Phạm Đình Nam  
2. Ngô Thiên Hoàng  
3. Nguyễn Quỳnh Nguyên  
4. Phan Ngọc Bảo  
Trang 2  
MỤC LỤC  
Trang 3  
Trang 4  
Bài 1. Làm quen với AS  
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ữ 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 AS (nếu có thì càng dễ hơn).  
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 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ế 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à  
xác định được nơi lưu trữ AS ở trong Flash.  
Để đ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 như script, movieclip v.v.  
1. Script là gì?  
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  
những gì mình viết (chỉ có mình viết sai chứ computer không làm sai ). Phần nhiều  
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 cho  
browser, hệ điều hành v.v.  
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 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.  
2. Xuất xứ của AS  
AS rât giống ngôn ngữ C++, Java, javascript .v.v và được dựa trên tiêu chuẩn do  
ECMA (European Computer Manufactuers Association) lập ra gọi là  
ECMAScript. 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 ECMAScript.  
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 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 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  
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  
300 câu lệnh, hàm .v.v  
3. Nhận biết AS  
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 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ữ computer hay tiếng việt cho lắm) và các phép tính và dấu câu. Ví dụ sau:  
ActionScript  
(press) {  
on  
gotoAndPlay ("my frame");  
}
Trang 6  
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ữ "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 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 ý 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 đó.  
4. AS có thể làm những gì?  
Flash movie gồm có các scence (cảnh), và mổi cảnh sẽ có 1 timeline (thời giản  
biểu???) và timeline sẽ có các frame (khung) bắt đầu từ số 1. Thông thường thì Flash  
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 lặp  
lại từ đầu tuy theo người làm Flash.  
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 ở 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. 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 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 đây là những cơ bản mà AS có thể làm:  
• 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ể  
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 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 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 ngàn frame để làm, còn với  
AS thì chỉ 1 frame cũng đủ  
• Navigation (hông biết dịchlàm sao cho hay ): thay vì movie chỉ chơi từng  
frame 1 theo thứ tự thì bạn có thể dừng movie ỏ bất cứ frame nào, và cho phép người  
dùng có thể chơi ở bất cứ frame nào .v.v  
• Thu nhập thông tin từ người dùng (user input): bạn có thể dùng AS để hỏi  
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 server hay  
làm những gì bạn muốn.  
• 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  
các thông tin từ server hay text file  
• 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  
• Thay đổi hình ảnh trong movie: AS có thể thay đổi kích thước, màu sắc, vị trí  
của bất cứ movie clip (MC) nào trong movie flash của bạn. Bạn có thể tạo thêm phiên  
bản hay xoá bới phiên bản của MC với AS  
• 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  
hay địa chỉ đang chơi movie Flash đó.  
• Điểu khiển âm thanh trong flash movie: AS là cách tốt nhất để điều khiển âm  
thanh trong Flash,AS có chơi chậm, chơi nhanh, ngừng, quay vòng .v.v bât kỳ âm  
thanh nào trong Flash.  
5. Phát triển các khả năng của AS  
Đ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 Với  
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  
AS được.  
Trang 7  
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ừ  
đó 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ó.  
6. Viết lệnh AS  
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ó 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 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, 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 ở đây. Ơ trong mục Flash Tổng Quá, VNFX có post link để download 3 cái  
CD hướng dẫn cơ bản cho người chưa bao giờ dùng Flash.  
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 frame ở trong timeline trước rồi bạn mở Action Panel ra (có thể nhấn F9) để viêt  
hay xem AS đã được viết ở đó. Mình khuyên bạn nên dùng Action Panel dưới dạng  
Expert hơn là Normal, vì như vậy bạn sẽ học được nhiều và lẹ hơn.  
Khi viết AS vào key frame như vậy thì AS ở key frame đó sẽ hoạt động khi mà  
Flash chơi tới key frame đó. Ví dụ như lệnh AS stop() được đặt ở key frame 5 thì  
Flash 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 vào time line  
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), 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.  
6.1 Viết AS ở nút  
Các phần tử của Flash movie được gọi là symbol (biểu tượng). thường thì  
symbol là các hình ảnh. Và có 3 loại symbol: button (nút), graphich (hình ảnh), movie  
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à  
movie clip thì OK.  
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 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ở  
Action panel và viết vào đó như ta viết vào key frame.  
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  
6.2 Viết AS ở MC  
MC khác với graphic ở chổ MC được đặt tên khi mang vào stage, MC thường là  
hình ành động, và có thể có AS kèm theo MC. Để viết AS vào MC thì cũng tương tự  
như ta làm với nút.  
AS kèm theo MC có thể điểu khiển MC đó hay là các MC trong cùng một  
timeline hay các timeline ở ngoài movie  
Bài tập  
1. Tạo một movie mới  
2. tạo 3 key frames  
3. Dung Flash vẽ mỗi hình khác nhau cho mỗi frame  
Trang 8  
4. Chạy thử movie (nhấn Control + enter)  
5. Sau đó trở lại timeline, viết vào keyframe 2 đoạn mã : "stop();"  
6. Cho chạy thử movie lần nữa  
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 trong việc viết AS :  
Trang 9  
Bài 2. Sử dụng Action panel  
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 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 trọng là bạn có thể sự dụng quen thuộc Action Panel  
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 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 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 có thể thay đổi cách xếp đặt theo ý của bạn.  
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à cái này cũng cần có kinh nghiệm đó. Bạn có thể dùng dual monitor, close hết  
các panel chỉ giữ lại 2 cái chính trên màn hình, kéo action panel và property panel  
qua một bên monitor, còn bên kia để cho cái stage, nếu cần mở panel nào thì dùng  
phím tắt để mở.  
Sử dụng Action panel có 2 cách: bình thường (normal) và chuyên dụng (expert).  
Khi 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 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 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 AS cả.  
Sử dụng Action panel với expert mode thì bạn có nhiều tự do hơn, nhưng tự do  
đồng 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 sang expert mode thì nhấn phím tắt CONTROL + SHIFT + E, chuyển ngược  
lại thì dùng CONTROL + SHIFT + N (nhớ kích chuột vào action panel trước khi dùng  
phím tắt). Bạn có thể đổi từ Normal mode sang expert mode bất cứ lúc nào, nhưng đổi  
ngược lại thì chỉ được khi mà code của bạn không có lỗi.  
Action panel có popup menu (mũi tên chỉ xuống dưới, nằm ở góc phải của action  
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  
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  
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ì  
Flash sẽ tiếp tục tìm chữ, câu bạn muốn tìm.  
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  
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ì  
dùng nên thường xuyên dùng Chech Syntax để check lổi trong sctipt. Lệnh tiếp theo là  
"Auto Format" và "Auto Format Options" giúp cho bạn trình bày script của bạn cho 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 dễ  
đọc code hơn bằng cách vào Edit > Preferences > ActionScript Editor. Các phần 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 và in  
script ra giấy.  
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 expert mode thi Action panel chẳng khác gì chương trình "note pad" hay "text  
pad". 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ó 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 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  
Trang 10  
Hint" 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 lệnh của AS đúng hợp quy cho bạn lựa chọn.  
Để 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 panel được.  
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 mode  
1. Tạo một movie mới  
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 vì dễ trùng với class= lớp)  
3. Mở Action panel (có thể dùng phím tắt hay vào trong phần Window > Action  
panel  
4. Chuyển sang expert mode (dùng phím tắt hày vào trong pop-up menu của  
Action panel để đổi)  
5. Vào chổ để viết AS 6. Viết đoạn code sau:  
ActionScript trace ("I  
am expert");  
Khi bạn thử movie thì dòng chữ "I am expert" sẽ được hiện ra trong Output  
panel, và lệnh trace() sẽ được đề cập ở phần sau.  
1. Học cách lập trình  
Lập trình có thể coi là khoa học và nghệ thuật. Vì vậy lập trình viên giỏi cần có 2  
điều kiện kiến thức về ngôn ngữ mà họ dùng và tính sáng tạo, ít khi nào có trường hợp  
chỉ có một cách lập trình cho một đề án.  
Thường thì khái niệm về các ngôn ngữ lập trình đều giống nhau, và trong bài  
này sẽ bàn về những khái niệm lập trình và làm sao áp dụng nó trong Flash.  
2.Cách suy nghĩ của computer  
Thật ra computer chẳng biết suy nghĩ đâu, chỉ biết làm việc theo mệnh lệnh một  
cách không suy nghĩ. Vì vậy computer không bao giờ lỗi mà lỗi ở người viết lệnh sai  
khiến nó.  
Còn AS chỉ là một chuổi lệnh, chỉ thị cho computer, hay đúng ra là Flash phải  
làm những gì trong môi trường runtime (runtime environment).  
Khi viết AS thì bạn nên tự coi mình "ngu" như computer, và đọc lại những dòng  
lệnh AS và nghĩ tới kết quả của việc thi hành lệnh đó. Khi tự đặt mình vào vị trí của  
computer, bạn sẽ đoán được script của bạn sẽ làm những gì trong môi trường runtime,  
và bạn có thể thấy ra những lỗi mà bạn vô ý mắc phải. Khi mà bạn trở thành diễn viên  
tuyệt vời trong vai computer thì bạn cũng trở thành một lập trình viên tài ba.  
Trang 11  
3. Lệnh, hàm, và phép tính  
Lệnh (command) là yếu tố căn bản của AS để chỉ thị Flash làm một hành động  
cụ thể. Lệnh được thi hành tuyệt đối trong các trường hợp khả thi. Ví dụ nếu như ta  
viết gotoAndPlay(5) để cho Flash tới frame 5 và chơi, nhưng nếu trong movie không  
có frame 5 thì lệnh không thể làm được.  
Hàm (function, mình sẽ dùng từ function nhiều hơn là hàm) là phần tính toán  
các phép tính và cho ra (return) một kết quả. Ví dụ hàm random() sẽ cho ra một con số  
ngẫu nhiên nào đó, hay hàm sqrt() sẽ cho ra giá trị bình phương của 1 số mà hàm nhận  
được truyền cho.  
Lệnh và hàm đều có thể được truyền cho 1 hay nhiều thông số (parameter, mình  
sẽ dùng từ parameter thay vì thông số), và những thông số đó giúp cho hàm và lệnh  
được cụ thể hơn. Ví dụ gotoAndPlay(5) thì 5 là thông số, nếu như không có thông số  
này thì lệnh "gotoAndPlay" sẽ không biết rõ phải nói Flash đi đâu. cũng như hàm  
sqrt() cũng cần có thông số để cho ra giá trị bình phương của số ấy.  
Sự khác biệt giữa hàm và lệnh chính là các phép tính. Phép tính thường là những  
dấu  
+, -, *, / hay là phép so sánh <, ==. >. Hàm có phép tính, lệnh thì không  
4. Biến số  
Biến số (parameter) cần thiết trong mọi ngôn ngữ lập trình vì nó lưu trử thông  
tin về một cái gì đó trong chương trình. Biến số gồm có 2 phần: tên và giá trị. Đôi khi  
bạn chỉ cần lưu trử thông tin trong biến số một thời gian ngắn, ví dụ bạn muốn Flash  
thi hành 1 số lệnh 10 lần thì bạn cần đếm số lần mà Flash đã thi hành lệnh để có thể ra  
lệnh cho Flash ngưng ngay sau khi thi hành xong lệnh lần thứ 10. Nhưng cũng có lúc  
bạn cần phải lưu lại thông tin trong một thời gian dài hay trong suốt quá trình thời gian  
Flash chơi.  
Tên của biến số thường là một nhóm từ, hay cũng có thể chỉ đơn giản là 1 từ, hay  
1 chữ cái. Thông thường tên của biến số nên rõ ràng dễ hiểu và nói lên được tính chất  
của thông tin mà biến số đang lưu trử. Ví dụ nếu bạn muốn lưu trử tên của người dùng  
trong biến số thì bạn nên đặt tên biến số đó là userName (mình nghĩ đặt tên tiếng Anh  
dễ hiểu hơn, vì tiếng việt không dấu cũng dễ bị hiểu lầm), bạn có thể đặt tên biền số đó  
là "n" nhưng quá ngắn, người đọc script của bạn sẽ khó hiểu, nếu đặt là name thì dễ  
trùng với các biến số hay từ khoá khác (_name là một đặc tính của đối tượng  
MovieClip)  
Khi viết AS, bạn cần lưu ý viết làm sao cho dể hiểu và dễ đọc. Và các lập trình  
viên quy ước tên biến số theo quy tắc sau: tên biến số luôn viết thường chữ đầu tiên,  
và viết hoa chữ cái đầu tiên cho các chữ kế tiếp, ví dụ userName, userLastName,  
userMotherMaidenName v.v.  
Lưu ý rằng chỉ các chữ cái và số mới được dùng để đặt tên cho biến số, và luôn  
bắt đâu tên bằng chữ cái.  
Có nhiều loại biến số để lưu trử nhiều loại thông tin, và ngay mỗi loại thông tin  
cũng có thể có nhiều loại khác nhau nữa. Như số (number) là một loại giá trị của biến  
Trang 12  
số, và dưới nó còn có các loại khác như số nguyên (integer), số ... không nguyên  
(floating, double). Bạn cũng có thể dùng biến số để chứa các chuỗi (chuỗi gọi tắt cho  
chuỗi chữ cái), chuỗi có thể chỉ có 1 chữ cái, nhiều chữ cái hay là không có gì hết, tất  
cả các chuỗi sau đây đều hợp lệ: "ablsdfjksl", "a", " ", "". Khi viết một chuỗi thì cần  
dùng dấu ngoặc kép ("") để bắt đầu và kết thúc chuỗi.  
Trong các ngôn ngữ lập trình khác như Java, C++, hay ngay cả ActionScript 2.0  
trong Flash MX 2004 thì bạn phải xac định trước loại thông tin nào bạn sẽ lưu trong  
biến số. Nhưng với ActionScript 1 (trong FlashMX) thì bạn không cần làm việc này.  
Ví dụ biến số userName lúc đầu chứa 1 chuỗi, nhưng sau đó lại chứa 1 số nguyên thì  
cũng vẫn hợp lệ.  
Ngoài chuỗi và số, còn có nhiều loại khác nữa nhưng chúng ta sẽ đề cập tới vào  
những bài sau.  
5. Điều kiện  
Trong những trường hợp chúng ta không biết nên ra lệnh cho Flash phải làm gì  
cho thích hợp với từng tình huống thì ta có thể dùng "điều kiện" để ra lệnh cho Flash.  
Ví dụ nếu như bạn ra lệnh cho Flash không cho người dùng coi một đoạn phim  
trong Flash nếu như user dưới 18 tuổi, nếu user trên 18 tuổi thì hãy chơi đoạn phim ấy.  
Trước tiên, Flash sẽ so sánh số tuổi của user với số 18, nếu như số tuổi của user thoả  
mãn điều kiện chúng ta đặt ra thì Flash sẽ có 1 giá trị true từ phép so sánh trên, và  
ngược lại sẽ là false Điều kiện sẽ luôn luôn là đúng (true) hay sai (false). Một giá trị  
chỉ có đúng hay sai thì được gọi là boolean. Sau khi thực hiện phép so sánh và có  
được kết quả từ phép so sánh trên, Flash sẽ chọn một trong 2 giải pháp do chúng ta  
đưa ra cho từng trường hợp.  
Đôi khi chúng ta cần có nhiều điều kiện hơn chỉ là đơn giản "true" hay "false", ví  
dụ như bạn muốn Flash chơi đoạn phim A cho ngừơi trên 18 tuổi, dưới 18 nhưng trên  
13 thì chơi đoạn phim B, và những ai dưới 13 thì chơi đoạn phim C.  
6. Vòng lặp  
Con người làm ra computer vì lười không muốn làm nhiều, mà bán cái cho  
computer. Nhất là phải làm đi làm lại 1 việc nào đó thì càng nhàm chán. Vì vậy vòng  
lặp (loop) là một yếu tố quan trọng trong các ngôn ngữ lập trình. AS cũng vậy, bạn có  
thể dùng vòng lặp trong script. Muốn cho vòng lặp chạy 10 lần thì sẽ có 1 biến số  
dùng để đếm vòng lặp, bắt đầu từ 0, Mỗi vòng lặp chạy thì biến số này sẽ tăng thêm 1.  
Khi tới 9 thì vòng lặp sẽ dừng lại. Sau đây minh hoạ của vòng lặp này:  
1. Một số lệnh trứơc vòng lặp  
2. Bắt đầu vòng lặp, set biến số counter = 0  
3. Làm một số lệnh trong vòng lặp  
4. Tăng biến số counter +=1  
5. Nếu biến số counter nhỏ hơn 9, trở lại bước thứ 3  
6. Ra khỏi vòng lặp, và tiếp tục chương trình.  
Trang 13  
Ở đây chúng ta bắt dầu biến số counter = 0 vì quy ước thông thường các ngôn  
ngữ lập trình đều bắt đầu vòng lặp ở 0.  
Một điểm đáng lưu ý của vòng lặp là điều kiện đước xét trước khi thực hiện các  
lệnh trong vòng lặp. Trong vài trường hợp, điều kiện sẽ được xét sau khi thực hiện các  
lệnh trong vòng lặp. Chúng ta cũng có thể ngưng vòng lặp trước điểm dừng của nó, và  
điều này sẽ được đề cập tới vào bài kế tiếp  
Lệnh, hàm, phép tính, biến số, thông số, điều kiện, vòng lặp là những phần căn  
bản trong ngôn ngữ lặp trình, và cái này thì ai cũng biết nhưng làm sao phối hợp lại  
thành một chương trình hoàn hảo mới là cái khó.  
Chương trình đơn giản chỉ là một tập hợp lệnh cho computer để giải quyết 1 vấn  
đề nào đó. Vì vậy trước khi viết 1 chương trình chúng ta cần phải xác định "vấn đề"  
cần phải giải quyết. Ví dụ thực tế ở ngoài đời, mẹ bạn nhờ bạn ra chợ mua gà. Nhưng  
chỉ đơn giản nói ra chợ mua gà thì chưa đủ vì biết mua gà sống hay gà làm rồi. nếu  
mua gà sống thì mua loại nào v.v. Đó là chưa nói tới mua gà ở chở nào, giá cả ra sao  
v.v. Nếu như bạn mẹ nói rõ là ra chợ bến thành, mua 1 con gà mái dầu, nặng khoảng 2  
kg, với giá khoảng 10000 thì thật là dễ dàng cho bạn phải không?  
Biết được vấn đề mua gà rồi thì tìm cách mua gà. Bạn phải "lên kế hoạch", nên  
nhờ bạn chở hay đi taxi ra chợ bến thành. Nếu đi taxi đi hãng nào, tìm số phone để gọi,  
v.v. còn nhờ bạn chở đi thì nhờ tên nào. Rồi nên mặc quần áo nào đi chợ. Ra đến chợ  
thì phải mặc cả làm sao, trả tiền mặt hay ghi sổ nợ. Bạn thấy không, từ một chuyện  
mua gà đơn giản vậy mà có thể tốn cả ngày trời để lên chương trình.  
Khi viết lệnh AS, bạn cần phải lưu ý tới tất cả mọi việc dù nhỏ cách mấy để cho  
Flash có thể làm đúng theo như ý bạn trong mọi tình huống. Các chương trình có bug  
không phải vì người viết dỡ mà vì chưa nghĩ tới hết mọi tình huống thôi.  
Tóm lại, điều quan trọng trong lập trình là khả nẳng phân tích một vấn đề chính  
thành nhiều vấn đề nhỏ cho tới khi không còn nhỏ hơn nữa, và sau đó xây dựng  
chương trình từ giải quyếy các vấn đế nhỏ lên dần cho tới vấn đề chính.  
7. Viết mã hoàn chỉnh  
Bug đơn giản là lỗi của chương trình mà bạn tạo ra. Bug có thể chỉ là những lỗi  
cú pháp đơn giản, hay là những lỗi phức tạp do cách bạn giải quyết vấn đề trong môi  
trường runtime.  
Để tránh có bug trong script của bạn thì bạn nên tốn nhiều thì giờ vào giai đoạn  
phân tích, thiết kế chương trình cho script của bạn. Kiểm tra các đoạn code nhiều lần,  
và đóng vai "computer" cho thật giống, đừng suy nghĩ, mà thi hành các lệnh trong  
script của bạn. Viết từng đoạn code nhỏ rồi ráp lại với nhau (vì vậy mà lập trình theo  
hướng đối tượng được sử dụng nhiều nhất).  
Nếu script của bạn có bug thì đừng thế mà nản lòng, vì không có chương trình  
nào do con người làm ra mà không có bug cả. Vì vậy bạn đừng cố gắng viêt code sao  
cho tuyệt hảo không có lỗi. Nếu có bug thì bạn diệt bug thôi. Bạn có thể chuẩn bị  
"chiến đấu" với bug bằng cách viết code sao cho dễ hiểu và dễ đọc, viết nhiều chú  
thích cho các đoạn mã. Đôi khi diệt bug (debug) rất đơn giản nhưng có khi cũng rất  
khó mà biết bug ở đâu để diệt. Flash có kèm theo vài công cụ giúp bạn debug dễ dàng  
hơn, chúng ta sẽ nói tới các công cụ này trong phần sau.  
Trang 14  
Bài 3. Viêt code trong Flash  
1. Làm việc với Output window  
Khi bạn viết script, bạn sẽ dùng tất cả những từ khóa, và ký hiệu v.v. Vậy trước  
tiên chúng ta sẽ phân tích một đoạn script sau đây. Đoạn script này gắn vào 1 button.  
ActionScript on (press) {  
var myVariable = 7;  
var myOtherVariable = "Macromedia";  
for (var i=0; i<10; i++) {  
trace(i);  
if (myVariable + 3 == 5) {  
trace(myOtherVariable);  
}
}
}
Dòng đầu tiên xác định những đoạn code sau đó được kích hoạt khi mà user  
nhấn vào nút. hàm on(press) chỉ có thể sự dụng trong vào trong nút mà thôi. Ngoài ra  
bạn có thể dùng on(release) nếu như bạn muốn kích hoạt đoạn mã trên sau khi user  
nhấn nút, và buông tay.  
Dấu ngoặc móc {} ờ đầu và cuối đoạn code, gói đoạn code đó vào làm một, và  
đều được kích hoạt khi nhấn nút. Các bạn lưu ý thấy đoạn code được viết vào trong để  
cho dễ nhận thấy cả đoạn code này phụ thuộc vào on(press). Các bạn nên viết lùi vào  
trong cho những đoạn code phụ thuộc vào 1 lệnh hay hàm nào đó.  
Dòng thứ hai lập ra biến số (mình sẽ viết tắt là var nhe) tên myVariable, và đặt  
giá trị bằng 7 cho nó. tương tự hàng kế tiếp lập ra var tên là myOtherVariable và cho  
giá trị của nó là "Macrmedia". Cả 2 câu này được kết thúc bằng dấu chấm phẩy ;  
Dòng thứ 4 chính là vòng lặp (mình sẽ gọi là loop cho tiện nhe) for (sẽ nhắc tới  
các loại loop ở phía dưới) và các điều kiện của loop này. Nó sẽ lặp 10 lần với điều  
kiện bắt đầu là i=0 và nó sẽ tăng thêm 1 cho mỗi lần lặp cho tới khi nó lên tới 9.  
Tương tự như on(press), for loop cũng có đoạn code cho riêng nó, và đựơc bọc quanh  
bằng { } và đoạn code trong đó chỉ kích hoạt khi mà các điều kiện của for loop được  
thỏa mãn.  
Dòng thứ 5 là lệnh trace(), lệnh này chỉ viết thông tin ra ở output window trong  
lúc bạn làm việc với Flash, user sẽ không thấy được. Kế tiếp là điều kiện, if là từ khoá  
trong Flash, và nó sẽ kiểm tra kết quả của phép so sánh myVariable + 3 ==5. Nếu mà  
kết quả là đúng thì nó sẽ kích hoạt lệnh trace ở trong, và sẽ viết ra output window giá  
trị của myOtherVariable.  
Ở trên chúng ta có nhắc tới output window, mà không nói rõ là gì. Output  
window là một window trong software Flash, và chỉ xuất hiện khi mà bạn chảy thử  
movie. Nếu Flash compile movie cho bạn và phát hiện ra lỗi thì Flash sẽ viết ra các  
output window này. Trong khi chạy thử movie, thì lệnh trace() mới có thể viết các  
Trang 15  
thông tin ra output window. Output window rất quan trọng trong việt "diệt bọ", dùng  
nó chung với trace bạn có thể quan sát các thông số, biến số, các đối tượng, thuộc tính  
đối tượng .v.v  
Trong lúc học AS, bạn có thể viết một đọan script ngắn không làm gì cả những  
chỉ để viết thông tin ra output window, như đoạn code trên.  
Thực hành: viết thông tin ra output windown  
Cách tốt nhất để hiểu rõ chức năng của output window là sử dụng nó. Bây giờ  
mình sẽ viết một đoạn code ngắn gửi thôi tin ra output window nhe.  
1. Tạo một file mới  
2. Chọn frame đầu tiên của movie, mở Action panel. Chỉnh kích thước cho  
action panel đủ lớn để viết, và nhớ dùng expert mode  
3. Kích chuột vào phần viết script và viết câu sau: trace("hello world");  
4. Chạy thử movie (Control + Enter)  
5. Bạn thấy gì ở output window? (Nếu output window của bạn chưa mở thì hãy  
nhấn F2)  
Giống như action panel, output window có 1 cái pop-up menu nho nhỏ ở trên góc  
phải. Bạn có thể dùng nó đễ copy, xoá hay save nội dung của output window hay có  
thể tìm kiếm chữ, v.v. Ngoài ra, pop-up menu này có phần cho bạn chỉnh chế độ "diệt  
bọ", bạn có thể chọn không cần output window in ra các lỗi (none), hay chỉ in lỗi  
(error), hay chỉ in cảnh báo (error) và cuối cùng là in ra chi tiết các lỗi hay cảnh báo  
(verbose).  
2. Biến số cục bộ và toàn bộ  
Variable (biến số) dùng đễ lưu trữ thông tin. Và sử dụng variable trong AS rất  
dễ dàng. Bạn chỉ cần ấn định giá trị cho variable. Ví dụ: myVariable = 7. Chúng ta  
tạo variable có tên là myVariable và ấn định 7 là giá trị cho nó. (bạn có thể đặt tên cho  
variable là bất cứ gì bạn muôn)  
Bây giờ bạn có thể thử viết đoạn code sau:  
ActionScript var1= 7;  
var2= "hello world";  
trace ("var1: " + var1+ " /var2: " + var2);  
Khi bạn chạy thử movie thì output window sẽ có hàng chữ sau: var1: 7 /var2:  
hello world Vì số 7 và "hello world" được chứa trong var1 và var2 sẽ được in ra.  
Variable có 2 loại, local và global. Global variable (biến số toàn bộ) thì bạn có  
thể truy cập giá trị của nó ở bất cứ nơi nào trong movie. Tạo global variable không đòi  
hỏi một bạn phải làm một cái gì đặc biệt cả, bạn có thể dùng nó như cách trên, và  
Flash tự động biến nó thành global variable. Flash movie dùng hệ thống level, và  
timeline của movie chính là root leve (gốc), còn các movie clip cũng chính là một  
Trang 16  
Flash movie nhỏ ở trong Flash movie lớn. Các hình ảnh, script ở trong một movie clip  
là 1 level thấp hơn root level.  
Local variable (biến số cục bộ), khác với global variable, local variable chỉ có  
trể truy cập trong cùng một đoạn code, hay trong cùng một timeline. Khi dùng local  
variable thì khi ra khỏi timeline hay đoạn code đó thì Flash sẽ xoá local variable ra  
khỏi bộ nhớ. Muốn tạo local variable thì dùng từ khoá var trước tên của local variable,  
ví dụ: var myLocal = "This is local"; Bạn chỉ cần dùng từ khoá var 1 lần thôi, những  
lần dùng sau đó thì chỉ cần dùng tên của local variable thôi. Ví dụ đoạn code:  
ActionScript var  
myLocal = 9; myLocal  
= 11; trace(myLocal);  
3. Phép so sánh và các phép tính  
So sánh 2 giá trị trong AS rất đơn giản, dùng các ký hiệu toán học như <, >, =  
Khi ấn định giá trị thì dùng dấu =, và để cho khác biệt thì khi so sánh dùng ==.  
Đoạn code sau xét coi giá trị của a có bằng 7 không, và in kết quả ra output window.  
Và khi test đoạn code sau, bạn sẽ thấy true ở output window  
ActionScript var a =  
7;  
trace(a == 7);  
Nếu bạn dùng lộn = với == thì sẽ bị lỗi ở runtime chứ Flash sẽ không có thể tìm  
được lỗi này cho bạn.  
Bạn có thể dùng == để so sánh 2 chuỗi mẫu tự:  
ActionScript  
var myString = "Hello World."; trace(myString ==  
"Hello World.");  
trace(myString == "hello world.");  
Khi bạn test đoạn code trên thì bạn sẽ có được "true" và "false" ở output window,  
vì lần so sánh thứ nhất thì bằng nhau, nhưng lần thứ hai thì không vì chữ H và h khác  
nhau.  
Nếu bạn muốn thử coi 2 giá trị có khác nhau không thì dùng ky hiệu !=  
ActionScript var a =  
7; trace(a != 9);  
trace(a != 7);  
Trang 17  
Hàm trace đầu tiên sẽ cho ra "true" vì 7 khác 9, và cái thứ hai thì sẽ cho ra "false"  
Nếu bạn muốn thử giá trị coi lớn hơn hay nhỏ hơn thì dùng > và <  
ActionScript var a =  
7; trace(a < 8); trace(a  
> 6); trace(a < 1);  
Đoạn code trên sẽ cho ra "true", "true" và "false" trong output window vì "a" quả  
thật nhỏ hơn 8 và lớn 6, nhưng không nhỏ hơn 1.  
Nếu bạn muốn thử giá trị coi lớn hơn hay bằng nhau hoặc là nhỏ hơn hay bằng  
nhau thì dùng ký hiệu >= và <=  
ActionScript var a =  
7; trace(a <= 9);  
trace(a >= 5); trace(a  
>= 7);  
Đoạn code trên sẽ cho ra 3 kết quả "true" cả.  
Bạn có thể thay đổi giá trị của variable với các phép tính đơn giản như cộng (+),  
trừ (-), nhân (*), chia (/). Ví dụ muốn thêm 4 vào giá trị của a thì viết a = a + 4. AS  
cũng có cách viết tắt như Java, C++ cho vì dụ này, a += 4 Nếu bạn muốn thêm 1 vào a  
thì bạn có thể viết như 2 cách trên a = a +1 và a += 1 và còn cách thứ 3 a++. Dấu ++  
chỉ làm tăng thêm 1 cho giá trị đó thôi. Có 2 cách dùng ++, 1 là để sau variable như  
cách trên, và 1 cách thì để trước variable. Bây giở thư đoạn code sau:  
ActionScript var a =  
7; trace(a++);  
trace(a);  
Ở output window bạn sẽ thấy 7 rồi mới tới 8. Ở dòng thứ 2, hàm trace sẽ cho ra  
giá trị của a trước rồi mới tăng giá trị của a lên thêm 1. Bây giờ xem ví dụ khác:  
ActionScript var a =  
7; trace(++a);  
trace(a);  
Ở output window bạn sẽ thấy 8 và 8. Ở dòng thứ 2 của ví dụ này, hàm trace sẽ  
tăng giá trị của a trước rồi mới cho ra giá trị của a. Tương tự như ++, AS cũng có cách  
viết tắt cho giãm giá trị của variable là dấu -, -=, =- và --. Phép tính nhân và chia thì  
chỉ có *, *=, /, /= thôi.  
Trang 18  
4. Điệu kiện  
Trong AS và các ngôn ngữ khác, if ... else chính là các từ khoá của điếu kiện.  
Tiếng việt có nghĩa là "nếu ... nếu không". Từ khoá if dùng kết quả của sự so sánh nào  
đó để đi tới quyết định kích hoạt một đoạn code. Đoạn code sau sẽ so sánh giá trị của  
variable a với 7, nếu đúng thì Flash sẽ chơi ở frame 10  
ActionScript if (a == 7) {  
gotoAndPlay(10);  
}
Từ khoá if luôn bắt đầu cho 1 điều kiện và tiếp theo sẽ là sự so sánh. Luôn đặt  
code so sánh ở giữa ngoặc đơn (). Tất cả các code được kích hoạt nều điều kiện được  
thoả mãn sẽ để trong đâu ngoặc móc {}.  
Từ khoá else bổ sung cho if trong trường hợp bạn muốn thực hiện một đoạn  
code nếu điều kiện của if không được thỏa mãn. Ví dụ:  
ActionScript if (a == 7) {  
gotoAndPlay(10);  
} else {  
gotoAndPlay(15);  
}
Nếu trường hợp cần thỏa mãn nhiều điều kiện thì có thể dùng cú pháp if .... else  
if ... else. Bạn có thể có bao nhiều cái else if cũng được.  
Nãy giờ ta chi nói tới điều kiện dựa trên 1 sự so sánh, những AS cũng cho phép  
dùng so sánh đa hợp (compound comparision). Trong điều kiện của Flash ta có thể  
dùng nhiều so sánh đễ đi tới một kết quả chính xác hơn. Ví dụ nếu như a lớn 10 và a  
phải nhỏ hơn 15 thì ra lệnh cho Flash chơi ở frame 10.  
ActionScript if ((a > 10) and (a  
< 15)) { gotoAndPlay(10);  
}
Từ khoá and (còn có thể được viết là &&) yêu cầu phải thoả mãn điều kiện của  
2 phép so sánh. Bạn cũng có thể dùng từ khoá or (còn có thể được viết là ||)nếu như  
chỉ cần thoả mãn 1 điều kiện trong 2 phép so sánh thôi.  
ActionScript if ((a > 10) or (a  
< 15)) { gotoAndPlay(10);  
}
Trang 19  
Tải về để xem bản đầy đủ
pdf 110 trang yennguyen 20040 Free
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Thiết kế đa phương tiện (Flash) - Ngành/nghề: Thiết kế trang web (Phần 1)", để 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:

  • pdfgiao_trinh_thiet_ke_da_phuong_tien_flash_nganhnghe_thiet_ke.pdf