Danh sách bài đã đăng

Sửa Đóng
Thư mục: ^^ |
Đăng ngày: 17:31 10-07-2009
dádáafsafsafdasfdsaf

lam tuyet roi

// Khởi tạo vị trí x, y, độ xoay Rotation, đồ mờ alpha, kích thước xscale, yscale của hình là một giá trị ngẫu nhiên.
onClipEvent (load)
{
 this._x = Stage.width * Math.random()
 this._y = Stage.height * Math.random()
 this._rotation = 360 * Math.random() 
 this._alpha = 10 + Math.random() * 100;
 this._xscale = this._yscale = 60 + 40 * Math.random() 
}


// Tạo độ rung nhẹ, độ xoay rotation và xử lý biến mất chạm biên dưới màn hình
onClipEvent (enterFrame)
{
 nTemp = 1-2*random(2)
 nSpeedX = nTemp * Math.random()
 nSpeedY = -3 * Math.random() 
 nRotation = Math.random() * 1 + 0.500000
 this._x = this._x - nSpeedX;
 this._y = this._y - nSpeedY; 
 this._rotation = this._rotation + nRotation;
 
 if (this._y > 480)
 {
  this._alpha = 0
  this._y = 0 - nSpeedY
  this._alpha = 10 + Math.random() * 100; 
 }
}

for(var i =0; i<200; i++)
{
 duplicateMovieClip("snow","snow"+i, i); 
}


____________________________________________________

lệng ActionScipt

______________________________________________________

Lenh dieu chinh symbol movie:

//khi mở thì chưa có hành động nắm và kéo đối tượng

onClipEvent (load) {

dragging = false;

}

//khi nhấn chuột nếu chuột nằm trên mc thì có thể nắm và kéo mc

onClipEvent (mouseDown) {

if (this.hitTest(_root._xmouse, _root._ymouse)) {

dragging = true;

}

}

//khi kéo thì tọa độ x,y của chuột và mc luôn trùng nhau

onClipEvent (enterFrame) {

if (dragging) {

this._x = _root._xmouse;

this._y = _root._ymouse;

}

}

//khi thả chuột thì kết thúc nắm và kéo đối tượng

onClipEvent (mouseUp) {

dragging = false ;

}

____________________________________

di chuyen vat = chuot
       - 2 layer
         Để điều khiển vật bằng chuột thì phải xác định được vị trí của vật cũng như cuả chuột, từ đó mới xác lập được lệnh địch chuyển dựa trên vị trí tương đối giữa chúng. Mọi thứ trong Flash đều có vị trí và được xác định dựa trên hệ tọa độ 2 chiều vuông góc, gốc O(0,0) nằm ở góc trên bên trái của vùng thiết kế, trục Ox hướng từ trái qua phải, trục Oy hướng từ trên xuống, độ dài các trục phụ thuộc vào kích thước vùng thiết kế mà ta chọn.
Đối với con trỏ chuột thì vị trí của nó được xác định trong panel Info. Bạn hãy mở panel này lên rồi di chuyển chuột sẽ thấy rõ sự thay đổi của các thông số (X,Y). Để yêu cầu thông tin của con trỏ chuột, bạn sử dụng 2 lệnh thuộc tính _xmouse_ymouse.
 Image        Image
Đối với một biểu tượng thì vị trí của nó cũng có thể quan sát thấy trên bảng panel Info hay bảng thuộc tính Properties, vị trí này được tính là vị trí của tâm vùng thiết kế riêng của mỗi symbol. Để yêu cầu thông tin của biểu tượng, bạn sử dụng 2 lệnh thuộc tính _x_y.

Lưu ý:
khi bạn đưa chuột ra ngoài Flash Window, tọa độ _xmouse va _ymouse sẽ không thay đổi. Nếu bạn di chuyển chuột thật nhanh từ trung tâm của cửa sổ ra ngoài cửa sổ thì các giá trị cũ vẫn ở đó cho tới khi bạn quay lại cửa sổ. Vì vậy bạn phải luôn lên kế hoạch cẩn thận (có điều kiện kèm theo) trước khi dùng 2 lệnh thuộc tính này.

Bây giờ, bạn hãy tạo 3 movie clip tên: x, y (hình chữ nhật bo nhẹ) và xy (hình tâm ngắm).
 Image
