Thanh Dương xin chào

14 khách và 0 thành viên

Ảnh ngẫu nhiên

BannerHongAnh.swf 270.jpg Mungxuan.swf Happy_new_year.swf _NGUOI_THAY__NHAT_HUY.swf 01_TIENG_HAT_TU_TP_HO_CHI_MINH.swf Cover201115.jpg Donghosocogiay2chuden.swf Donghosocogiay2chutrang.swf Donghosocogiay12chutrang.swf Donghoso12.swf Donghoso21.swf Donghoso2.swf Donghoso1.swf Donghosocogiay1.swf Donghosocogiay.swf Donghoso.swf Clock_LienBich.swf Ad_cadao.swf Videoplayback_.flv

Tài nguyên dạy học

Điều tra ý kiến

Bạn thấy trang này như thế nào?
Đẹp
Đơn điệu
Bình thường
Ý kiến khác

Sắp xếp dữ liệu

Nhúng mã HTML

Thống kê

  • truy cập   (chi tiết)
    trong hôm nay
  • lượt xem
    trong hôm nay
  • thành viên
  • thống kê truy cập

    free counters
    Gốc > Những vấn đề về CNTT > Bài viết về Flash >

    Bài 2: Gói phim

    gói phim

    (symbol MovieClip)

    A. MovieClip

    - Movie clip là kiểu symbol phổ biến nhất của Flash.
    - Movie clip là đơn vị hoạt cảnh dùng lắp ghép trong một hoạt cảnh lớn.
    - MovieClip có Timeline riêng độc lập với main timeline.
    - Movie Clip có thể lồng vào nhau hoặc vào symbol khác tạo nên các hoạt cảnh phức tạp.

    Đặt tên cho instance của symbol movieClip (Trong Properties > instance name) luôn thêm đoạn đuôi là _mc (film_mc, clip_mc,...) và không được bắt đầu bằng 1 con số (ví dụ tên 3dsmax_mc bị xem là không hợp lệ)

    I. Tạo một MovieClip: Hãy xem qua cánh tạo 1 movieClip hoạt cảnh xoay:

    a. Từ 1 hình trên stage:

    - Cách 1 (convert 2 lần liên tiếp): Tạo 1 symbol graphic trước sau đó convert symbol này thành movieClip (F8). Như vậy ta có một symbol graphics trong một symbol movieClip. Trong edit mode của movie Clip ta sẽ tạo tween motion xoay cho symbol graphics.

    - Cách 2 (vào edit mode của movieClip để convert): Tạo 1 symbol movieClip trước sau đó vào edit mode của movieClip này covert hình shape thành symbol graphics. Giống như trên ta có một symbol graphics trong một symbol movieClip, và ta sẽ tiến hành một tween motion xoay cho symbol graphics

    b. Tạo 1 monieClip trong Library panel (movieClip rỗng): Insert > new symbol (Ctrl_F8): Đây là kiểu tạo movieClip chưa có nội dung, có thể tạo nội dung sau bằng cách Dclick lên ô hiển thị trong Library panel và tạo nội dung trong edit mode movieClip đó. Khi nào muốn sử dụng thì drag symbol đó vào stage. Đây là cách chuyển hết các layer trên timeline thành 1 movieClip duy nhất để thuận tiện copy, paste, move  hay transform cả 1 hoạt cảnh.

    II. Gom nhiều layer hoạt cảnh vào một movieClip

     Khi cần sử dụng nhiều lần một chuổi chuyển động trên Stage hoặc muốn gom nó thành một đơn vị độc lập để dễ dàng áp các phép transform, copy, di chuyển, xoá..như là thao tác trên một đối tượng.

    Các bước thực hiện:

    1. Chọn hết các frame, Keyframe trong tất cả các layer của một hoạt cảnh mà bạn muốn chuyển thành MoveClip (Shift_click các frame đầu và cuối):
    2. Copy hết các frame và Keyframe đã chọn: Rclick > Copy frame hoặc Edit > Timeline > Copy Frames Ctrl_Atl_C.
    3. Tạo một MovieClip trong library panel: (Modify > New Symbol > Movie Clip). Nhớ đặt tên cho Symbol trong hộp thoại convert to symbol
    4. Paste các frame vào MovieClip mới tạo: Chọn Frame 1 trong Layer 1 và chọn Edit > Timeline > Paste Frames.
    5. Thoát ra main timeline (Click scene 1 trong Edit bar) tạo 1 lớp mới . Drag movieClip từ Library panel vào Frame 1 của layer mới và xoá hết các layer củ mà bạn đã copy ở bước 1.

    III. MovieClip trong layer mask

    - Tạo chuyển động 1 hình trong layer mask theo 1 đường dẫn: Đối tượng trong layer mask không thể di chuyển theo 1 đường dẫn được, do layer motion không ảnh hưởng lên layer mask và một layer không thể cùng lúc là layer mask và layer motion được. Giải pháp cho vấn đề này là tạo 1 movieClip chứa layer motion trong layer mask . Cụ thể như sau:

    Tạo 1 movieClip symbol có một đối tượng di chuyển theo 1 đường dẫn trong library panel, sau đó drag movieClip này vào layer mask. Khi hoạt cảnh thì hiển thị đối tượng có ảnh nền di chuyển theo 1 đường dẫn

    - 2 đối tượng chuyển động tween motion trong 1 layer mask: Rõ ràng là không thể rồi, vì chúng ta đã biết không thể tween motion 2 instance trong cùng một frame được. Muốn làm được điều này thì ta phải tạo 1 movie Clip có 2 layer motion tween trong layer mask hoặc tạo movie Clip có layer mask trong layer mask lớn hơn

    - mask một mask layer: (mặt nạ của mặt nạ)  Tương tự như trên, bạn phải tạo 1 movie Clip có 2 layer mask trong layer mask. Khi hoạt cảnh thì chỉ khi nào 2 đối tượng trong 2 layer lấp lên nhau thì ta mới thấy hình ảnh các lớp bị che qua phần giao thôi

    - mask bằng action script: Là cách linh họat và tiện lợi nhất. Nhập đoạn code này vào keyframe masked_mc.setMask(mask_mc);
    masked_mc là tên instance của  movieClip bị che, mask_mc là tên instance của movieClip làm mặt nạ.

    B. Các Symbol lồng nhau (nested movie clips)

    Timeline của đối tượng độc lập với main timeline theo 2 cách: Movie Clip và Level

    I. Mối quan hệ phả hệ:

    Flash có thể có nhiều movieClip instances. Mỗi movie clip instance có Timeline riêng.
    Flash cho phép đặt một movie Clip này nằm trong một movie clip khác. Movie Clip trong là con của movie clip chứa nó trong quan hệ phả hệ, mọi hiệu chỉnh trên movie cha sẽ ảnh hưởng lên các movie bên trong.
    Vídụ: Xe chạy và bánh xe quay

    - playhead ưu tiên chạy trên timeline của mình, chỉ khi có lệnh stop() lúc đó mới rẻ nhánh xuống các timeline con.  - Khi đổi kiểu cho instance thì các instance con vẫn thể hiện được họat cảnh riếng chúng, thay đổi chỉ hiệu lực trực tiếp trên instance đó thôi. Ví dụ: Có 2 movieClip lồng nhau, movie cha là scale movie con là rotate. Nếu đổi kiểu movie cha là graphics thì instance đó không scale, như vẫn rotate được.
     

     Ví dụ: bươm bướm bay theo đường dẫn hay bạn muốn tạo hoạt cảnh 1 quạt đứng đang hoạt động.

    Phân tích:

    - Khi di chuyển cả quạt thì lồng quạt cũng đi theo, vậy lồng quạt là một symbol con của symbol quạt.
    - Khi lồng quạt đong đưa qua lại tạo luồng gió đều thì cánh quạt cũng chuyển động theo cánh quạt là 1 symbol con của lồng quạt và là symbol cháu của cả cây quạt

    Sắp xếp:

    Vậy ít nhất bạn phải tạo 1 movieClip "fan" cho cả quạt máy. Trong movieClip "fan" phải có movieClip "case" cho riêng lồng quạt, và tạo tiếp trong movieClip "case" là movieClip "propeller" cho cánh quạt. và đương nhiên là trong movieClip "propeller" phải có 1 symbol graphics cánh quạt chuyển động tween motion xoay tròn.

    Chỉnh sửa:

    Muốn chỉnh sửa lồng quạt thì dclick vào edit mode của movieClip "fan", dlick lên lồng quạt (movieClip "case") nếu muốn chỉnh sửa cách quạt và cuối cùng nếu bạn dclick lên movieClip "propeller" để chỉnh sửa chuyển động cánh quạt...còn muốn chỉnh dạng cách thì dclick thêm 1 lần nữa...

    Muốn movieClip "case" hiện diện trong main timeline thì break apart (Ctrl_B) lên movieClip "fan"...

    1. Graphics - Graphics: Thường sử dụng cho các hình tĩnh phức tạp. Một hình chứa nhiều layer hình shape.
    2. MovieClip - Graphics: Là kiểu movieclip phổ biến khi trong movieclip có hoạt cảnh tween motion.
    3. Button - Graphics: Khá phổ biến cho các button có hình dạng cầu kỳ, phức tạp
    4. MovieClip - MovieClip: Là kiểu movieClip phổ biến khi muốn sử dụng mối qua hệ phả hệ của movie cha và các movieClip con
    5. Button - MovieClip: tạo hoạt cảnh cho button tương ứng với các sự kiện trên chuột

    6. Các trường hợp khác MovieClip - Button, Graphics - MovieClip, Graphics - Button, Button - button

    II. Đường dẫn tuyệt đối và tương đối: Trong một movieClip nhiều cấp thì nhu cầu chuyển qua lại giữa các cấp của các symbol con, cháu với symbol cha mẹ là cần thiết

    1. Đường dẫn tương đối:_root, parent, this

    Từ symbol con nhảy đến keyframe 4 trong symbol (cùng cấp): this.gotoAndStop(4); hay gotoAndStop(4);
    Từ symbol con nhảy đến keyframe 3 của symbol cha, mẹ (trên 1 cấp): _parent.gotoAndStop(3);
    Từ symbol con nhảy đến keyframe 2 của symbol ông, bà (trên 2 cấp): _parent._parent.gotoAndStop(2);
    Từ symbol, ở bất kỳ cấp nào, nhảy đến keyframe 10 của main timeline (về bảng tiến trình gốc): _root.gotoAndStop(10);

    2. Đường dẫn tuyệt đối: Theo tên instance của MovieClip.

    Ví dụ ta có các kiểu Movie Clip lồng nhau như sau:

    clip1_mc > clip2_mc > clip3_mc (clip3_mc trong clip2_mc; clip2_mc trong clip1_mc; clip1_mc ở Main timeline)

    mov1_mc > mov2_mc > mov3_mc (mov3_mc trong mov2_mc, mov2_mc trong mov1_mc và mov1_mc trong Main timeline)

    - Từ clip1_mc nhảy đến keyframe 4 trong clip3_mc ( clip2_mc > clip3_mc): clip2_mc.clip3_mc.gotoAndStop(4);
    - Từ Main timeline nhảy đến keyframe 3 của clip3_mc ( clip1_mc > clip2_mc > clip3_mc): clip1_mc.clip2_mc.clip3_mc.gotoAndStop(3);
    - Từ clip3_mc nhảy đến keyframe 2 của mov2_mc (Khác cấp và khác symbol cha): this._parent._parent.movie_1.movie_2.gotoAndStop(2);

    Có thể dùng Insert Target Path trong Actions panel để nhập đường dẫn chính xác.

    Bài tập:

    1. Tạo vòng chữ xoay quanh 1 đối tượng

    2. Quạt máy xoay

    3. máy bay bay

    movieEvent:Object - The movieEvent is a kích hoạt (triggere) 1 sự kiện, thực thi các câu lệnh trong ngoặc kép ({}) are executed. Any of the following values can be specified for the movieEvent parameter:

    • load Hành động được khởi tạo (initiate) ngay khi movieClip được biên dịch (instantiate) và xuất hiện (appears) trong timeline
    • unload The action is initiated in the first frame after the movie clip is removed from the Timeline. The actions associated with the Unload movie clip event are processed before any actions are attached to the affected frame.
    • enterFrame The action is triggered continually at the frame rate of the movie clip. The actions associated with the enterFrame clip event are processed before any frame actions that are attached to the affected frames.
    • mouseMove The action is initiated every time the mouse is moved. Use the _xmouse and _ymouse properties to determine the current mouse position.
    • mouseDown The action is initiated when the left mouse button is pressed.
    • mouseUpThe action is initiated when the left mouse button is released.
    • keyDown The action is initiated when a key is pressed. Use Key.getCode() to retrieve information about the last key pressed.
    • keyUp The action is initiated when a key is released. Use the Key.getCode() method to retrieve information about the last key pressed.
    • data The action is initiated when data is received in a loadVariables() or loadMovie() action. When specified with a loadVariables() action, the data event occurs only once, when the last variable is loaded. When specified with a loadMovie() action, the data event occurs repeatedly, as each section of data is retrieved.

    Nhắn tin cho tác giả
    Đỗ Thanh Dương @ 21:46 28/10/2010
    Số lượt xem: 306
    Số lượt thích: 0 người
     
    Gửi ý kiến

    HỖ TRỢ QUẢN TRỊ WEBSITE

    Thay tên website / Chọn thư mục / Mở ra
    Giao diện Module Thư mục Thành viên Tài nguyên Xóa Code
    http://