Đăng ký một phương thức đăng ký sự kiệ n Event listener

Một phần của tài liệu Khóa luận tốt nghiệp: Tìm hiểu ngôn ngữ lập trình trong Adobe Flash - Xây dựng ứng dụng minh họa (Trang 60 - 63)

Chương 3 ActionScript

3.3. Sự kiện và xử lý sự kiện

3.3.2. Đăng ký một phương thức đăng ký sự kiệ n Event listener

Event listener

Gồm 5 bước:

1. Quyết định tên gọi loại sự kiện.

Flash cung cấp nhiều loại sự kiện đã được định nghĩa sẵn. Tên của mỗi loại sự kiện

được truy xuất thông qua các hằng số của lớp sự kiện hoặc một trong các đại diện

của nó. Ví dụ như hằng số của loại sự kiện kết thức hàm Event.COMPLETE có giá trị là “complete”

Ví dụ:

complete event

Event object type: flash.events.Event

Event.type property = flash.events.Event.COMPLETE

Event.type property cho ta biết hằng số cho sự kiện “complete” là

flash.events.Event.COMPLETE

Mặt khác, để phản hồi loại sự kiện được gọi, đầu tiên chúng ta phải tìm được hằng số đại diện cho nó.

2. Quyết định kiểu dữ liệu của đối tượng sự kiện tượng trưng cho sự kiện đó. Ví dụ:

complete event

Event object type: flash.events.Event

Event.type property = flash.events.Event.COMPLETE

theURLLoader.addEventListener(Event.COMPLETE, someListener);

Event object type cho ta biết kiểu dữ liệu của đối tượng Event.COMPLETE là

flash.events.Event

3. Tạo một phương thức đăng ký sự kiện để phản hồi cho sự kiện. Phương thức

đăng ký sự kiện phải được định nghĩa là tham số có cùng kiểu dữ liệu với đối

tượng sự kiện ở bước 2. Ví dụ:

private function completeListener (e: flash.events.Event):void { trace("Load complete");

}

Tất cả phương thức đăng ký sự kiện đều có kiểu trả về là void.

Phương thức đăng ký sự kiện là phương thức thường được khai báo private nên

không thể truy xuất từ lớp khác.

4. Sử dụng phương thức addEventListener() của lớp EventDispatcher để đăng

ký phương thức đăng ký sự kiện với event target.

complete event

Event object type: flash.events.Event

Event.type property = flash.events.Event.COMPLETE

someListener() sẽ đăng ký phương thức đăng ký sự kiện với event target

theURLLoader cho sự kiện Event.COMPLETE

Tham số đầu tiên của addEventListener() là tên của loại sự kiện, tham số thứ hai là một tham chiếu cho phương thức đăng ký sự kiện.

Đây là dạng đầy đủ của phương thức addEventListener():

addEventListener(type, listener, useCapture, priority, useWeakReference) Hai tham số đầu tiên là bắt buộc.

5. Đợi sự kiện xảy ra

Chúng ta đã khởi tạo một phương thức đăng ký sự kiện cho Event.COMPLETE và

đăng ký nó với event target. Gọi thực thi someListener():

theURLLoader.load (new URLRequest(“someFile.txt”));

Khi đã load xong someFile.txt, ActionScript gửi đi sự kiện Event.COMPLETE đã

đăng ký, và someListener() được thực thi.

Sau là một ví dụ đầy đủ về 5 bước: package {

import flash.display.*; import flash.net.*; import flash.events.*;

public class FileLoader extends Sprite { public function FileLoader ( ) {

// Tạo đối tượng sự kiện đích

var urlLoader:URLLoader = new URLLoader( ); // Đăng ký phương thức đăng ký sự kiện

urlLoader.addEventListener(Event.COMPLETE, completeListener); // Gọi hàm để kích hoạt sự kiện xảy ra

urlLoader.load(new URLRequest("someFile.txt")); }

private function completeListener (e:Event):void { trace("Load complete");

} } }

Một phần của tài liệu Khóa luận tốt nghiệp: Tìm hiểu ngôn ngữ lập trình trong Adobe Flash - Xây dựng ứng dụng minh họa (Trang 60 - 63)

Tải bản đầy đủ (PDF)

(122 trang)