PDA

View Full Version : [Q] Làm sao điểu khiển tốc độ movieclip?



ntngochien
08-10-2002, 14:21
Có ai biết dùng lệnh gì để điều khiển tốc độ của MovieClip ko? (mình muốn nhập giá trị vô 1 textbox, enter, và thấy tốc độ của MovieClip thay đổi). Chỉ giúp với nhé! Cảm ơn lắm lắm.

hanzo
08-10-2002, 16:04
Ý bạn là muốn frame rate thay đổi hả? kinh dị quá chắc không được đâu....

9Star
08-10-2002, 22:32
Hi ntngochien ,

Mình không biết có action làm cái đó không(để mình thử coi xem sao ;) ).
Mình chỉ có ý tưởng vậy: bạn làm nhiều file swf, mỗi file có tốc độ khác nhau, sau đó dùng loadmovie , ứng với số bạn nhập vào sẽ load movie có tốc độ frame là movie bạn làm... hihi chỉ là ý tưởng thôi ;)

ntngochien
08-10-2002, 22:42
phải rồi đó, ý của mỉnh muốn điều khiển cái frame rate đó, nếu làm nhiều movie thì ko hay và thấy nó thế nào ấy... mình nghĩ chắc có cách nào đó. Các cậu xem giúp mình với nhé!

9Star
08-10-2002, 23:15
A` có rồi, thực ra không có Action cụ thể nhưng bạn có thể làm một vòng lặp hay một function Delay để kéo dài thời gian mỗi khi nó qua một frame mới.
- Tạo movie clip mà bạn cần, đặt tên myMovie
- tạo thêm movie clip nữa để gán action sau:
onclipEvent(enterFrame){
myMovie.nexFrame();
Delay(thông số bạn nhập vào từ text box) <- cái này là gọi hàm nha
myMovie.nexFrame();
}
function Delay( thoigian){
for (i=1; i<thoigian*1000;i++){}
}
nhân với 1000 hay bao nhiêu tuỳ bạn để cho lâu đó mà. Cách này không chính xác là tốc độ Frame nhưng cũng đúng phần nào....

ntngochien
09-10-2002, 22:47
9Star ơi, sao tui thử mà ko được, bị báo lỗi hoài. phần action đó là của frame hay là sao? chỉ kỹ kỹ nhé ;-)
Cảm ơn vì đã giúp đỡ.

9Star
10-10-2002, 00:12
Bạn làm như sau nha:
- Tạo movie clip mà bạn cần, đặt tên myMovie
- tạo thêm movie clip nữa để gán action sau:(bạn chép hết đoạn code sau vào)
onClipEvent(load){
function Delay(thoigian){
for (i=1; i<thoigian*1000;i++){}
}
}

onClipEvent(enterFrame){
myMovie.nexFrame();
Delay(thông số bạn nhập vào từ text box) <- cái này là gọi hàm nha
myMovie.nexFrame();
}

Chú ý khi gọi hàm chẳng hạn Delay(5);--> Số 5 là số mà bạn nhập vào.

Để test đơn giản bạn có thể làm như sau:
- Tạo movie clip mà bạn cần, đặt tên myMovie
- tạo thêm movie clip nữa để gán action sau:(bạn chép hết đoạn code sau vào)
onClipEvent(load){
function Delay(thoigian){
for (i=1; i<thoigian*1000;i++){}
}
}

onClipEvent(enterFrame){
myMovie.nexFrame();
for (i=1; i<5*1000;i++){}
myMovie.nexFrame();
}
Mỗi lần chạy thử bạn thay 5*1000 bằng 10*1000 chẳng hạn bạn sẽ thấy nó chậm hơn lúc đầu.
Chúc bạn thành công !

ntngochien
10-10-2002, 11:27
9Star ơi, tui thử rồi và chạy được rồi, nhưng mà tội nghiệp cái máy của tui quá! Nó phải đếm liền tù tì.... nó đâu có bị chứng mất ngủ đâu ;-) hì hì... cách này cũng hơi bị hay, cảm ơn bạn nhiều nhiều...
Tui bị kẹt ở chỗ đó hơn tháng nay đó, giờ cũng tạm ổn rùi.

anhtuan
16-10-2002, 14:20
Vao menu modify roi chon movie..... thu coi
Sau do sua so 12 thanh so may tuy thich no se chay nhanh hay cham lien ha ` !

9Star
16-10-2002, 19:12
Hehe cái mà anhtuan chỉ là làm cố định rồi, đây là thay đổi tuỳ ý mà, không phụ thuộc vào lúc làm là tốc độ bao nhiêu

anhtuan
19-10-2002, 09:53
Vay thi phai dung action scrip nhu tren thui !!
So hard !!!