go to different spots

Trong hướng dẫn này, chúng ta sẽ làm sống động một bản đồ thế giới, khi bạn nhấn một nút lục địa, bản đồ sẽ di chuyển cho đến khi nó hiển thị lục địa. Chúng tôi đã thấy phong trào năng động động này được sử dụng trong nhiều trang web flash để tạo ra một cảm giác không gian rộng lớn. Bên cạnh đó, phong trào năng động này với Actionscript cũng sẽ cho bạn cảm giác khác nhau về điều hướng của trang web. Vì vậy, thay vì thay đổi trang khi khách truy cập nhấp vào trình đơn, một trang web flash sẽ di chuyển về phía khu vực có chứa thông tin theo yêu cầu của khách truy cập. Bạn có thể sử dụng phong trào năng động này trong các trang web của mình để tạo ra hiệu quả tương tự.

Trước tiên, vẽ một hình chữ nhật trên sân khấu để sử dụng làm mặt nạ. Nó phải có cùng kích thước của sân khấu.

Sau đó lấy bất kỳ bản đồ thế giới từ internet và đặt nó lên một Movie Clip mới; kéo nó lên sân khấu trên một lớp mới bên dưới mặt nạ và đưa tên instance của “Map”.

Tạo các nút cho mỗi lục địa:

Bắc Mỹ ?? Ví dụ Tên = “NA”
Nam Mỹ ?? “SA”
Châu Phi? “Af”
Châu Âu ?? “EU”
Châu Á ?? “Như”
Châu Đại Dương? “Oc”
Giờ hãy lấy vị trí của Movie Clip để hiển thị các lục địa.

 

Ví dụ: để hiển thị Bắc Mỹ, Bản đồ cần phải là _x = 649 và _y = 357.

Đây là các vị trí của Movie Clip mà tôi đã nhận cho mỗi lục địa trên bản đồ MY:

Bắc Mỹ = 640, 357
Nam Mỹ = 555, 73
Châu Phi = 230, 175
Châu Âu = 222, 395
Châu Á = 12, 301
Châu Đại Dương = -182, 25
Và đây là mã để di chuyển bản đồ:

/ / tốc độ bản đồ sẽ di chuyển var speed = 5; / / điểm đến trên x phối hợp, chỉ cần thay đổi này và nó sẽ di chuyển var destX = 0; / / điểm đến trên tọa độ y var desty = 0; this.onEnterFrame = function () {// sự khác biệt giữa x của bản đồ và đích đến var dY = map._y – desty; / / sự khác biệt cho các y phối hợp var dX = map._x – destX; / / khoảng cách giữa các điểm xem xét _x và _y var d = Math.sqrt (dY * dY + dX * dX); // nếu khoảng cách lớn hơn 10 pixel, chúng ta có thể di chuyển if ((d> 10) || (d <-10)) {// tính tiếp tuyến để tính góc var tga = (map._y – desty) / ( map._x – destX); / / tính góc var ang = (Math.atan (tga) * 180) / Math.PI; // nếu đích đến đúng nếu (map._x> = destX) {// tính toán vector cho _x và di chuyển map._x – = tốc độ * Math.cos ((ang) * Math.PI / 180) ; // vector cho _y và di chuyển map._y – = tốc độ * Math.sin ((ang) * Math.PI / 180); } // nếu đích đến là trái nếu khác (map._x <= destX) {// tính toán vector và di chuyển. map._x + = tốc độ * Math.cos ((ang) * Math.PI / 180); map._y + = tốc độ * Math.sin ((ang) * Math.PI / 180); }}}
Tất cả bạn cần làm bây giờ là làm cho các sự kiện cho các nút và bên trong đặt destX và desty.

Leave a Reply

Your email address will not be published. Required fields are marked *