Sau khi thiết kế xong, bạn đặt tên cho 3 movie clip lần lượt theo đúng thứ tự trên là x, y, xy. 
Image
Lưu ý: tên sử dụng trong mã lệnh là tên highlight màu vàng, tên highlight màu xanh lá là instance name, tên của MC mà bạn đặt khi tạo MC.

Sau khi đặt tên, bạn chọn MC và nhập đoạn code tương ứng:

// khi MC được sử dụng thì chưa cho phép drag (nắm và kéo đối tượng)
onClipEvent (load) {
 dragging = false;
 }  
// khi ấn chuột xuống, nếu vị trí chuột nằm trên vật thì cho phép drag
onClipEvent (mouseDown) {
 if (this.hitTest(_root._xmouse, _root._ymouse)) {
  dragging = true;
  }
 }
// khi chạy frame này, nếu đang drag thì vị trí x của MC này (this.) và chuột sẽ trùng nhau
onClipEvent (enterFrame) {
 if (dragging) {
  this._x = _root._xmouse;
  }
}
// khi thả chuột ra thì dừng drag
onClipEvent (mouseUp) {
 dragging = false ;
 }
- Đối với MC y:
// khi MC được sử dụng thì chưa cho phép drag (nắm và kéo đối tượng)
onClipEvent (load) {
 dragging = false;
 }  
// khi ấn chuột xuống, nếu vị trí chuột nằm trên vật thì cho phép drag
onClipEvent (mouseDown) {
 if (this.hitTest(_root._xmouse, _root._ymouse)) {
  dragging = true;
  }
 }
// khi chạy frame này, nếu đang drag thì vị trí y của MC này (this.) và chuột sẽ trùng nhau
onClipEvent (enterFrame) {
 if (dragging) {
  this._y = _root._ymouse;
  }
}
// khi thả chuột ra thì dừng drag
onClipEvent (mouseUp) {
 dragging = false ;
 }
- Đối với xy, ta sẽ viết trên frame để điều khiển xy:
// khi bắt đầu chạy frame thì vị trí của MC xy luôn trùng với vị trí của con trỏ chuột
_root.onEnterFrame = function(){
 xy._x = _root._xmouse ;
 xy._y = _root._ymouse ;
}

Hãy chạy thử và dịch chuyển, ta sẽ thấy chỉ có thể di chuyển x dọc theo OX và y dọc theo Oy, còn xy thì luôn theo chuột. Ngoài ra, để dịch chuyển chuột tới mọi vị trí trên vùng thiết kế bạn có thể kết hợp 2 đoạn code của x và y:

// khi MC được sử dụng thì chưa cho phép drag (nắm và kéo đối tượng)
onClipEvent (load) {
 dragging = false;
 }  
// khi ấn chuột xuống, nếu vị trí chuột nằm trên vật thì cho phép drag
onClipEvent (mouseDown) {
 if (this.hitTest(_root._xmouse, _root._ymouse)) {
  dragging = true;
  }
 }
// khi chạy frame này, nếu đang drag thì vị trí của MC này (this.) và chuột sẽ trùng nhau
onClipEvent (enterFrame) {
 if (dragging) {
this._x = _root._xmouse;
this._y = _root._ymouse;
  }
}
// khi thả chuột ra thì dừng drag
onClipEvent (mouseUp) {
 dragging = false ;
 }

Hoặc:

// khi ấn chuột xuống, nếu vị trí chuột nằm trên vật thì bắt đầu drag
onClipEvent (mouseDown) {
 if (this.hitTest(_root._xmouse, _root._ymouse)) {
  this.starDrag();
  }
 }
// khi thả chuột ra, nếu vị trí chuột nằm trên vật thì dừng drag
onClipEvent (mouseUp) {
if (this.hitTest(_root._xmouse, _root._ymouse)) {
  this.stopDrag ();
  }
 }

Lam symbol movie di chuyen theo chuot

ve 1 symbol roi ep lenh sau cho symbol do:

