Saturday, 15 June 2013

ios - UITapGestureRecognizer on SKNode: Converting Coordinates from UIView to SKNode -


मैं एक UITapGestureRecognizer और एक UIPanGestureRecognizer एक पर UIView उस पर एक SKScene के साथ। पैन हावभाव पहचानकर्ता एक SKNode को बायीं ओर ले जाता है, और मैं स्नैप के बच्चे को पता लगाने के लिए टैप जेस्चर पहचानकर्ता चाहता हूं। पैनिंग ठीक काम करता है, लेकिन मैं मुसीबत का पता लगाने के नल होने हूँ - नल इशारा आग प्रासंगिक विधि है, लेकिन मुझे यकीन है कि कैसे नोड के लिए दृश्य को देखने से निर्देशांक परिवर्तित करने के लिए करता है, तो नल में से एक में है पता लगाने के लिए नहीं कर रहा हूँ बच्चों के नोड्स

UIView (इशारों से) → SKScene नोड पैनिंग के नोड → बच्चे पैनिंग →

मैं जाँच करते हैं एक एक टैप जेस्चर का स्पर्श समन्वय है कि क्या किसी भी SKNode है?

  - (शून्य) tapAction: (UITapGestureRecognizer *) इस {if (sender.state == UIGestureRecognizerStateEnded) {// से निपटने कोड CGPoint touchLocation = [इस locationOfTouch: 0 ध्यान में रखते हुए: sender.view] ; एनएसएलॉग (@ "टीएपी% @", एनएसएसटीरिंगफ्रमसीसीपॉइंट (टचलोकेशन)); के लिए (_containerNode.children में SKLabelNode * नोड) {अगर ([नोड containsPoint: [नोड convertPoint: touchLocation fromNode: self.parent]]) {// यह वह जगह है जहाँ मैं चाहता हूँ नल पता लगाया जा। } सीपी पॉइंट चेक पॉइंट = [नोड कन्वर्ट प्वॉइंट: टच लोकेशन ऑन नोड: सेफ़एसीन]; NSLog (@ "चेकपॉइंट% @", NSStringFromCGPoint (चेक पॉइंट)); // NSLog (@ "इटरेटिंग नोड्स"); अगर ([नोड शामिल हैं: चेक पॉइंट]) {एनएसएलॉग (@ "स्पर्श मैच% @", नोड); }}}  

}

अंत में मुझे इसकी आवश्यकता थी क्या सुझाव दिया गया से कुछ और चरण करते हैं - SKView → SKScene से और फिर SKNode जो नोड्स मैं परीक्षण मारा गया था निहित में कनवर्ट करने

  CGPoint touchLocation = [इस locationOfTouch: 0 ध्यान में रखते हुए:। sender.view]; CGPoint टच स्थानः इन्स्सिने = [[स्वयं .सीएनए दृश्य] कन्वर्ट प्वॉइंट: टच स्थान को स्सीन: सेफेंस।]; CGPoint स्पर्शस्थान स्थान = नैनो [[स्व। Cene कन्वर्ट प्वॉइंट: टचलोकेशन इनससीन टू नोड: _ कंटेनर नोड];  

No comments:

Post a Comment