AloFlash ! Cộng đồng flash Việt Nam



You are here: Tutorials  AS 1.0 - 2.0 Di chuột chạy ảnh với AS2

Di chuột chạy ảnh với AS2

Email In PDF.
Xem kết quả: / 8
Bình thườngTuyệt vời 

Đây là một bài tập khá hay nhưng rất đơn giản. Bạn nào thích thì vào Vọc nhé :D.

Nguyên vật liệu cho bài tập này là 1 bức ảnh để làm nền chạy, mình chọn bức này (các bạn lưu ý, chiều cao của bức ảnh phải lớn hơn hoặc bằng chiều cao của khung hiện thị flash còn chiều rộng thì vô cùng bạn muốn dài bao nhiêu cũng được tùy bạn). Mình thì chọn bức ảnh này:

http://i805.photobucket.com/albums/yy331/haihuoc_tunglinhonline/di-chuot-chay-anh-bg.jpg

P/S: bạn có thể ghép những tấm ảnh của bạn thành 1 cái ảnh dài để khi di chuột nó sẽ kéo ra thần tượng của bạn nhé (ý tưởng của mình :P)

OK sau khi các bạn đã chọn cho mình bức ảnh phù hợp thì chúng ta tiến ành làm nhé.

Bước 1:

Tạo 1 tài liệu Flash mới Ctrl + N chọn loại là Action Script 2.0 nhé, nhấn Ctrl + J mở bảng Document Setting để điều chỉnh chiều rộng và dài của file flash cũng như màu nền cho phù hợp với bức ảnh của bạn.

Bước 2:

Import bức ảnh vào flash bằng cách vào File > Import > Import to Stages...

Bước 3:

Sau khi import bức ảnh vào bạn sử dụng công cụ Selection Tool (V) click chọn bức ảnh vừa import rồi mở bảng Align bằng cách vào Window > Align (Ctrl +K) điều chỉnh như trong hình dưới để căn bức ảnh vào giữa khung hiển thị của flash.

Bước 4: 

Nhấn phím F8 để convert nó thành dạng Movie Clip và đặt tên cho movie clip này là: bg_mc

Bước 5:

Tạo 1 layer mới, click vào frame đầu tiên trên layer vừa tạo nhấn phím F9 để mở bảng ActionScript và chèn vào đoạn code sau:

this.onMouseMove = function() {
constrainedMove(bg_mc, 4, 1);
};
function constrainedMove(target:MovieClip, speed:Number, dir:Number) {
var mousePercent:Number = _xmouse/Stage.width;
var mSpeed:Number;
if (dir == 1) {
mSpeed = 1-mousePercent;
} else {
mSpeed = mousePercent;
}
target.destX = Math.round(-((target._width-Stage.width)*mSpeed));
target.onEnterFrame = function() {
if (target._x == target.destX) {
delete target.onEnterFrame;
} else if (target._x>target.destX) {
target._x -= Math.ceil((target._x-target.destX)*(speed/100));
} else if (target._x<target.destX) {
target._x += Math.ceil((target.destX-target._x)*(speed/100));
}
};
}

Thế là xong :D, giờ bạn chỉ cần nhấn Ctrl + Enter để xem kết quả của mình.

Chúc các bạn thành công.

aloflash.com

Download

Bình luận (5)Add Comment
0
...
được viết bởi Mybabyhate, Tháng mười 31, 2010
Bài viết hay có điều lúc dừng ảnh bị lag smilies/wink.gif
0
...
được viết bởi Tamao1988, Tháng ba 11, 2011
Sao mình làm theo mà không được nhỉ?
Nó báo lỗi các dòng:
Scene 1, Layer 'Layer 2', Frame 1, Line 51120: Access of undefined property _xmouse.
Scene 1, Layer 'Layer 2', Frame 1, Line 51119: Access of possibly undefined property width through a reference with static type Class.
Scene 1, Layer 'Layer 2', Frame 1, Line 121119: Access of possibly undefined property width through a reference with static type Class.
0
...
được viết bởi hay, Tháng tư 09, 2011
hay day moi nguoi co cai rieng ( di mot ngay dang hoc mot sang khon - len mang mot tieng thanh mot ngay roi ) ha ha
0
...
được viết bởi simon, Tháng mười một 04, 2011
lam sao cho lúc dừng chuột lại mà hình hết lag bây h??????
0
...
được viết bởi nhung, Tháng năm 25, 2013
nó không lỗi nhưng sao không chạy đk vậy

Viết bình luận
nhỏ hơn | lớn hơn

busy