Lỗi như vậy gọi là lỗi lúc biên dịch (compile-time error). Chương trình không chạy được nếu có lỗi lúc biên dịch. Nếu chương trình chạy được nhưng lại tỏ ra “kỳ cục”, không đúng như dự kiến, người ta nói rằng chương trình có lỗi lúc chạy (run-time error). onClipEvent(mouseDown) { _y -= 20; trace(“Tôi đi lên đây.”); } Để quả banh không đi mất, bạn dừng chương trình, sửa nội dung hàm onClipEvent như sau: onClipEvent(mouseDown) { if(_y > 0) { _y -= 20; trace(“Tôi đi lên đây.”); } } onClipEvent(mouseDown) { if(_y > 0) { _y -= 20; trace(“Tôi đi lên đây.”); } else { trace(“Tôi không đi nữa.”); } } onClipEvent(mouseDown) { if(_yscale == 100) { _yscale = 200; } else { _yscale = 100; } } Theo echip.com Đọc thêm : Tổng hợp các bài tự học lập trình FlashBạn đã thấy thông báo lỗi xuất hiện ở bảng Output. Khi bạn dừng chương trình (đóng cửa sổ swf), thông báo lỗi vẫn còn lưu lại trong bảng Output ở phía phải cửa sổ Flash để bạn “nghiền ngẫm”.
Trong chương trình của mình, bạn có thể chủ động đưa thông báo ra bảng Output. Nhờ vậy, khi chạy chương trình, bạn dễ dàng theo dõi diễn biến thực tế, dễ dàng phát hiện nguyên nhân gây ra lỗi lúc chạy. Để thử đưa thông báo ra bảng Output, bạn hãy bấm chọn quả banh đang có lỗi biên dịch, gõ phím F9 để mở lại bảng Actions (nếu cần). Trong bảng Actions, bạn xóa câu lệnh sai, gõ đoạn mã mới như sau:
Hàm onClipEvent giờ đây có hai câu lệnh. Câu lệnh đầu tiên làm cho quả banh xê dịch lên trên 20 điểm ảnh. Câu lệnh thứ hai là câu lệnh gọi hàm trace, làm cho quả banh biết thông báo về hành động của mình! Thông báo “Tôi đi lên đây” là đối mục của hàm trace. Về mặt cấu trúc, thông báo “Tôi đi lên đây” là một chuỗi ký tự, gọi tắt là chuỗi (string). Dùng bộ gõ UniKey thông dụng, bạn dễ dàng tạo ra ký tự Việt có dấu trong chuỗi. Khi dùng chuỗi, bạn đừng quên mở đầu và kết thúc chuỗi bằng dấu nháy (“).
Ấn Ctrl+Enter để chạy chương trình, bạn thấy mỗi lần bấm chuột, quả banh xê dịch lên trên và thông báo “Tôi đi lên đây” xuất hiện ở bảng Output (hình 1). Bạn hãy bấm chuột liên tiếp nhiều lần để thấy quả banh đi mất tiêu. Đó là khi tung độ _y vượt ra ngoài phạm vi hiển thị của sân khấu.
Những gì bạn vừa viết bên trong hàm onClipEvent là một câu lệnh điều kiện. Câu lệnh ấy ngụ ý: nếu tung độ _y của quả banh lớn hơn 0 thì mới xê dịch quả banh và đưa ra thông báo “Tôi đi lên đây” ở bảng Output. Điều kiện “tung độ _y lớn hơn 0″ phải được viết trong cặp dấu ngoặc ( ), đặt sau từ if. Những việc cần làm khi điều kiện được thỏa phải được viết bên trong cặp dấu gộp { }, đặt sau cặp dấu ngoặc ( ). Để Flash hiểu được những gì bạn viết, cần tuân thủ nghiêm ngặt các quy tắc vừa nêu.
Chạy lại chương trình và bấm chuột nhiều lần, bạn thấy quả banh rốt cuộc dừng lại, “không thèm” nhúc nhích nữa. Đó là khi điều kiện “tung độ _y lớn hơn 0″ không được thỏa, tức là khi _y nhỏ hơn hoặc bằng 0. Bạn chú ý, tung độ của quả banh là tung độ của điểm mốc. Chính bạn đã quy định điểm mốc nằm ở giữa cạnh dưới khung bao của quả banh.
Nếu muốn quả banh “nói năng” gì đó khi điều kiện “tung độ _y lớn hơn 0″ không được thỏa, chứ không im lìm, bạn viết thêm vào hàm onClipEvent:
Từ else giúp bạn diễn đạt trường hợp ngược với trường hợp được nêu bởi từ if. Việc cần làm khi điều kiện “tung độ _y lớn hơn 0″ không được thỏa phải được ghi bên trong cặp dấu gộp { } theo sau từ else. Nhờ viết như vậy, lúc chạy chương trình, quả banh thông báo “Tôi không đi nữa” nếu tung độ của nó không lớn hơn 0. Lời từ chối đó cho bạn thấy quả banh tuy trơ trơ nhưng vẫn hiểu bạn đang bấm chuột thúc giục nó.
Với hai quả banh còn lại “chưa có cá tính”, ta cũng thử lập trình cho chúng có hành vi khác biệt. Trước khi làm như vậy, bạn nên cho hai quả banh còn lại có màu khác cho dễ phân biệt: một xanh, một cam chẳng hạn. Bạn không thể chọn màu tô khác nhau cho các thể hiện khác nhau của một nhân vật nhưng có thể chọn màu nhuộm (tint color) khác nhau cho chúng. Cụ thể, bạn hãy chọn quả banh “chưa có cá tính”, ấn Ctrl+F3 để mở cửa sổ Properties tương ứng, chọn Tint trong ô Color, bấm vào ô màu kế bên và chọn màu trong bảng màu. Muốn màu nhuộm lấn át màu tô, bạn ghi 100% trong ô Tint Amount: . Bằng cách đó, bạn có được ba thể hiện của nhân vật Ball có màu khác nhau (hình 2).
Bạn chọn quả banh màu xanh, gõ đoạn mã như sau trong bảng Actions:
Để thử đoán nhận hành vi của quả banh màu xanh, bạn cứ chạy chương trình xem sao.
Downloads công cụ lập trình Flash – Flash Development tool 3.1
0 nhận xét:
Đăng nhận xét