The My Opera forums have been replaced with forums.opera.com. Please head over there to discuss Opera's products and features
See the new ForumsYou need to be logged in to post in the forums. If you do not have an account, please sign up first.
Giải bài tập Scrollbar_Demo_2 (ngày 1 tháng 12)
Tối về hứng quá nên giải luôn, ngồi một hồi lâu cũng giải ra nên post lên cho mấy bạn tham khảo. Đây là hướng giải của bình, các bạn có hướng nào hay nên chia sẽ cho mấy bạn cùng lớp, forums này toàn mình b post bài ko.
*Hướng b giải như sau:
-có moveeclip hình có tọa độ tâm ở bên trái.
+Nút mc trên thanh trượt điều có tâm ở giữa, code cũng giống thầy trên lớp
+++nên thêm chút giới hạn về thanh truot:
if(this.mouseX>-(this.width-mc.width)/2 && this.mouseX<(this.width-mc.width)/2)
+++Thêm hàm sự kiện khi thả chuột ra (MouseEvent.MOUSE_UP) gán mc.x=0
*Code tổng quát cho thanh truot như sau:
var moving:Boolean=false;
mc.buttonMode=true;
function dichuyen(e:Event)
{
if(moving==true)
if(this.mouseX>-(this.width-mc.width)/2 && this.mouseX<(this.width-mc.width)/2)
mc.x=this.mouseX ;
}
addEventListener(Event.ENTER_FRAME,dichuyen);
function down(e:Event)
{
moving=true;
}
function up(e:Event)
{
moving=false;
mc.x=0;
}
addEventListener(MouseEvent.MOUSE_DOWN,down);
addEventListener(MouseEvent.MOUSE_UP,up);
-Ở phần bên ngoài xư lý như sau:
+Gán hình cho nó vào giữa bằng cách (chieudàihình -độ dài sân khấu)/2
hinhdc.x=-(hinhdc.width-stage.stageWidth)/2;
-Bình viết hàm di chuyển hình như sau:
function dichuyenhinh(e:Event)
{
//tạo biến vận tốc, và gán vận tốc
var tocdo:int; tocdo=thanhtruot.mc.x ;
//xử lý khi di chuyển hết hình theo chiều từ trái=> phải
//sau đó gán hinhdc.x=0 để chi khớp xíu, đồng thời vận tốc=0
if(hinhdc.x > -tocdo ){
hinhdc.x=0;
tocdo=0;
}
//xử lý khi di chuyển hết hình theo chiều từ phải=> trái
//sau đó gán hinhdc.x=-(hinhdc.width-stage.stageWidth) để chi khớp xíu, đồng thời vận tốc=0
if(hinhdc.x < -(hinhdc.width-stage.stageWidth + tocdo)){
hinhdc.x=-(hinhdc.width-stage.stageWidth);
tocdo=0;
}
hinhdc.x +=tocdo;
}
-Đoạn code trên là khó nhất của bài này, các bạn phải chịu khó tính toán xíu mới ra.
***Tải file code tham thảo tại đây: http://www.mediafire.com/?5krucxgsu5rf3xg
Giai xong bài cũng 3 giờ sáng, dân lập trình là vậy! Mà chưa buồn ngủ, xem phim xíu!
Chúc các bạn học tốt!