2010-05-28 26 views

Trả lời

14

Thậm chí nếu không có, sẽ không một bản đồ hình ảnh trên một hình ảnh trong suốt được đặt trên một khung vẽ giúp bạn có được những gì bạn cần không?

+0

Đó là một ý tưởng hay. –

2

Bạn đã cân nhắc sử dụng svg thay vì canvas chưa? Với svg bản thân đồ họa có thể chứa tất cả thông tin bạn cần để xác định các vùng hoạt động và bạn có thể đính kèm trình xử lý sự kiện giống như bạn làm trên các phần tử html.

Một số ví dụ về cách bạn có thể phát hiện mouseevents trên các bộ phận khác nhau của hình học của hình dạng svg:

http://dev.w3.org/SVG/profiles/1.1F2/test/harness/htmlObject/interact-pevents-08-f.html

http://dev.w3.org/SVG/profiles/1.1F2/test/harness/htmlObject/interact-pevents-09-f.html

4

Là một giải pháp cho vấn đề của bạn: Tôi sẽ đính kèm một sự kiện click vào canvas và trong sự kiện chuột, tôi sẽ kiểm tra chuột-coords, sau đó một danh sách đơn giản của các khu vực kết hợp với đa giác bạn có thể làm một số loại thử nghiệm va chạm trên. Hình chữ nhật sẽ là một sự khởi đầu, nhưng nếu bạn thực sự cần các khu vực đặc biệt, một thử nghiệm va chạm tiên tiến hơn sẽ phải được thực hiện.

Giải pháp nhanh mà tôi đã sử dụng trong Flash cho bản đồ pixel chính xác, là tạo bitmap lớp phủ ẩn thứ hai mà bạn sử dụng để tra cứu khi ai đó nhấp vào hình ảnh hiển thị.

Kỹ thuật tương tự của nó được sử dụng trong các trò chơi phiêu lưu cũ. Mỗi "khu vực/đối tượng/liên kết" đều có màu pixel riêng. Và sau đó bạn chỉ cần giữ danh sách các đối tượng có màu phù hợp.

Khi bạn có pixelcolor dưới mousecoord, sau đó bạn có thể làm một tra cứu rất nhanh chóng trong bảng .. và bingo ...

Trước tiên, bạn rõ ràng là "bấm hình ảnh" với zero của (màu đen) và thats bằng "không có liên kết", sau đó bạn vẽ mọi khu vực bằng màu đặc biệt và lưu trữ màu này trong danh sách.

Hỏi xem bạn có cần thêm trợ giúp không. Tôi hy vọng đây là một câu trả lời hữu ích.

2

Hãy xem Cake. Đó là một plug-in đồ thị cảnh cho canvas. Có thể là một chút quá phức tạp đối với những gì bạn đang tìm kiếm, nhưng bạn có thể thêm các sự kiện vào các đối tượng Canvas bọc bánh.

Các vấn đề liên quan