2016-02-29 16 views
7

के माध्यम से गेम नियंत्रण मैं उद्देश्य-सी में एक गेम पर काम कर रहा हूं। जीसीएमक्रोरोमेपैड के माध्यम से सिरी रिमोट बहुत अच्छा काम करता है और असली एमएफआई नियंत्रक जीसीगेमेपैड के माध्यम से अच्छी तरह से काम करते हैं। हालांकि, तीसरे पक्ष के आईआर रिमोट सभी इन-गेम में काम नहीं करते हैं (और न ही आईफोन पर रिमोट ऐप या पुराने ऐप्पल टीवी 3 जीएम रिमोट)।टीवीओएस - गैर-सिरी रिमोट

मैं कैसे पहचान सकता हूं और इन इनपुटों को अलग कर सकता हूं?


दो दिन बाद ... मैं ने पाया है कि एक UITapGestureRecognizer ऊपर पता लगाने के लिए इस्तेमाल किया जा सकता, नीचे, बाएँ, ठीक है और घटनाओं का चयन सही ढंग से एक तीसरे पक्ष के टीवी रिमोट या iPhone Remote.app साथ जब प्रस्तुत किया। दिशात्मक घटनाएं वास्तव में इन प्रकार के रिमोट्स के लिए अद्वितीय होती हैं-सिरी रिमोट दिशात्मक टैप घटनाएं उत्पन्न नहीं करती है। दुर्भाग्यवश, हालांकि, सिरी रिमोट या थर्ड-पार्टी या आईफोन रिमोट.एप पर चयन बटन टैप करने से मेरे टैप पहचानकर्ता से एक चयन ईवेंट उत्पन्न होगा। मुझे दोनों को अलग करने के लिए कुछ रास्ता चाहिए।

केवल विशिष्ठ कारक मैं पा सकते हैं कि सिरी दूरदराज के दोहन भी GCMicroGamepad-एक तीसरे पक्ष के रिमोट पर एक बटन-एक प्रेस उत्पन्न करता है या iPhone Remote.app बिल्कुल GCMicroGamepad को प्रभावित नहीं करता है। लेकिन यह टैप-रिलीज इवेंट्स के लिए जीसीएमइक्रोगेमेपैड को देखने का प्रयास करने के लिए बेहद बेहद सुरुचिपूर्ण है, और फिर उस ईवेंट का उपयोग मिलान करने वाले चयन बटन ईवेंट को फ़िल्टर करने के लिए करें। निश्चित रूप से यह एपीआई का अनुशंसित उपयोग नहीं है; यह एक अच्छा दीर्घकालिक समाधान की तरह प्रतीत नहीं होता है। यदि मैं जीसीएमइक्रोगेमेप मोड में यूआई घटनाओं को उत्पन्न करने के लिए सिरी रिमोट को बता सकता हूं, तो यह उत्कृष्ट होगा।

+0

क्या आपने तकनीकी टॉक वीडियो की जांच की है: https://developer.apple.com/videos/play/techtalks-apple-tv/4/ – Stefan

+0

क्या यह बात रिमोट.एप पर चर्चा करती है ?? मुझे याद नहीं है। – StilesCrisis

+0

नहीं, केवल सिरी रिमोट और गेम नियंत्रक। क्षमा करें, मैंने आपके प्रश्न में उस हिस्से को याद किया है। – Stefan

उत्तर

0

मैं अभी इस परीक्षण का परीक्षण नहीं कर सकता, लेकिन आप शायद GCEventViewController का उपयोग कर किसी तीसरे पक्ष के रिमोट से सिरी रिमोट को अलग कर सकते हैं नियंत्रकUserInteractionEnabled गुण को गलत पर सेट किया गया है। इस तरह, सिरी रिमोट इनपुट UIKit को पास नहीं किया जाना चाहिए (जब GCEventViewController पहला प्रतिसादकर्ता है)। सिरी रिमोट के विपरीत, तीसरे पक्ष के रिमोट की इनपुट इवेंट UIKit के माध्यम से हो सकती है, यह एक जीसीएमरिकोगेमपैड नहीं है।

अब तक, ऐप्पल वास्तव में एकाधिक सिरी रिमोट्स, आईओएस रिमोट्स या आईआर रिमोट्स के साथ मल्टीप्लेयर गेम का समर्थन नहीं करता है। लेकिन मुझे लगता है कि यह आ रहा है क्योंकि the Remote app on iOS will soon support multiplayer gaming (इसलिए मुझे लगता है कि ऐप्पल टीवी कई जीसीएमइक्रोगेमपैड नियंत्रकों को पहचान लेगा)।

संबंधित मुद्दे