Tạo chuyển động bằng mã lệnh

- 0 / 0
(Tài liệu chưa được thẩm định)
Nguồn:
Người gửi: Phan Quốc Tuấn (trang riêng)
Ngày gửi: 10h:44' 01-06-2009
Dung lượng: 30.8 KB
Số lượt tải: 27
Nguồn:
Người gửi: Phan Quốc Tuấn (trang riêng)
Ngày gửi: 10h:44' 01-06-2009
Dung lượng: 30.8 KB
Số lượt tải: 27
Số lượt thích:
0 người
Bài viết hướng dẫn Flash Tạo chuyển động bằng cách viết mã lệnh
Tạo chuyển động bằng cách viết mã lệnh
Thứ sáu, 10 Tháng 10 2008 02:00
Xem kết quả: / 4 Bình thườngTuyệt vời
Trước tiên ta mở một file Flash mới đặt tên là taoCDBangCode.fla gồm 2 layer là: layer nen (chứa đối tượng chuyển động) và layer action (chứa mã lệnh điều khiển code).
Tạo một moviClip hình bánh xe (hình tĩnh). Cuối cùng là viết các mã lệnh tương ứng cho từng chuyển động mà bạn muốn. ( Đối với chuyển động tròn bạn nhập 1 trong 2 đoạn code sau vào MC: // khi chạy frame thì MC sẽ CĐ với tốc độ 10 theo chiều (+) (cùng chiều kim đồng hồ) onClipEvent (enterFrame) { this._rotation += 10 ; } // khi chạy frame thì MC sẽ CĐ với tốc độ 10 theo chiều (-) (ngược chiều kim đồng hồ) onClipEvent (enterFrame) { this._rotation - = 10 ; } Chạy thử (Ctrl+Enter) để xem kết quả. Lưu ý, tâm của chuyển động này chính là tâm vùng thiết kế riêng của MC, bạn có thể tạo chuyển động tròn với những bán kính quỹ đạo khác nhau bằng cách chỉnh sửa khoảng cách của đối tượng trong MC với tâm này. Bạn hãy thử vào sửa MC, kéo đối tượng bánh xe ra khỏi tâm một khoảng vừa phải, chạy thử (Ctrl+Enter) để xem kết quả. ( Đố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
Tạo chuyển động bằng cách viết mã lệnh
Thứ sáu, 10 Tháng 10 2008 02:00
Xem kết quả: / 4 Bình thườngTuyệt vời
Trước tiên ta mở một file Flash mới đặt tên là taoCDBangCode.fla gồm 2 layer là: layer nen (chứa đối tượng chuyển động) và layer action (chứa mã lệnh điều khiển code).
Tạo một moviClip hình bánh xe (hình tĩnh). Cuối cùng là viết các mã lệnh tương ứng cho từng chuyển động mà bạn muốn. ( Đối với chuyển động tròn bạn nhập 1 trong 2 đoạn code sau vào MC: // khi chạy frame thì MC sẽ CĐ với tốc độ 10 theo chiều (+) (cùng chiều kim đồng hồ) onClipEvent (enterFrame) { this._rotation += 10 ; } // khi chạy frame thì MC sẽ CĐ với tốc độ 10 theo chiều (-) (ngược chiều kim đồng hồ) onClipEvent (enterFrame) { this._rotation - = 10 ; } Chạy thử (Ctrl+Enter) để xem kết quả. Lưu ý, tâm của chuyển động này chính là tâm vùng thiết kế riêng của MC, bạn có thể tạo chuyển động tròn với những bán kính quỹ đạo khác nhau bằng cách chỉnh sửa khoảng cách của đối tượng trong MC với tâm này. Bạn hãy thử vào sửa MC, kéo đối tượng bánh xe ra khỏi tâm một khoảng vừa phải, chạy thử (Ctrl+Enter) để xem kết quả. ( Đố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
 
↓ CHÚ Ý: Bài giảng này được nén lại dưới dạng ZIP và có thể chứa nhiều file. Hệ thống chỉ hiển thị 1 file trong số đó, đề nghị các thầy cô KIỂM TRA KỸ TRƯỚC KHI NHẬN XÉT ↓







Các ý kiến mới nhất