Với bài tập này, chúng tôi sẽ hướng dẫn bạn cách tạo ra một đối tượng sẽ di chuyển theo vị trí click chuột bằng cách sử dụng Action Script.
Bước 1
Tạo một file Flash mới và thiết lập Width và Height là 300px. Frame rate set là 45fps (số Frame trong một giây)
Bước 2
Click đúp chuột vào layer 1 và đổi tên thành Background. Thiết lập màu nền là #B8FECA hoặc bất cứ màu nào bạn thích.
Bước 3
Thêm một layer mới với tên là Object. Sau đó bạn hãy tạo bất cứ đồ vật nào mà bạn muốn nó sẽ chạy theo vị trí click chuột.
Bước 4
Lựa chọn đối tượng vừa tạo (Ctrl + A) và nhấn phím F8 trên bàn phím (Convert to Symbol) để chuyển đổi nó sang dạng Movie Clip.
Bước 5
Lựa chọn Movie Clip “Object” > mở Properties (Ctrl + F3) và nhập nội dung object vào <Instance name> (như hình dưới)
Bước 6
Tiếp tục lựa chọn lại đối tượng, mở Action Script (F9) và đưa vào nội dung script sau:
Thêm một layer mới với tên là Circle. Chọn Oval Tool (O)
- Fill Color: để chế độ không màu
- Stroke color: chọn màu mà bạn thích
- Đường nét của hình tròn: chọn nét đứt hoặc tuỳ ý bạn
Bước 8
Chọn hình tròn và nhấn phím F8 để chuyển đổi hình tròn đó sang dạng Movie Clip
Bước 9
Vẫn lựa chọn Movie Clip “Circle” > Properties (Ctrl + F3) và nhập nội dung circle cho phần <Instance Name>
Bước 10
Click đúp chuột vào Movie Clip “Circle” hoặc click chuột phải chọn Edit in Place.
Bước 11
Vẫn chọn hình tròn > nhấn phím F8 để conver nó sang Movie Clip và đặt tên là circle_inside
Bước 12
Click vào Frame 10 và nhấn phím F6. Sau đó mở Action Script và đưa vào script sau:
Trở lại Frame 1, mở Properties
- Tại Tween chọn Motion
- Tại Rotate chọn CCW
Bước 14
Trở lại Scene chính (Scene 1), chọn layer Circle, mở Action Acript (F9) và đưa vào nội dung script sau:
Thêm một layer mới với tên là Action Script. Mở bảng Action Script (F9) và đưa vào scipt sau:
Bước 1
Tạo một file Flash mới và thiết lập Width và Height là 300px. Frame rate set là 45fps (số Frame trong một giây)
Bước 2
Click đúp chuột vào layer 1 và đổi tên thành Background. Thiết lập màu nền là #B8FECA hoặc bất cứ màu nào bạn thích.
Bước 3
Thêm một layer mới với tên là Object. Sau đó bạn hãy tạo bất cứ đồ vật nào mà bạn muốn nó sẽ chạy theo vị trí click chuột.
Bước 4
Lựa chọn đối tượng vừa tạo (Ctrl + A) và nhấn phím F8 trên bàn phím (Convert to Symbol) để chuyển đổi nó sang dạng Movie Clip.
Bước 5
Lựa chọn Movie Clip “Object” > mở Properties (Ctrl + F3) và nhập nội dung object vào <Instance name> (như hình dưới)
Bước 6
Tiếp tục lựa chọn lại đối tượng, mở Action Script (F9) và đưa vào nội dung script sau:
onClipEvent (load) {
friction = "0.18";
targetx = Random(300)+20;
targety = Random(300)+20
}
onClipEvent (enterFrame) {
mouse_x = int(targetx-this._x);
mouse_y = int(targety-this._y);
if (mouse_x>0 && mouse_y>0) {
quad = Number(4);
}
if (mouse_x<0 && mouse_y>0) {
quad = Number(1);
}
if (mouse_x<0 && mouse_y<0) {
quad = Number(2);
}
if (mouse_x>0 && mouse_y<0) {
quad = Number(3);
}
abs_x = Math.abs(mouse_x);
abs_y = Math.abs(mouse_y);
tg = abs_y/abs_x;
_root.maths = Math.atan(tg)*Number(180)/Math.PI;
if (quad == 1) { angle = number(90) - number(_root.maths) }
if (quad == 2) { angle = number(90) + number(_root.maths) }
if (quad == 3) { angle = number(270) - number(_root.maths) }
if (quad == 4) { angle = number(270) + number(_root.maths) }
if (not _root.done) { setProperty (_this, _rotation, angle); _root.done = true}
speedx = difx*friction;
speedy = dify*friction;
setProperty (this, _y, _root.object._y+speedy);
setProperty (this, _x, _root.object._x+speedx);
difx = int(targetx)-this._x;
dify = int(targety)-this._y;
}
Bước 7 friction = "0.18";
targetx = Random(300)+20;
targety = Random(300)+20
}
onClipEvent (enterFrame) {
mouse_x = int(targetx-this._x);
mouse_y = int(targety-this._y);
if (mouse_x>0 && mouse_y>0) {
quad = Number(4);
}
if (mouse_x<0 && mouse_y>0) {
quad = Number(1);
}
if (mouse_x<0 && mouse_y<0) {
quad = Number(2);
}
if (mouse_x>0 && mouse_y<0) {
quad = Number(3);
}
abs_x = Math.abs(mouse_x);
abs_y = Math.abs(mouse_y);
tg = abs_y/abs_x;
_root.maths = Math.atan(tg)*Number(180)/Math.PI;
if (quad == 1) { angle = number(90) - number(_root.maths) }
if (quad == 2) { angle = number(90) + number(_root.maths) }
if (quad == 3) { angle = number(270) - number(_root.maths) }
if (quad == 4) { angle = number(270) + number(_root.maths) }
if (not _root.done) { setProperty (_this, _rotation, angle); _root.done = true}
speedx = difx*friction;
speedy = dify*friction;
setProperty (this, _y, _root.object._y+speedy);
setProperty (this, _x, _root.object._x+speedx);
difx = int(targetx)-this._x;
dify = int(targety)-this._y;
}
Thêm một layer mới với tên là Circle. Chọn Oval Tool (O)
- Fill Color: để chế độ không màu
- Stroke color: chọn màu mà bạn thích
- Đường nét của hình tròn: chọn nét đứt hoặc tuỳ ý bạn
Bước 8
Chọn hình tròn và nhấn phím F8 để chuyển đổi hình tròn đó sang dạng Movie Clip
Bước 9
Vẫn lựa chọn Movie Clip “Circle” > Properties (Ctrl + F3) và nhập nội dung circle cho phần <Instance Name>
Bước 10
Click đúp chuột vào Movie Clip “Circle” hoặc click chuột phải chọn Edit in Place.
Bước 11
Vẫn chọn hình tròn > nhấn phím F8 để conver nó sang Movie Clip và đặt tên là circle_inside
Bước 12
Click vào Frame 10 và nhấn phím F6. Sau đó mở Action Script và đưa vào script sau:
gotoAndPlay(1);
Bước 13
Trở lại Frame 1, mở Properties
- Tại Tween chọn Motion
- Tại Rotate chọn CCW
Bước 14
Trở lại Scene chính (Scene 1), chọn layer Circle, mở Action Acript (F9) và đưa vào nội dung script sau:
onClipEvent (load) {
startDrag (this, true);
_root.drag = this;
}
onClipEvent (mouseDown) {
_root.difx = this._x- _root.object._x;
_root.object.targetx = this._x;
_root.dify = this._y- _root.object._y;
_root.object.targety = this._y;
_root.done = False
}
Bước 15 startDrag (this, true);
_root.drag = this;
}
onClipEvent (mouseDown) {
_root.difx = this._x- _root.object._x;
_root.object.targetx = this._x;
_root.dify = this._y- _root.object._y;
_root.object.targety = this._y;
_root.done = False
}
Thêm một layer mới với tên là Action Script. Mở bảng Action Script (F9) và đưa vào scipt sau:
stop();
Và giờ bạn chỉ việc kiểm tra lại thành quả của mình bằng cách nhấn Ctrl + Enter hoặc nếu không có thể lấy file hoàn thiện của tại đây.
Bài tương tự bạn quan tâm
Macromedia Flash - Hiệu ứng chữ rơi
- Thread starter Mr LNA
- Ngày bắt đầu
Macromedia Flash - Hiệu ứng “vết dầu loang”
- Thread starter Mr LNA
- Ngày bắt đầu
Macromedia Flash - Làm hiệu ứng pháo hoa
- Thread starter Mr LNA
- Ngày bắt đầu
Macromedia Flash - Hiệu ứng xuất hiện ảnh hấp dẫn
- Thread starter Mr LNA
- Ngày bắt đầu
Macromedia Flash - Hiệu ứng thay đổi vị trí chữ
- Thread starter Mr LNA
- Ngày bắt đầu