2015-02-18 43 views
5

Tôi gặp khó khăn khi triển khai panning đa chạm với hammer.js. Sự kiện xoay chỉ được kích hoạt với các con trỏ đơn. Nếu tôi cố gắng kéo bằng hai ngón tay, nó sẽ không cháy cho đến khi tôi nhả ít nhất một ngón tay. Tôi có phải làm gì đó đặc biệt cho cấu hình búa không? EDIT: Tôi đã nhận thấy rằng tôi có thể định cấu hình 2 con trỏ cho sự kiện pan, nhưng bây giờ tôi thấy Chrome có tính năng tích hợp sẵn để mở menu ngữ cảnh trên hai ngón tay, phần lớn thời gian sẽ ngăn panning từ được công nhận. Nếu tôi chỉ cần nắm bắt sự kiện 'contextmenu' và gọi preventDefault(), nó sẽ (rõ ràng) hoàn toàn vô hiệu hóa trình nhận dạng pan. Bất kỳ cách nào khác?Xoay đa chạm với Hammer.js

BR, Daniel

+0

Bạn đang nói về Chrome Desktop, Chrome dành cho Android/iOS? Multitouch panning trong hammer.js 2.0.4 hoạt động với tôi nhiều hay ít trong tất cả các phiên bản Chrome (Desktop, Android). Hammer.js 2.0.4 có một số vấn đề với nhảy 'ev.deltaXY' (multitouch panning) và một vấn đề với' panstart' mặc dù (nếu đó là những gì bạn đang nói về), nhưng có cách giải quyết cho cả hai cho đến khi chúng đã sửa. – Daniel

+1

Bạn đã định cấu hình 2 con trỏ cho sự kiện pan như thế nào? Tôi đã thử mọi thứ nhưng vô ích. Bạn có thể giúp tôi ở đây không? – myTerminal

Trả lời

1

Bạn nên sử dụng sự kiện 'nhúm'. Để xoay và thu phóng hai ngón tay. Sự kiện PINCH có thuộc tính: 'con trỏ', với các sự kiện ngón tay;

var previous_pinch_delta = { 
     x: 0, 
     y: 0 
    }; 
    hammered.on('pinch', function(e){ 
     camera.pan(e.deltaX-previous_pinch_delta.x, e.deltaY-previous_pinch_delta.y); 
     previous_pinch_delta = { 
      x: e.deltaX, 
      y: e.deltaY 
     }; 
     }); 
+0

Cảm ơn vì điều đó! Tôi đã sử dụng 'e.scale' quá phân biệt giữa hai ngón tay panning và scaling. Nó không hoàn hảo (bạn nhận được một chút panning cho đến khi bạn nhấn ngưỡng mở rộng quy mô) nhưng vẫn tuyệt vời. –

+0

Tôi không hiểu câu trả lời này. Bạn có thể giải thích cách bạn phân biệt giữa xoay và thu phóng không? Trong cuộc gọi lại chụm của bạn, có vẻ như bạn chỉ xoay, không thu phóng. – Michael

+0

Xin chào, Mike. Thật không may tôi không có đủ thời gian để giải thích, nhưng tôi có thể sao chép toàn bộ nguồn cảm biến cảm ứng của tôi, hy vọng nó sẽ giúp bạn: https://pastebin.com/Xk4AmcdC – saike

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