/ quy định vị trí của MC khi chạy đoạn phim
onClipEvent (load) {
  _x = 0;
  _y = 0;
  speed = 20; // một biến tên speed, ảnh hưởng đến tốc độ di chuyển của MC
}
// xác định tọa độ của MC bằng công thức: VT mới = (VT chuột – VT cũ) / speed
onClipEvent (enterFrame) {
  this._x += (_root._ymouse - this._x) / speed ;
  this._y += (_root._xmouse - this._y) / speed ;
}
_____________________________________________________
Tao chuyen dong:
ve~ 1 symbol roi gan ma~ lenh nay`

Đối với chuyển động thẳng đều: bạn chỉ cần trang bị cho mình một vài kiến thức toán học phổ thông là sẽ tự lập trình được.

- Theo phương ngang thì dùng 1 trong 2 đoạn code sau:

// khi chạy frame thì MC sẽ CĐ với tốc độ 10 theo chiều (+) (trái qua phải)
onClipEvent (enterFrame) { this._x += 10;}
// khi chạy frame thì MC sẽ CĐ với tốc độ 10 theo chiều (-) (phải qua trái)
onClipEvent (enterFrame) { this._x - = 10;}
- Theo phương đứng thì dùng 1 trong 2 đoạn code sau:
// khi chạy frame thì MC sẽ CĐ với tốc độ 10 theo chiều (+) (trên xuống)
onClipEvent (enterFrame) { this._y += 10;}
// khi chạy frame thì MC sẽ CĐ với tốc độ 10 theo chiều (-) (dưới lên)
onClipEvent (enterFrame) { this._y - = 10;}

- Theo một phương bất kỳ, khi này, bạn còn biết hàm của y theo x : y = f (x) sau đó bạn dùng đoạn code có cấu tạo như sau:
onClipEvent (enterFrame) {
this._x += speed ;
this._y = f (this._x) ;
}

VD : khi bạn muốn MC chuyển động theo phương 450 hướng lên, tức là y = f(x) = x, khi đó bạn sẽ có đoạn code:

// khi chạy frame thì MC sẽ CĐ với tốc độ 10 theo chiều trái qua phải và hướng lên góc 450
onClipEvent (enterFrame) {
this._x += 10 ;
this._y = this._x ;
}

Đối với chuyển động thẳng chậm dần đều :

- Theo phương ngang thì trước tiên bạn cần đặt vật ở vị trí ban đầu, sau đó bạn cần xác đình vị trí cuối rồi dùng đoạn code sau:

// xác định vị trí đầu là x = 0 và y = 50, có thể bỏ đoạn code này nếu đã đặt vật ở vị trí đầu
onClipEvent (load) {
this. _x = 0 ;
this._y = 50 ;
speed = 20; // một biến tên speed, ảnh hưởng đến tốc độ di chuyển của MC
}
// khi chạy frame thì MC bắt đầu thay đổi vị trí x bằng cách cộng thêm hiệu của 550 (đây chính là vị trí cuối của tôi, (550,50)) và vị trí cũ rồi chia cho speed, phần cộng thêm giảm dần khi tọa độ cũ tăng nên CĐ là chậm dần
onClipEvent (enterFrame) {
this._x += (550 – this._x)/speed ;
}


- Theo phương đứng bạn cũng làm tương tự, ta cần vị trí đầu và vị trí cuối sau đó nhập đoạn code sau:

// xác định vị trí đầu là x = 50 và y = 0, có thể bỏ đoạn code này nếu đã đặt vật ở vị trí đầu
onClipEvent (load) {
this. _x = 50 ;
this._y = 0 ;
speed = 500; // một biến tên speed, ảnh hưởng đến tốc độ di chuyển của MC
}
// khi chạy frame thì MC bắt đầu thay đổi vị trí y bằng cách cộng thêm hiệu của 400 (đây chính là vị trí cuối của tôi, (50,400)) và vị trí cũ rồi chia cho speed, phần cộng thêm giảm dần khi tọa độ cũ tăng nên CĐ là chậm dần
onClipEvent (enterFrame) {
this._y += (400 – this._y)/speed ;
}

- Theo một phương bất kỳ, khi này, bạn còn biết hàm của y theo x : y = f (x) sau đó bạn dùng đoạn code có cấu tạo như sau:

onClipEvent (load) {
this. _x = vị trí đầu của x ;
this._y = vị trí đầu của y ;
speed = tốc độ ;
}
onClipEvent (enterFrame) {
this._x += (vị trí cuối của x – this._x)/speed ;
this._y = f (this._x);
}

- Bạn có thể tự tìm hiểu thêm để thay đổi hướng chuyển động của vật.

Đối với chuyển động thẳng nhanh dần đều : ta làm tương tự nhưng trên nguyên tắc là cộng thêm một lượng tăng dần thì sẽ có chuyển động nhanh dần.

Cuối cùng, như đã trình bày ở phần trên, đối với các chuyển động bất kỳ khác bạn chỉ cần nắm được nội dung liên hệ giữa x, y rổi cho chúng biểu diễn qua lại lẫn nhau là được.

VD: chuyển động ném ngang có quỹ đạo là parabol y = f(x) = x2 nên sẽ có đoạn code sau:
onClipEvent (load) {
this. _x = 0 ;
this._y = 0 ;
}
onClipEvent (enterFrame) {
this._x += 2 ;
this._y = Math.pow(this._x, 2); // hàm Math.pow (số, số mũ cần lấy)
}

Như vậy, ta đã hoàn thành việc tạo chuyển động bằng hàm. Rất mong sự đóng góp ý kiến của các bạn. Chúc vui vẻ và thành công trong công việc.
  • Miễn Phí từ giờ đến tháng 12: Học English theo một cách mới nhé. Những bài học chỉ có 4 phút và bạn đã thấy rõ ràng một sự đi lên trong ngôn ngữ của mình. Bài học mẫu: http://lonbay.com/2009/09/28/thất-bại-chỉ-dơn-giản-la-một-cơ-hội-dể-bắt-dầu-lại-2/
  • Thư mục: ^^ |
    Quan trọng
    Đăng ngày: 13:21 04-07-2009
    Macromedia Flash MX (Bài 1) GK ( gelukrait@yahoo.com ) Làm quen với Web chúng ta không ai là không biết đến Flash , nhưn...
    Lời bình (0) | Trích dẫn (0)
  • Thư mục: Tổng hợp |
    Quan trọng
    Đăng ngày: 10:49 04-07-2009
    Tạo blog plus - Trang trí blog plus tao blog plus, ky thuat, tat ca cho plus Bạn muốn có 1 blog plusBạn muốn trang trí blog plus của mìnhBạn muốn thêm cho blog plus củ...
    Lời bình (0) | Trích dẫn (0)
  • Thư mục: Tổng hợp |
    Đăng ngày: 10:35 04-07-2009
    Hiện tại đến bi jo` chắc hẳn rất nhiều bạn còn lạ lẫm với cụm từ CSS. Vì hồi trước bên 360 thì hok có cái này, bạn nào đang làm blog ở opera hay blogger chắc hẳn đã wen với t...
    Lời bình (0) | Trích dẫn (0)
  • Thư mục: Tổng hợp |
    Quan trọng
    Đăng ngày: 09:58 04-07-2009
    Code cho themes trong yahoo plus toàn tậpPro9x.com ^^ kết nối cộng đồng teen Việt Themes cho blog của bạn bao gồm themes cho toàn blog, themes cho từng module, ...
    Lời bình (0) | Trích dẫn (0)
    Tìm tag: have fun :)

