Bài 7: Tương tác
tương tác
3 điều kiện tạo nên 1 tương tác là: Sự kiện (Event), Đối tượng đích (Target), Hành động (Action)
Sự kiện tác động lên đối tượng đích gây ra một hành động nào đó theo sơ đồ như sau:
![]()
Ví dụ: bạn gọi điện thoại đến nhà hàng kêu người đem thức ăn đến. "gọi điện thoại" là event, "nhà hàng" là target, hành động "đem thức ăn" là action
Nói như vậy thì Event là nguyên nhân hay điều kiện tác động lên Target làm Target thực hiện một action. Trong Flash thì thực chất Event là các dòng lệnh actionScript tác động vào đối tượng đích là một symbol movieClip hay button nào đó.
A. EVENT (Sự kiện)
- Có 2 loại sự kiện chính: sự kiện chủ động và sự kiện keyframe Sự kiện chủ động: là sự kiện được kích hoạt bằng thao tác trên chuột hay bàn phím.
Sự kiện keyframe: là sự kiện được kích hoạt khi playahead chạy đến keyframe đó.
I. Sự kiện chủ động:
1. Thao tác trên chuột: thường xảy ra trên button hay movieClip:
a. Các sự kiện chuột (mouse Event) trên button: Bao gồm các động tác như press, release, rollOver, rollOut...qua cấu trúc chính là on (sự kiện chuột) { câu lệnh cho đối tượng đích hành động } đặt trong button mà ta đã có dịp xem qua ở bài 9: button
b. button điều khiển movieClip "clip_mc":
| Dịch chuyển qua trái theo trục x 15px, trục y 20px: jump_btn.onRelease = function() { clip_mc._x = 15; clip_mc._y = 20; Định cở movie là ngang 30px, cao 20px : jump_btn.onRelease = function() { clip_mc._width=30; Xoay 50o quanh tâm symbol: jump_btn.onRelease = function() { clip_mc._rotation = 50; Giảm 70% độ trong: jump_btn.onRelease = function() { clip_mc._alpha = 30; Ẩn (0) hiện (1): jump_btn.onRelease = function() { clip_mc._visible = 0; |
button điều khiển họat cảnh trong movieClip:
Trong trường hợp này đối tượng đích (target) là 1 movieClip "clip_mc" trên stage, mà keyframe đầu của chuỗi frame hoạt cảnh phải có lệnh stop();, để đặt movieClip trong trạng thái chờ lệnh, nếu không thì "nó" sẽ tự chạy mình ên không điều khiển được.
- PLAY, PAUSE, STOP và REPLAY một hoạt cảnh trong movieClip "clip_mc" bằng 4 button: tạo 4 button tương ứng 4 trạng thái movieClip
| Trong nút "PLAY" | Trong nút "PAUSE" |
|
jump_btn.onRelease = function(){ |
jump_btn.onRelease = function(){ |
| Trong nút "STOP" | Trong nút "REPLAY" |
|
jump_btn.onRelease = function(){ |
jump_btn.onRelease = function(){ |
- Điều khiển 1 movieClip với một button: ví dụ như hoạt cảnh sau: Khi rê chuột lên button thì mũi tên xuất hiện, lấy chuột ra khỏi button thì mũi tên chạy ra xa và biến mất. Như vậy đọan frame họat cảnh trong movieClip sẽ gồm 2 chuổi frame chuyển động thuận nghịch, đầu mỗi chuyển động đều có lệnh stop();
| Nhập lệnh sau vào button: on (rollOver, rollOut) { clip_mc.play(); |
Giải thích: Khi rê chuột lên button (rollOver) thì clip_mc sẽ play: play ahead sẽ vược qua lệnh stop(); ở keyframe 1 và chạy hết đoạn hoạt cảnh thuận, dừng lại khi đụng lênh stop(); lần thứ 2 đặt ở đầu chuổi hoạt cảnh nghịch. Khi rê chuột khỏi button (rollOut) thì clip_mc sẽ vượt qua lệnh stop(); đầu hoạt cảnh nghịch và play tiếp cho đến hết và trở về keyframe 1 có lệnh stop(); đầu tiên
2. Các sự kiện chuột trên movieClip: Khác với button, khi bạn gán 1 sự kiện nào đó trên movieClip thông qua cấu trúc chính là onClipEvent( sự kiện trên chuột) { tạo hành động cho đối tượng đích }. Khác với button, trường hợp của movieClip thì thực hiện sự kiện bất cứ đâu trên màn hình đều xem như bạn thực hiện trên chính movieClip đó.
- Thao tác chuột lên movieClip:
- mouseMove hành động xảy ra khi di chuyển chuột.
- mouseDown hành động xảy ra khi nhấn nút trái chuột.
- mouseUp hành động xảy ra khi nhả nút trái chuột.
|
onClipEvent (mouseDown) { |
onClipEvent (mouseUp) { |
- Sự kiện xảy ra do 1 sự kiện khác
- load: Hành động xày ra ngay khi movie clip xuất hiện trong stage.
- unload: Hành động được khởi tạo tiếp nối ngay sau khi movie clip ra khỏi Timeline.
- enterFrame: Hành động sẽ được ưu tiên thực thi trước tất cả các hành động khác trong các frame có mặt movie clip. .
2. Các sự kiện bàn phím (keyboard Event): Gõ 1 phím cụ thể trên keyboard để khởi động sự kiện
- keyDown Hành động xảy ra khi nhấn phím trên bàn phím.
- keyUp Hành động xảy ra khi nhả phím trên bàn phím.
- Key.isDown(Key.RIGHT) tương đương với dòng lệnh Key.getCode() == Key.RIGHT
trace("Ban vua nhan len keyboard?");
}
| - Nhảy frame: onClipEvent (keyDown) { if (Key.getCode() == Key.RIGHT) { |
- Lệnh isDown: onClipEvent (keyDown) { if (Key.isDown(Key.RIGHT)) { |
||||||||||||||||||||||||||||
| - Di chuyển movieClip:
onClipEvent (keyDown) { if (Key.getCode() == Key.RIGHT) { - Kết hợp với button: on (release, keyPress "<Space>"){ gotoAndStop(2); |
Để sử dụng tất cả các phím ta phải dùng mã số của phím. Ví dụ như bạn có thể thay thế cụm từ Key.RIGHT bằng số 39 Dòng lệnh hiển thị mã số của phím bất kỳ trên keyboard onClipEvent(keyDown) { Muốn biết mã số phím nào thì nhấn lên phím đó, mã số phím sẽ hiển thị trong hộp thọai output panel |
||||||||||||||||||||||||||||
II. Sự kiện keyframe:
Các lệnh như stop(); , gotoAndStop(); , gotoAndPlay(); thường được đặt trong các keyframe, ấn định thời điểm gây ra sự kiện cho hoạt cảnh. Tuy nhiên các lệnh này cũng có thể đặt trong button, movieClip để chờ các sự kiện từ chuột hay bàn phím
- fscommand("fullscreen", true); Mở rộng file swf, exe toàn màn hình,
- fscommand("fullscreen", false); Tắt chế độ toàn màn hình.
- fscommand("quit"); Lệnh đóng file flash (mà thường đóng bằng nút Close của window, hoặc Alt_F4).
- mouse.hide(); Lệnh dấu con trỏ trên file flash. Thường đi liền với lệnh gắn con trỏ vào 1 button nào đó để tạo 1 hình con trỏ riêng ngộ nghỉnh như sau:
|
- Vẽ hình một cái kẹp gắp, miệng hở |
onClipEvent(load){ Mouse.hide(); startDrag(this,true); } onClipEvent(mouseDown){ this.gotoAndStop(2); } onClipEvent(mouseUp){ this.gotoAndStop(1); } |
- mouse.show(); Lệnh hiển thị lại con trỏ trên file flash sau khi bị dấu
Tương tác và hiệu ứng mặt nạ
C. Movie explorer panel:
(Window > Other Panels > Movie Explorer) Alt_F3 Scene (
> Show Movie Elements) = hiển thị cấu trúc trong nhánh Scene.
Symbol Definitions (
> Show Symbol Definitions) = hiển thị thông tin của symbols (tên các instance).
Tìm kiếm trong Movie Explorer : Nhập vào: tên thành phần, tên font, ActionScript string, hoặc số frame.
Chọn thành phần trong Movie Explorer: Click hoặc Shift-click nếu chọn nhiều hơn 1 thành phần
Các tuỳ chọn trong Options menu
- Go to Locationn di chuyển đến layer, scene, hoặc keyframe chứa symbol đó.
- Go to Symbol Definition hiển thị symbol definition: liệt kê tất cả các file liên quan với symbol (Show Symbol Definitions phải được chọn trước)
- Select Symbol Instances di chuyển đến scene chứa instances của symbol đó (Show Symbol Definitions phải được chọn trước)
- Find in Library Xác định vị trí của symbol trong library panel.
- Rename đổi tên thành phần.
- Edit in Place Hiệu chỉnh symbol.
- Edit in New Window Hiệu chỉnh symbol trong cửa sổ mới.
- Show Movie Elements Hiển thị các thành phần trong scene
- Show Symbol Definitions Hiển thị tất cả các thành phần liên quan với symbol đó.
- Copy All Text to Clipboard copies tất cả text, mà đang được chọn, vào Clipboard.
- Cut, Copy, Paste, và Clear .
- Expand Branch Xổ nhánh thư mục để khảo sát các thành phần bên trong nó.
- Collapse Branch Thu gọn nhánh thư mục.
- Collapse Others : Thu gọn các nhánh thư mục khác ngoài nhánh đang chứa thành phần đang chọn.
- Print In nội dung trong Movie Explorer ra giấy.
Hiển thị định nghĩa symbol trong Movie Explorer
1 Click nút Show: Movie Clips, and Graphics button at the top of the Movie Explorer.
2 Rclick (Windows) > Show Symbol Instances và Go to Symbol Definition
Nhảy đến scene chứa instances từ selected symbol: Rclick hoặc > Show Movie Elements và Go to Symbol Definition.
Đỗ Thanh Dương @ 22:07 28/10/2010
Số lượt xem: 401
- Bài 6: Phim và âm thanh trong Flash (28/10/10)
- Bài 5: Nút nhấn (28/10/10)
- Bài 4: Hoạt cảnh Simbol (28/10/10)
- Bài 3 Hiệu ứng mặt nạ (28/10/10)
- Bài 2: Gói phim (28/10/10)


Ý kiến trao đổi