Tài liệu Liên lạc giữa các thể hiện – Tự học lập trình Flash

Thảo luận trong 'Lập Trình' bắt đầu bởi Thúy Viết Bài, 5/12/13.

  1. Thúy Viết Bài

    Thành viên vàng

    Bài viết:
    198,891
    Được thích:
    173
    Điểm thành tích:
    0
    Xu:
    0Xu
    Bạn đã làm cho sao biển xê dịch ngẫu nhiên và tăng thêm 1 điểm cho người chơi mỗi khi sao biển được bấm trúng. Khi đó, theo dự định, ta còn phải làm cho cá chuyển động nhanh hơn. Điểm của người chơi càng cao, cá bơi càng nhanh. Có như vậy, trò chơi mới hào hứng! Chắc chắn cá sẽ bắt được con trỏ chuột vào lúc nào đó. Khi cá bắt được con trỏ chuột, trò chơi cần trở lại từ đầu: điểm của người chơi được gán lại trị số 0. Điểm cao nhất đạt được sẽ thể hiện “đẳng cấp” của mỗi người chơi.
    Với mục tiêu như vậy, sao biển cần liên lạc với cá để yêu cầu tăng tốc. Ngược lại, cá phải yêu cầu sao biển cho người chơi điểm 0 khi cá bắt được con trỏ chuột. Để cá và sao biển có thể ―nói chuyện‖ với nhau, trước hết bạn phải đặt tên cho chúng. Cá là thể hiện của nhân vật Fish, còn sao biển là thể hiện của
    nhân vật Star, cả hai thể hiện này đều chưa có tên riêng.

    Bạn hãy bấm vào cá và ấn Ctrl+F3 để mở bảng Properties. Bạn bấm vào ô có dòng chữ <Instance Name>, gõ fish và gõ Enter (đặt tên cho cá là fish).
    Bạn bấm chọn sao biển. Bảng Properties thay đổi, tương ứng với sao biển. Bạn bấm vào ô có dòng chữ <Instance Name>, gõ star và gõ Enter (đặt tên ngắn gọn cho sao biển là star). Xong, bạn bấm vào thanh tiêu đề của bảng Properties để tạm dẹp nó đi.
    Bạn mở bảng Actions (trình bày chương trình của sao biển), viết thêm một câu lệnh trong hàm onClipEvent(mouseDown) như sau:


    1 onClipEvent(mouseDown) {

    2


    3 if(hitTest(_root._xmouse, _root._ymouse, true))

    4 {


    5


    6 _x = _root.getRandomX();


    7

    8 _y = _root.getRandomY();


    9

    10 score++;


    11

    12 trace(Điểm: + score);


    13


    14 _root.fish.step++;


    15


    16 }
     

    Các file đính kèm:

Đang tải...