मैं अपने बालों को फाड़ रहा हूं कि यह पता लगाने की कोशिश कर रहा हूं कि एक बहुत ही आसान समस्या क्या है। मुझे पता है कि इस सामान की बहुत सारी बातों के बारे में बात की गई है, इसलिए अगर यह अच्छी तरह से ढके हुए जमीन पर चलती है, तो माफी माँगती है, लेकिन मुझे अपने समाधान के लिए विशिष्ट कुछ नहीं मिल रहा है (मेरा विश्वास करो, मैंने देखा है)।आईओएस - घुमावदार पथों के साथ वस्तुओं को खींचना
मूल रूप से मैं एक पूर्व-परिभाषित, घुमावदार पथ (केवल इसे स्थानांतरित नहीं करता, बल्कि ड्रैग आईटी) के साथ एक ऑब्जेक्ट/स्प्राइट खींचना चाहता हूं। आईफोन की "अनलॉक करने के लिए स्लाइड" चीज के बारे में सोचें, लेकिन स्लाइडर को बाएं से दाएं खींचने के बजाय, पथ को एक चाप या एक लहर रेखा बनाएं।
मेरे बुनियादी सोच था:
- एक बेज़ियर पथ को परिभाषित, प्रारंभ बिंदु पर वस्तु की स्थापना की।
- यदि ऑब्जेक्ट स्पर्श किया गया है, तो स्पर्श में बेजियर पथ पर हिट डिटेक्शन की जांच करें (या कुछ समान फ़ंक्शन)। यदि पथ पर बने रहें, पथ तक समाप्त होने तक पथ के साथ स्प्राइट को अग्रिम करें (जिस स्थिति में, कार्य समाप्त हो गया है) या उपयोगकर्ता की उंगली पथ से निकलती है (इस स्थिति में, वस्तु को शुरुआत में वापस जाना चाहिए)।
इनमें से कोई भी छोटा नहीं है (कम से कम, ऐसा लगता है)। उदाहरण के लिए:
- एक बेज़ियर रास्ते पर हिट का पता लगाने कर जब से तुम वास्तव में stroked भाग, नहीं भरने हिस्से पर यह सब करने की ज़रूरत एक शाही दर्द है। और फिर भी, मुझे किसी भी चौड़ाई के रास्ते पर ऐसा करने का कोई तरीका नहीं दिख रहा है - केवल बेजियर के 1-पॉइंट-वाइड पथ पर।
- पथ के साथ आंशिक रूप से किसी ऑब्जेक्ट को स्थानांतरित करना भी संभव नहीं लगता है: सभी एनीमेशन विधियां संपूर्ण पथ के साथ स्प्राइट को स्थानांतरित करती हैं। साथ ही, ऐसा करने के लिए आपको उपयोगकर्ता के स्पर्श के निकटतम पथ पर बिंदु ढूंढना होगा, जो कि यदि आपने इसे कभी देखा है तो आश्चर्यजनक रूप से जटिल गणित शामिल है।
- मैंने पथ के बाहर सभी जगहों पर कब्जा करने के लिए कठोर निकायों का उपयोग करने का विचार किया है, इसलिए वस्तु केवल पथ में ही जा सकती है। हालांकि, इसके लिए घुमावदार कठोर निकायों की परिभाषा की आवश्यकता है जिनमें से कुछ अवतल होना चाहिए। गतिरोध।
क्या मैं इसे बहुत कठिन बना रहा हूं? यह जटिल नहीं लगता है। मुझे पूरे समाधान की आवश्यकता नहीं है, इस बारे में सोचने और सही दिशा में लात मारने का एक नया तरीका है। किसी भी तरह की सहायता की सच में प्रशंसा की जाएगी।
मुझे पता है कि यह बहुत समय पहले पूछा गया था, लेकिन मैं अभी कुछ इसी तरह से चल रहा हूं और सोच रहा था कि क्या आपने यह पाया है बाहर और सही रास्ते को नीचे निर्देशित करने में मदद करने में सक्षम हो सकता है। – gikygik