Hình ảnh trong blog

Sửa Đóng

Hình ảnh trong blog

Không có hình ảnh

Blog tôi thích

Sửa Đóng

Blog tôi thích

Bình luận mới nhất

Sửa Đóng

Bình luận mới nhất

Website yêu thích

Sửa Đóng

Website yêu thích

  • http://www.nhacuatui.com/
  • http://www.youtube.com/
  • http://hayghe.clip.vn/watch/
  • http://truongton.net/forum/

Thống kê

Sửa Đóng

Thống kê

  • Khách hôm qua: 1
  • Tổng số khách: 2
  • lượt xem hôm nay: 0
  • Tổng lượt xem: 79
  • Bài viết: 11
  • Hình ảnh: 0
  • Lời bình : 1

Tìm

Sửa Đóng

Tìm


Bài mới nhất

Sửa Đóng

Lịch

Sửa Đóng
S M T W T F S
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30  

Mô-đun 1

Sửa Đóng

số người đang online

users online

Thư mục riêng

Sửa Đóng

Thư mục riêng

Cập nhật ngày

Sửa Đóng

Cập nhật ngày

17:03 26-07-2009

Mô-đun 2

Sửa Đóng

Tiêu đề

Nội dung

Mô-đun 7

Sửa Đóng

Tiêu đề

Nội dung
 

R H
G S
B V

#