2016-02-29 22 views
7

Tôi đang làm việc trên một trò chơi trong Objective-C. Điều khiển từ xa Siri hoạt động tốt thông qua GCMicroGamepad và bộ điều khiển MFi thực hoạt động tốt qua GCGamepad. Tuy nhiên, điều khiển từ xa IR của bên thứ ba không hoạt động ở tất cả trong trò chơi (và cũng không phải ứng dụng từ xa trên iPhone hoặc từ xa Apple TV thế hệ thứ 3 cũ hơn).tvOS - điều khiển trò chơi qua điều khiển từ xa không phải Siri

Làm cách nào tôi có thể nhận ra và phân biệt các yếu tố đầu vào này?


Hai ngày sau ... Tôi đã tìm thấy rằng một UITapGestureRecognizer thể được sử dụng để phát hiện Up, Down, Left, Right và Chọn sự kiện một cách chính xác khi trình bày với một remote TV của bên thứ ba hoặc iPhone Remote.app. Các sự kiện định hướng thực sự là duy nhất đối với các loại điều khiển từ xa này — điều khiển từ xa Siri không tạo ra các sự kiện nhấn định hướng. Thật không may, tuy nhiên, khai thác các Chọn nút trên hoặc từ xa Siri hoặc bên thứ ba hoặc iPhone Remote.app sẽ tạo ra một sự kiện Chọn từ nhận dạng vòi của tôi. Tôi cần một số cách để phân biệt hai.

Yếu tố phân biệt duy nhất tôi có thể tìm thấy là nhấn vào điều khiển từ xa của Siri cũng tạo nút bấm-A trên GCMicroGamepad — điều khiển từ xa của bên thứ ba hoặc iPhone Remote.app không ảnh hưởng đến GCMicroGamepad. Nhưng nó vô cùng không thích hợp để cố gắng xem GCMicroGamepad cho các sự kiện phát hành nhấn và sau đó sử dụng sự kiện đó để lọc ra sự kiện nút Chọn phù hợp. Chắc chắn nó không phải là một đề nghị sử dụng các API; nó không có vẻ giống như một giải pháp lâu dài tốt. Nếu tôi có thể nói với Siri từ xa để ngừng tạo sự kiện giao diện người dùng khi ở chế độ GCMicroGamepad, điều đó sẽ tuyệt vời.

+0

Bạn đã kiểm tra video nói chuyện công nghệ cao: https://developer.apple.com/videos/play/techtalks-apple-tv/4/ – Stefan

+0

Liệu cuộc thảo luận đó có thảo luận về remote.app không? Tôi không nhớ điều đó. – StilesCrisis

+0

Không, chỉ có bộ điều khiển từ xa và trò chơi của Siri. Xin lỗi tôi đã bỏ lỡ phần đó trong câu hỏi của bạn. – Stefan

Trả lời

0

Tôi không thể kiểm tra điều này ngay bây giờ, nhưng bạn có thể phân biệt từ xa Siri từ điều khiển từ xa của bên thứ ba bằng cách sử dụng GCEventViewController với thuộc tính controllerUserInteractionEnabled được đặt thành false. Bằng cách này, các đầu vào Siri Remote không được chuyển tới UIKit (khi GCEventViewController là bộ trả lời đầu tiên). Các sự kiện đầu vào của bên thứ ba có thể chuyển sang UIKit vì không giống như Siri Remote, đây không phải là GCMicroGamepad.

Cho đến nay, Apple thực sự không hỗ trợ nhiều trò chơi với nhiều điều khiển từ xa Siri, Điều khiển từ xa iOS hoặc Bộ điều khiển từ xa IR. Nhưng tôi nghĩ rằng nó có thể đến bởi vì the Remote app on iOS will soon support multiplayer gaming (vì vậy tôi đoán Apple TV sẽ nhận ra nhiều bộ điều khiển GCMicroGamePad).

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