Thông tin cá nhân
Tik Tik Tak
(♥ Góc Thơ ♥)
Truyện cười
|
my_sound=new Sound()
my_sound.attachSound("dotronghieu")//attach sound từ thư viện vào my_sound.start()//cho sound start ngay slider.onEnterFrame=function(){// khi enter vào frame slider._x=(my_sound.position/my_sound.duration)*line._width//ta xác định cho tọa độ x của thanh slider thay đổi cùng với sound. Ở đây ta có sound.position là lượng âm thanh đã chạy được bao nhiêu đó, tính bằng milisecond, và sound.duration là độ dài của cả bài hát của mình, cũng được tính bằng ms. Duration của bài hát tương ứng với cả đoạn line. Ta sẽ suy ra công thức tính là: slider._x= position của sound * line._width/duration của sound } slider.onPress=function(){ // khi slider được nhấn delete slider.onEnterFrame // ko cho slider chuyển động tiếp với âm thanh như đã qui định ở trên nữa my_sound.stop()// đồng thời cũng stop sound đi startDrag(this,true,0,0,line._width,0)// cho phép kéo slider, nhưng ko cho phép kéo lệch xuống dưới hay lên trên, chỉ theo chiều của line } slider.onRelease=function(){// khi nhấn chuột và thả ra t=(slider._x/line._width)*my_sound.duration/1000 // t là lượng sound đã chạy, tính bằng s my_sound.position=t*1000// ta tính được lượng sound đã chạy tính bằng ms my_sound.start(t)// cho sound start ở vị trí t stopDrag()// ngừng kéo slider.onEnterFrame=function(){// do ở trên ta sử dụng stopDrag nên ơ chỗ này phải cho thanh slider tiếp tục chạy, nếu ko nó sẽ đứng yên slider._x=(my_sound.position/my_sound.duration)*line._width } } Ko biết cbt phân tích ở trên có đúng ko, tuy nhiên ở đoạn code này: ActionScriptt=(slider._x/line._width)*my_sound.duration/1000; my_sound.position=t*1000; my_sound.start(t); Ta có thể viết là: ActionScriptmy_sound.position = slider._x*my_sound.duration/line._width; my_sound.start=(my_sound.position*1000); Tuy nhiên khi cho chạy thử thì cái slider biến mất Ồ, tự dưng thấy bài của anh Playboy chạy ra, chắc là cbt và anh Playboy post cùng lúc QUOTEmy_sound không phải là mc(movie clip) em à mà là Object của Sound Class oh, mà em cũng chưa hiểu mấy cái sound class lắm. Lâu nay ko làm nhiều về sound. Phải tìm hiểu thêm mới được Được chỉnh sửa bởi cobetuyet on Jul 1 2004, 07:49 PM -------------------- Don't dream it, do it! playboy Jul 2 2004, 01:46 AM Gửi vào: #14 non-ActionScriptor Nhóm: Member Bài viết: 963 Tham gia: 17-March 04 Warn: (0%) cám ơn CBT đã giải thích hộ anh đoạn code, em phân tích khá đúng tuy nhiên còn có chỗ chưa chuẩn lắm QUOTEt=(slider._x/line._width)*my_sound.duration/1000 // t là lượng sound đã chạy, t không phải là lựơng sound đã chạy mà là chia tỉ lệ bài hát với vị trí của slider so với chiều dài của line chỗ này anh khó giải thích quá hi vọng em đọc kĩ rồi hiểu ActionScript my_sound.position = slider._x*my_sound.duration/line._width; my_sound.start=(my_sound.position*1000); hàm my_sound.start() nhận tham số chứ không phải là dùng dấu bằng: my_sound.start(my_sound.position*1000) tuy nhiên em dùng my_sound.position*1000 thì đựơc số lớn lắm cho nên cái slider chạy mất tiêu vì position ở đây là mili giây,em phải chia cho 1000 mới đúng my_sound.position là số luôn tăng và chỉ phụ thuộc vào âm thanh chạy đến vị trí nào thôi cho nên phép gán này là ko cần thiết : my_sound.position = slider._x*my_sound.duration/line._width;trong bài viết của anh có một dòng bị thừa đó là dòng my_sound.position=t*1000,hôm qua làm vội quá nên anh chưa kiểm tra lại Em mở Help của Flash ra đọc về Sound Class đi,khá hay đấy Được chỉnh sửa bởi playboy on Jul 2 2004, 02:21 AM -------------------- Tôi chỉ làm những gì tôi thích , bất cứ điều gì miễn là tôi thích cobetuyet Jul 2 2004, 05:49 AM Gửi vào: #15 A new day has come Nhóm: A-Scriptor Bài viết: 878 Tham gia: 21-May 04 Warn: (0%) ActionScriptcám ơn CBT đã giải thích hộ anh đoạn code, em phân tích khá đúng tuy nhiên còn có chỗ chưa chuẩn lắm hì hì, có gì đâu nè, anh chẳng bảo em là đi dịch bài hộ cho anh rùi còn gì ( làm 1 chân phụ mod) . À mà anh nhớ trả lương cho em đó, em ko làm ko công đâu à QUOTEQUOTE t=(slider._x/line._width)*my_sound.duration/1000 // t là lượng sound đã chạy, t không phải là lựơng sound đã chạy mà là chia tỉ lệ bài hát với vị trí của slider so với chiều dài của line chỗ này anh khó giải thích quá hi vọng em đọc kĩ rồi hiểu Em nghĩ là chỗ này em hiểu nhưng diễn đạt sai nên để em giải thích lại xem sao. Chỗ này anh tính t nhé, theo công thức ta sẽ có được tại điểm slider._x nào đó, thì số giây của bài hát ở đó ---> t là số s ở điểm đó. Điểm đầu tiên của thanh line là 0s, điểm cuối cùng sẽ là thời gian của bài hát. Theo công thức trên khi biết được tọa độ mới của slider._x ta sẽ tính được tại điểm đó đang là s thứ mấy. Em nói là đó là lượng sound đã chạy là ko chính xác, sorry, phải nói đó là , uhm, đó là... ta xác định được điểm là sound ở giây thứ mấy và cho sound chạy tiếp bắt đầu từ điểm đó. ActionScriptCODE my_sound.position = slider._x*my_sound.duration/line._width; my_sound.start=(my_sound.position*1000); hàm my_sound.start() nhận tham số chứ không phải là dùng dấu bằng: my_sound.start(my_sound.position*1000) tuy nhiên em dùng my_sound.position*1000 thì đựơc số lớn lắm cho nên cái slider chạy mất tiêu vì position ở đây là mili giây,em phải chia cho 1000 mới đúng hic hic, chỗ này vì gõ vội quá nên em nhầm, hơn nữa suy luận cũng nhầm luôn Thank you Được chỉnh sửa bởi cobetuyet on Jul 2 2004, 05:55 AM -------------------- Don't dream it, do it! cobetuyet Jul 2 2004, 07:30 AM Gửi vào: #16 A new day has come Nhóm: A-Scriptor Bài viết: 878 Tham gia: 21-May 04 Warn: (0%) Tặng anh Playboy, EYA và mọi người bài hát này nè, cũng hay lắm, đố mọi người biết đó là bài gì đó hì hì . Không hiểu sao sau khi convert sang Mp3 chất lượng nó lại kém đi nhiều quá, thế này thì làm sao cạnh tranhđược với bài hát của anh playboy chứ hị hị À, đoạn code về chỗ click_line cbt xin được sửa lại là, nếu như để mình MouseUp thì hic hic, ko dùng chung với các button kia được. Nó đánh nhau tung toé lên cả hic hic nên phải dùng thêm cái hitTest để xử lí: ActionScriptline.onMouseUp=function() { if (this.hitTest(_root._xmouse, _root._ymouse)) { my_sound.stop(); slider._x= this._xmouse; t=(slider._x/line._width)*my_sound.duration/1000; my_sound.start(t); } } Chúc mọi người vui vẻ Được chỉnh sửa bởi cobetuyet on Jul 2 2004, 07:38 AM -------------------- Don't dream it, do it! emyeuanh Jul 2 2004, 09:57 AM Gửi vào: #17 Member Nhóm: Member Bài viết: 210 Tham gia: 8-June 04 Warn: (0%) bài hát của chị CBT hay quá, em không biết tên bài hát là gì,đây mới là lần đầu tiên nghe mờ chị có thể cho em file gốc của chị đựơc không,file của anh playboy chán quá ,trình bày chẳng đẹp và chuyên nghiệp gì cả,mỗi cái Slider xấu òm sao nút Stop của bài hát của chị giống nút Pause vậy,em tưởng là khi nhấn Stop thì sound bị tắt đi và chạy về vị trí ban đầu chứ ,khi nháy Play lại tiếp tục chạy đọc bài hướng dẫn của anh chị em hiểu ra được một chút nhưng cho em hỏi là em tìm mãi mà không thấy code trong file .fla ,em chỉ thấy mỗi cái thanh Slider thôi và em Export ra SWF rùi mà ko nghe đựơc nhạc gì cả hic hic Được chỉnh sửa bởi emyeuanh on Jul 2 2004, 10:19 AM cobetuyet Jul 2 2004, 10:24 PM Gửi vào: #18 A new day has come Nhóm: A-Scriptor Bài viết: 878 Tham gia: 21-May 04 Warn: (0%) QUOTEchị có thể cho em file gốc của chị đựơc không,file của anh playboy chán quá ,trình bày chẳng đẹp và chuyên nghiệp gì cả,mỗi cái Slider xấu òm Trời trời, em nỡ nói vậy với anh playboy, anh í dỗi, anh í ko giúp em nữa đó ( có nói thì nói nhỏ vào tai chị nghe thôi nha cưng, hi hi ) Để chị post file fla lên cho em coi, nhưng sợ rằng ko khác của anh playboy là mấy vì chị lười quá nên sử dụng luôn file của anh ấy, có thay đổi tí chút về hình ảnh à. Em ko tìm thấy đoạn code là bởi vì nó ko nằm ở layer 1, frame 1 mà trốn ở trong mc symbol 3. Em click 2 lần vào hình mấy cái slider với line, nó mở ra mc 3, sau đó em click vào cái layer của mc đó, mở action panel ra ta sẽ thấy đoạn code trốn trong đó |
Thực đơn người xem
Bài viết cuối
|