GIÁO TRÌNH THIẾT KẾ WEB : PHẦN LÝ THUYẾT - TỰ HỌC MACROMEDIA FLASH 5.0 BẰNG HÌNH ẢNH CHƯƠNG 11 Chú ý : Chế độ Absolute hiển thò mỗi Instance trong từng frame nhưng vì độ phức tạp của các đoạn phim tương tác, một số Instance không thể có sẳn khi Action Tell Target thực hiện. Bạn có thể chuyển đổi một cách tự do giữa các Notation (ký hiệu). Tuy nhiên, khi bạn thay đổi giữa chế độ Relative và Absolute có thể bạn phải chọn lại đoạn Movie Clip. 7. Chọn một đoạn Movie Clip cây thư mục xem trước. Hộp ký tự Target hiển thò đường dẫn đến Clip đó. Sau đó nhấp chuột vào nút OK. 8. Trong danh sách Toolbox của bảng Actions, chọn bất kỳ Action bổ sung sẽ chỉ dẫn đoạn Movie Clip đích, thực hiện cụ thể công việc gì. Các Action xếp lồng nào trong khối Tell Target áp dụng thanh thước Timeline. Ví dụ: tellTarget (_root.plane) { stop(); } KIỂM TRA KHI NÀO MỘT FRAME ĐƯC NẠP VÀO Tạo một bộ nạp để ngăn chặn một vài action nào đó khỏi bò kích hoạt trước khi nội dung cần tải được người xem nạp về, bạn hãy sử dụng action If Frame Is Loaded. Một bộ nạp lại này là một vùng chuyển động diễn hoạt đơn giản khi vùng còn lại của đoạn phim được nạp về. Action If Frame Is Loaded rất có ích cho việc kiểm tra lại khi tải về các file lớn như file ảnh Bitmap hoặc file âm thanh. Ngoài ra bạn cũng có thể sử dụng thuộc tính (property) _framesloaded (bên trong một action If ) để kiểm tra xem liệu có nội dung của một frame đặc biệt có sẵn hay không. Dùng action hoặc property, bạn có thể bắt đầu diễn hoạt một chuyển động đơn giản trong khi phần còn lại của đoạn phim được tải xuống một máy tính cục bộ. Cả hai chế độ action và property đều kiểm tra nội dung của frame đặc biệt. TỦ SÁCH STK – THẾ GIỚI ĐỒ HỌA BIÊN SOẠN : KS PHẠM QUANG HUY 270 GIÁO TRÌNH THIẾT KẾ WEB : PHẦN LÝ THUYẾT - TỰ HỌC MACROMEDIA FLASH 5.0 BẰNG HÌNH ẢNH CHƯƠNG 11 Điển hình như action If Frame Is Loaded được dùng như action frame nhưng nó có thể được sử dụng như action Button. Để kiểm tra một điều kiện If Frame Is Loaded, bạn sử dụng tùy chọn Streaming với lệnh Test Movie. Các frame nạp về như thể chuyển động liên tục từ trang Web. Kiểm tra khi nào một frame được nạp vào: 1. Chọn frame, Instance nút hoặc đoạn Instance Movie Clip mà bạn sẽ gán action vào. 2. Chọn trên trình đơn Window > Actions để hiển thò bảng Actions. 3. Trong danh sách Toolbox, bạn nhấp chuột vào trong mục Basic Actions để hiển thò các action cơ bản và chọn action If Frame Is Loaded. 4. Trong bảng Parameters, mục chọn Scene, chọn scene có chứa frame mong muốn: Current Scene hoặc tên của một scene. 5. Mục Type, chọn là Frame Number, Frame Label hay Expression. 6. Mục Frame, xác đònh frame được nạp về trước khi action được kích hoạt Frame Number, Frame Label hoặc Expression, dựa theo tùy chọn của bạn trong bước 5. 7. Chọn action xảy ra khi frame đặc biệt được nạp về. Flash nhập vào mã ActionScript tương tự như mã sau đây trong danh sách Actions: ifFrameLoaded (100) { gotoAndPlay (10); } TỦ SÁCH STK – THẾ GIỚI ĐỒ HỌA BIÊN SOẠN : KS PHẠM QUANG HUY 271 GIÁO TRÌNH THIẾT KẾ WEB : PHẦN LÝ THUYẾT - TỰ HỌC MACROMEDIA FLASH 5.0 BẰNG HÌNH ẢNH CHƯƠNG 11 Sử dụng action If Frame Is Loaded để xem hoạt cảnh ngắn để làm một đoạn phim nạp vào: 1. Bạn hãy tạo ra một đoạn phim có vòng lặp chuyển động ngắn tại vò trí đầu tiên của đoạn phim. Ví dụ như bạn có thể tạo ra một vòng lặp hiển thò thông điệp "Movie loading " 2. Tạo một action frame với action If Frame Is Loaded nhảy ra khỏi vòng lập chuyển động khi tất cả các frame được tải về và tiếp tục diễn hoạt đoạn phim. Ví dụ, một đoạn phim có 30 frame có 2 frame vòng lập chuyển động, tại vò trí bắt đầu bạn hãy gắn action sau đây vào Frame 1: ifFrameLoaded (30) { gotoAndPlay (3); } Kết thúc ví dụ, gắn action sau đây vào Frame 2, sau đó khởi động lại đoạn phim tại Frame 1: gotoAndPlay (1); Khi frame xác đònh trong action If Frame Is Loaded nạp vào, đoạn phim sẽ bỏ qua frame thứ hai và tiếp tục phát đoạn phim từ frame thứ ba. Dùng thuộc tính _framesloaded trong một action để xem một vòng lập chuyển động ngắn để làm đoạn phim nạp vào: 1. Bạn hãy tạo ra đoạn phim có một vòng lập chuyển động ngắn tại vò trí đầu tiên của đoạn phim. Ví dụ như bạn có thể tạo ra một vòng lập hiển thò thông điệp "Movie loading " 2. Tạo một action nhảy ra khỏi vòng lập chuyển động sau khi tất cả các frame được nạp và tiếp tục phát đoạn phim. Ví dụ, một đoạn phim có 2 frame vòng lập chuyển động tại vò trí đầu tiên, bạn phải gắn action sau vào trong Frame 2: if(_framesloaded==100) { gotoAndPlay (3); } else { gotoAndPlay (1); } TỦ SÁCH STK – THẾ GIỚI ĐỒ HỌA BIÊN SOẠN : KS PHẠM QUANG HUY 272 GIÁO TRÌNH THIẾT KẾ WEB : PHẦN LÝ THUYẾT - TỰ HỌC MACROMEDIA FLASH 5.0 BẰNG HÌNH ẢNH CHƯƠNG 11 TỦ SÁCH STK – THẾ GIỚI ĐỒ HỌA BIÊN SOẠN : KS PHẠM QUANG HUY 273 . trên trình đơn Window > Actions để hiển thò bảng Actions. 3. Trong danh sách Toolbox, bạn nhấp chuột vào trong mục Basic Actions để hiển thò các action cơ bản và chọn action If Frame Is. frame được nạp về trước khi action được kích hoạt Frame Number, Frame Label hoặc Expression, dựa theo tùy chọn của bạn trong bước 5. 7. Chọn action xảy ra khi frame đặc biệt được nạp về. Flash. độ action và property đều kiểm tra nội dung của frame đặc biệt. TỦ SÁCH STK – THẾ GIỚI ĐỒ HỌA BIÊN SOẠN : KS PHẠM QUANG HUY 270 GIÁO TRÌNH THIẾT KẾ WEB : PHẦN LÝ THUYẾT - TỰ HỌC MACROMEDIA FLASH