Trò chơi trắc nghiệm (bài 2)

05/09/2013 18:34

(e-CHÍP Online) Bạn đã tạo ra tập tin Test.xml chứa các câu hỏi trắc nghiệm và hiểu rõ cấu trúc của tập tin XML đó. Việc cần làm tiếp theo là tạo ra chương trình có khả năng đọc hiểu và hiển thị những câu hỏi trong tập tin XML.


Bạn hãy mở chương trình Adobe Flash (phiên bản CS3 trở về sau), chọn Flash File (ActionScript 3.0) trong phần Create New. Bạn ấn Ctrl + S, tìm đến thư mục có chứa tập tin Test.xml và lưu tập tin Flash còn trống trơn của ta vào thư mục ấy, đặt tên tập tin là Test.fla.

Ta cần viết những câu lệnh thích hợp để đọc nội dung tập tin Test.xml. Câu lệnh trong Flash được viết theo một ngôn ngữ mang tên ActionScript. Bạn gõ phím F9 để mở cửa sổ Actions – Frame và gõ vào nội dung giống như hình dưới đây (giống từng chữ in thường, in hoa).

Câu lệnh ở dòng 1 là câu lệnh tạo ra một đối tượng mang tên loader. Đó là đối tượng thuộc loại URLLoader, có khả năng đọc tập tin bên ngoài Flash. Câu lệnh ở dòng 2 quy định rằng: sau khi đọc xong tập tin ngoài (đưa nội dung tập tin từ đĩa vào bộ nhớ), đối tượng loader phải gọi hàm mang tên readXML. Câu lệnh ở dòng 3 yêu cầu đối tượng loader bắt đầu đọc tập tin mang tên Test.xml.

Câu lệnh ở dòng 4 tạo ra đối tượng mang tên list. Đối tượng list thuộc loại XMLList, có khả năng chứa đựng nội dung tập tin XML. Các dòng từ 5 đến 8 là định nghĩa hàm readXML. Các câu lệnh đặt giữa cặp dấu gộp { } là "phần thân của hàm", gọi tắt là "thân hàm". Trong thân hàm readXML, câu lệnh đầu tiên (ở dòng 6) lưu các nút con của nút gốc trong tập tin XML vào đối tượng list. Câu lệnh thứ hai trong thân hàm readXML (ở dòng 7) dùng để hiển thị nội dung của đối tượng list trong cửa sổ Output, giúp bạn kiểm tra việc đọc tập tin XML, xem có suôn sẻ hay không.

Bạn ấn Ctrl + Enter để tạo ra tập tin Test.swf từ tập tin Test.fla. Vì sân khấu của Flash chưa có gì cả nên màn trình diễn của ta trong cửa sổ vừa xuất hiện vẫn trống trơn. Tuy vậy, việc đọc tập tin Test.xml đã được tiến hành. Bạn gõ phím F2 để mở cửa sổ Output (nếu không thấy cửa sổ Output). Trong cửa sổ Output, bạn thấy các nút q (các nút con của nút gốc t) trong tập tin Test.xml. Bạn có thể hình dung đối tượng list là một danh sách chứa mọi câu hỏi lấy từ tập tin Test.xml.

Việc thể hiện nội dung tập tin XML trong cửa sổ Output chỉ là để kiểm tra hiệu lực của các câu lệnh đã viết. Điều ta cần làm tiếp theo là trình bày các khung chữ trên sân khấu để hiển thị câu hỏi và bốn lựa chọn tương ứng.

Bạn gõ phím T (chọn công cụ Text Tool). Bạn trỏ vào góc trên, bên trái sân khấu, kéo chuột qua phải, xuống dưới để "căng" một khung chữ lớn, có chiều rộng gần bằng chiều rộng sân khấu. Trong cửa sổ Properties, bạn bấm vào ô Text type, bạn chọn Dynamic Text nhằm cho phép nội dung của khung chữ có thể thay đổi linh hoạt bởi câu lệnh ActionScript. Bạn bấm vào ô <Instance Name>, gõ question để đặt tên cho khung chữ là question, ngụ ý rằng đó là khung chữ hiển thị câu hỏi. Bạn bấm vào ô Line type gần đó, chọn Multiline để khung chữ có khả năng hiển thị nhiều dòng vì câu hỏi có thể không ngắn. Muốn quy định chính xác kích thước khung chữ, bạn chọn công cụ Selection Tool, bấm kép vào ô W trong cửa sổ Properties, gõ 520 chẳng hạn, bấm kép vào ô H, gõ 120 chẳng hạn. Nhờ vậy, khung chữ có kích thước 520 x 120.

Bạn tạo khung chữ thứ hai, nhỏ hơn, bên dưới khung chữ hiện có. Với khung chữ thứ hai, các lựa chọn trong cửa sổ Properties giống như khung chữ đầu tiên. Bạn bấm vào ô <Instance Name>, gõ chữ a để đặt tên cho khung chữ là a, ngụ ý rằng đó là khung chữ để hiển thị lựa chọn a. Bạn quy định kích thước khung chữ là 520 x 40 chẳng hạn. Tiếp theo, bạn bấm kép vào ô Font size, gõ 24 để dùng cỡ chữ lớn.

Bạn tiếp tục tạo thêm ba khung chữ giống khung chữ a, đặt tên là b, c và d.

Dưới cùng, bạn tạo khung chữ nhỏ, đặt tên là score để hiển thị điểm. Bên trái khung chữ score, bạn tạo khung chữ nhỏ khác, chọn Static Text trong ô Text type của cửa sổ Properties, bấm vào khung chữ đó và gõ Điểm : . Ta tạo dòng chữ như vậy để "giới thiệu" khung chữ score bên phải. Bạn ấn Ctrl + S để lưu những gì ta vừa làm được.

NGỌC GIAO


Ý kiến bạn đọc (0)
Tên   Email

Lên đầu trang