2015-02-18 5 views
5

के साथ मल्टी-टच पनिंग मुझे hammer.js के साथ मल्टी-टच पैनिंग को लागू करने में कठिनाइयां हो रही हैं। पनिंग घटनाओं को केवल एकल पॉइंटर्स से निकाल दिया जाता है। अगर मैं दो अंगुलियों से खींचने की कोशिश करता हूं तो यह तब तक नहीं चलता जब तक कि मैं कम से कम एक उंगली नहीं छोड़ता। क्या मुझे हथौड़ा विन्यास के लिए कुछ खास करना है?हैमर.जेएस

संपादित करें: मुझे पहले से ही पता चला है कि मैं पैन इवेंट के लिए 2 पॉइंटर्स कॉन्फ़िगर कर सकता हूं, लेकिन अब मुझे लगता है कि क्रोम में दो-उंगली टैप पर एक संदर्भ मेनू खोलने के लिए एक अंतर्निहित सुविधा है, जो अधिकांश समय से रोकती है पहचाने जाने से पैनिंग। यदि मैं बस 'contextmenu' ईवेंट पकड़ता हूं और preventDefault() को कॉल करता हूं, तो यह स्पष्ट रूप से पैन पहचानकर्ता को अक्षम कर देगा। कोई अन्य तरीका?

बीआर, डैनियल

+0

क्या आप क्रोम डेस्कटॉप, एंड्रॉइड/आईओएस के लिए क्रोम के बारे में बात कर रहे हैं? Hammer.js 2.0.4 में मल्टीटाउच पैनिंग सभी क्रोम संस्करणों (डेस्कटॉप, एंड्रॉइड) में मेरे लिए कम या ज्यादा काम करता है। हैमर.जेएस 2.0.4 में 'ev.deltaXY' (मल्टीटाउच पैनिंग) मानों और' पैनस्टार्ट 'के साथ एक मुद्दा कूदने के साथ कुछ समस्याएं हैं (यदि आप यही बात कर रहे हैं), लेकिन इन दोनों के लिए कामकाज हैं तय की। – Daniel

+1

आपने पैन इवेंट के लिए 2 पॉइंटर्स को कॉन्फ़िगर करने का प्रबंधन कैसे किया? मैंने सब कुछ करने की कोशिश की है लेकिन इसका कोई फायदा नहीं हुआ है। क्या आप कृपया मेरी मदद कर सकते हैं? – myTerminal

उत्तर

1

आप 'चुटकी' घटना का उपयोग करना चाहिए। दो अंगुलियों पैनिंग और ज़ूमिंग के लिए। पिनच घटना में संपत्ति है: उंगलियों की घटनाओं के साथ 'पॉइंटर्स';

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

इसके लिए धन्यवाद! मैंने 'e.scale' का उपयोग दो अंगुली पैनिंग और स्केलिंग के बीच भी भेदभाव किया है। यह सही नहीं है (जब तक आप स्केलिंग थ्रेसहोल्ड हिट नहीं करते हैं तब तक आपको पैनिंग का थोड़ा सा मिलता है) लेकिन फिर भी बढ़िया है। –

+0

मुझे यह जवाब नहीं समझा। क्या आप व्याख्या कर सकते हैं कि आप पैनिंग और ज़ूमिंग के बीच कैसे अंतर करते हैं? आपके चुटकी कॉलबैक में ऐसा प्रतीत होता है कि आप केवल पैन करते हैं, ज़ूम नहीं करते हैं। – Michael

+0

हैलो, माइक। दुर्भाग्य से मेरे पास समझाने के लिए पर्याप्त समय नहीं है, लेकिन मैं अपने स्पर्श सेंसर के पूर्ण स्रोत की प्रतिलिपि बना सकता हूं, उम्मीद है कि यह आपकी मदद करेगा: https://pastebin.com/Xk4AmcdC – saike