Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека разработчика Mac

Разработчик

Ссылка платформы GameKit ссылка класса GKMatch

Опции
Развертывание Target:

На этой странице
Язык:

GKMatch

A GKMatch объект обеспечивает одноранговую сеть между группой устройств, подключенных к Игровому Центру. Соответствия обеспечивают передачу и речь и игровые данные. Ваша игра никогда непосредственно выделяет GKMatch объекты. Вместо этого это использует GKMatchmaker класс, чтобы программно найти соответствие с другими заинтересованными проигрывателями или a GKMatchmakerViewController возразите для отображения пользовательского интерфейса к проигрывателю.

После того, как Ваша игра получает объект соответствия, установила его делегата и затем ожидает, пока другие участники не подключены к соответствию. Можно читать expectedPlayerCount свойство для определения, сколько плееров не подключило к соответствию.

Каждое устройство в соответствии идентифицируется идентификатором проигрывателя для проигрывателя, аутентифицируемого на том устройстве. Ваша игра передает свои собственные данные к другим проигрывателям путем вызова любого sendDataToAllPlayers:withDataMode:error: метод или sendData:toPlayers:withDataMode:error: метод. Для разрешения голосового чата вызвать voiceChatWithName: создать один или несколько речевых каналов.

Когда Вы закончите с соответствием, вызовите соответствие disconnect метод.

Наследование


Соответствует


Оператор импорта


Swift

import GameKit

Objective C

@import GameKit;

Доступность


Доступный в OS X v10.8 и позже.
  • делегат делегат Свойство

    Делегат к соответствию.

    Объявление

    Swift

    unowned(unsafe) var delegate: GKMatchDelegate!

    Objective C

    @property(nonatomic, assign) id< GKMatchDelegate > delegate

    Обсуждение

    Необходимо установить делегата для получения данных от других участников соответствия.

    Оператор импорта

    Objective C

    @import GameKit;

    Swift

    import GameKit

    Доступность

    Доступный в OS X v10.8 и позже.

  • Остающееся число игроков, кто еще не соединился с соответствием. (только для чтения)

    Объявление

    Swift

    var expectedPlayerCount: Int { get }

    Objective C

    @property(nonatomic, readonly) NSUInteger expectedPlayerCount

    Обсуждение

    Значение этого свойства постепенно уменьшается каждый раз, когда проигрыватель соединяется с соответствием. Когда достигает его значение 0, подключаются все ожидаемые плееры, и Ваша игра может начать матч.

    Оператор импорта

    Objective C

    @import GameKit;

    Swift

    import GameKit

    Доступность

    Доступный в OS X v10.8 и позже.

  • Массив GKPlayer объекты, представляющие проигрыватели в соответствии. (только для чтения)

    Объявление

    Swift

    var players: [AnyObject]! { get }

    Objective C

    @property(nonatomic, readonly) NSArray *players

    Оператор импорта

    Objective C

    @import GameKit;

    Swift

    import GameKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • playerIDs playerIDs (OS X v10.10) Свойство

    Массив NSString объекты, содержащие идентификаторы проигрывателя для удаленных проигрывателей в соответствии. (только для чтения)

    Объявление

    Swift

    var playerIDs: [AnyObject]! { get }

    Objective C

    @property(nonatomic, readonly) NSArray *playerIDs

    Обсуждение

    playerIDs свойство первоначально включает идентификаторы проигрывателя для любых удаленных плееров, уже подключенных к соответствию; массив может первоначально быть пустым. Поскольку каждый новый проигрыватель соединяется с соответствием, что идентификатор проигрывателя добавляется к массиву. Идентификатор проигрывателя для местного игрока не включен в этот массив.

    Оператор импорта

    Objective C

    @import GameKit;

    Swift

    import GameKit

    Доступность

    Доступный в OS X v10.8 и позже.

    Осуждаемый в OS X v10.10.

    См. также

    expectedPlayerCount

  • Определяет лучший проигрыватель в игре для действия как сервер для соответствия клиент-сервер.

    Объявление

    Swift

    func chooseBestHostingPlayerWithCompletionHandler(_ completionHandler: ((GKPlayer!) -> Void)!)

    Objective C

    - (void)chooseBestHostingPlayerWithCompletionHandler:(void (^)(GKPlayer *player))completionHandler

    Параметры

    completionHandler

    Был определен блок, который вызовут после лучшего проигрывателя.

    Блок получает следующий параметр:

    player

    GKPlayer объект, идентифицирующий проигрыватель с лучшей предполагаемой производительностью сети, или nil если не мог бы в настоящее время определяться проигрыватель.

    Обсуждение

    Вызов этого метода заставляет Гэйма Кита пытаться оценить, какой проигрыватель имеет лучшее полное сетевое соединение с помощью множества метрик, таких как пропускная способность, задержка и надежность сети. Когда Ваша игра реализует клиент-серверную модель поверх однорангового соединения соответствия, Как правило, Вы вызываете этот метод. Посмотрите Разработку Вашей Сети Гэйм.

    Когда этот метод вызывают, он создает новую фоновую задачу для обрабатывания запроса. Метод тогда возвращает управление Вашей игре. Позже, когда задача завершена, Гэйм Кит вызывает Ваш обработчик завершения. Обработчик завершения всегда вызывают на основном потоке.

    Оператор импорта

    Objective C

    @import GameKit;

    Swift

    import GameKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • Данные передач к списку подключенных плееров.

    Объявление

    Swift

    func sendData(_ data: NSData!, toPlayers players: [AnyObject]!, dataMode mode: GKMatchSendDataMode, error error: NSErrorPointer) -> Bool

    Objective C

    - (BOOL)sendData:(NSData *)data toPlayers:(NSArray *)players dataMode:(GKMatchSendDataMode)mode error:(NSError **)error

    Параметры

    data

    Байты, которые будут отправлены.

    players

    Массив GKPlayer объекты, содержащие строки идентификатора для списка проигрывателей, кто должен получить данные.

    mode

    Механизм раньше отправлял данные.

    error

    Если данные не могли бы быть поставлены в очередь по возврату, этот параметр содержит NSError объект, описывающий ошибку.

    Возвращаемое значение

    YEStrue если данные были успешно поставлены в очередь для передачи; NOfalse если соответствие было неспособно поставить данные в очередь.

    Обсуждение

    Когда сеть становится доступной, соответствие ставит данные в очередь и передает их.

    Оператор импорта

    Objective C

    @import GameKit;

    Swift

    import GameKit

    Доступность

    Доступный в OS X v10.10 и позже.

  • Данные передач ко всем проигрывателям соединились с соответствием.

    Объявление

    Swift

    func sendDataToAllPlayers(_ data: NSData!, withDataMode mode: GKMatchSendDataMode, error error: NSErrorPointer) -> Bool

    Objective C

    - (BOOL)sendDataToAllPlayers:(NSData *)data withDataMode:(GKMatchSendDataMode)mode error:(NSError **)error

    Параметры

    data

    Байты, которые будут отправлены.

    mode

    Механизм раньше отправлял данные.

    error

    Если данные не могли бы быть поставлены в очередь по возврату, этот параметр содержит NSError объект, описывающий ошибку.

    Возвращаемое значение

    YEStrue если данные были успешно поставлены в очередь для передачи; NOfalse если соответствие было неспособно поставить данные в очередь.

    Обсуждение

    Когда сеть становится доступной, соответствие ставит данные в очередь и передает их.

    Оператор импорта

    Objective C

    @import GameKit;

    Swift

    import GameKit

    Доступность

    Доступный в OS X v10.8 и позже.

  • Определяет лучший проигрыватель в игре для действия как сервер для соответствия клиент-сервер.

    Объявление

    Swift

    func chooseBestHostPlayerWithCompletionHandler(_ completionHandler: ((String!) -> Void)!)

    Objective C

    - (void)chooseBestHostPlayerWithCompletionHandler:(void (^)(NSString *playerID))completionHandler

    Параметры

    completionHandler

    Был определен блок, который вызовут после лучшего проигрывателя.

    Блок получает следующий параметр:

    playerID

    Идентификатор проигрывателя для проигрывателя с лучшей предполагаемой производительностью сети, или nil если не мог бы в настоящее время определяться проигрыватель.

    Обсуждение

    Вызов этого метода заставляет Гэйма Кита пытаться оценить, какой проигрыватель имеет лучшее полное сетевое соединение с помощью множества метрик, таких как пропускная способность, задержка и надежность сети. Когда Ваша игра реализует клиент-серверную модель поверх однорангового соединения соответствия, Как правило, Вы вызываете этот метод. Посмотрите Разработку Вашей Сети Гэйм.

    Когда этот метод вызывают, он создает новую фоновую задачу для обрабатывания запроса. Метод тогда возвращает управление Вашей игре. Позже, когда задача завершена, Гэйм Кит вызывает Ваш обработчик завершения. Обработчик завершения всегда вызывают на основном потоке.

    Оператор импорта

    Objective C

    @import GameKit;

    Swift

    import GameKit

    Доступность

    Доступный в OS X v10.9 и позже.

    Осуждаемый в OS X v10.10.

  • Данные передач к списку подключенных плееров.

    Объявление

    Swift

    func sendData(_ data: NSData!, toPlayers playerIDs: [AnyObject]!, withDataMode mode: GKMatchSendDataMode, error error: NSErrorPointer) -> Bool

    Objective C

    - (BOOL)sendData:(NSData *)data toPlayers:(NSArray *)playerIDs withDataMode:(GKMatchSendDataMode)mode error:(NSError **)error

    Параметры

    data

    Байты, которые будут отправлены.

    playerIDs

    Массив NSString объекты, содержащие строки идентификатора для списка проигрывателей, кто должен получить данные.

    mode

    Механизм раньше отправлял данные.

    error

    Если данные не могли бы быть поставлены в очередь по возврату, этот параметр содержит NSError объект, описывающий ошибку.

    Возвращаемое значение

    YEStrue если данные были успешно поставлены в очередь для передачи; NOfalse если соответствие было неспособно поставить данные в очередь.

    Обсуждение

    Когда сеть становится доступной, соответствие ставит данные в очередь и передает их.

    Оператор импорта

    Objective C

    @import GameKit;

    Swift

    import GameKit

    Доступность

    Доступный в OS X v10.8 и позже.

    Осуждаемый в OS X v10.10.

  • Присоединяется к речевому каналу.

    Объявление

    Swift

    func voiceChatWithName(_ name: String!) -> GKVoiceChat!

    Objective C

    - (GKVoiceChat *)voiceChatWithName:(NSString *)name

    Параметры

    name

    Канал для присоединения.

    Возвращаемое значение

    Автовыпущенный голосовой чат возражает для речевого канала, или nil если произошла ошибка.

    Обсуждение

    Вызов этого метода присоединяется к речевому каналу, создавая его при необходимости. Ваша игра должна сохранить сильную ссылку к объекту голосового чата, пока проигрыватель не оставляет канал. Все участники, присоединяющиеся к каналу с тем же именем, подключены друг к другу.

    Единственное соответствие может иметь многократные каналы голосового чата, и любой проигрыватель в соответствии может присоединиться к многократным каналам одновременно. Например, основанная на команде игра могла бы создать канал для каждой команды и единственный канал, включающий все проигрыватели.

    Объекты голосового чата зависят от сетевого соединения, предоставленного соответствием. Когда разъединения проигрывателя от соответствия, все речевые каналы связались с той остановкой соответствия работать. Как правило, необходимо выйти из любых речевых каналов и выпустить любые сильные ссылки к каналам прежде, чем разъединиться от соответствия.

    Родительский контроль может препятствовать тому, чтобы проигрыватель присоединился к голосовому чату. Если проигрывателю не разрешают присоединиться к речевому каналу, a nil объект возвращается к Вашему приложению.

    Оператор импорта

    Objective C

    @import GameKit;

    Swift

    import GameKit

    Доступность

    Доступный в OS X v10.8 и позже.

  • Разъединяет местного игрока от соответствия.

    Объявление

    Swift

    func disconnect()

    Objective C

    - (void)disconnect

    Обсуждение

    Ваша игра должна вызвать disconnect прежде, чем удалить последнюю сильную ссылку к объекту соответствия. Вызов disconnect уведомляет другие проигрыватели, что Вы оставили соответствие.

    Оператор импорта

    Objective C

    @import GameKit;

    Swift

    import GameKit

    Доступность

    Доступный в OS X v10.8 и позже.

  • Создайте новое соответствие со списком проигрывателей от существующего соответствия.

    Объявление

    Swift

    func rematchWithCompletionHandler(_ completionHandler: ((GKMatch!, NSError!) -> Void)!)

    Objective C

    - (void)rematchWithCompletionHandler:(void (^)(GKMatch *match, NSError *error))completionHandler

    Параметры

    completionHandler

    Создается блок, который вызовут после соответствия.

    Блок получает следующий параметр:

    match

    Новое соответствие. Если ошибка произошла, значение этого параметра nil.

    error

    Если ошибка произошла, этот параметр содержит ошибочный объект, описывающий проблему. Если соответствие было успешно воссоздано, значение этого параметра nil.

    Обсуждение

    Вызов этого метода использует автосоответствие для воссоздания предыдущего соответствия. Новое соответствие с тем же набором проигрывателей создается и возвращается. Если Ваша игра пытается воссоздать соответствия с помощью этого метода, каждый экземпляр игры на каждом устройстве должен вызвать этот метод.

    Когда этот метод вызывают, он создает новую фоновую задачу для обрабатывания запроса. Метод тогда возвращает управление Вашей игре. Позже, когда задача завершена, Гэйм Кит вызывает Ваш обработчик завершения. Обработчик завершения всегда вызывают на основном потоке.

    Оператор импорта

    Objective C

    @import GameKit;

    Swift

    import GameKit

    Доступность

    Доступный в OS X v10.9 и позже.

Типы данных

  • Механизм раньше передавал данные к другим проигрывателям.

    Объявление

    Swift

    enum GKMatchSendDataMode : Int { case Reliable case Unreliable }

    Objective C

    enum { GKMatchSendDataReliable, GKMatchSendDataUnreliable }; typedef NSInteger GKMatchSendDataMode;

    Константы

    • Reliable

      GKMatchSendDataReliable

      Данные отправляются постоянно, пока они успешно не получены предполагаемыми получателями или времена соединения. Используйте это, когда необходимо гарантировать поставку, и скорость не критически важна.

      Надежные передачи поставлены в порядке, который они были отправлены.

      Доступный в OS X v10.8 и позже.

    • Unreliable

      GKMatchSendDataUnreliable

      Если ошибка передачи происходит, данные отправляются один раз и не отправляются снова. Используйте это для небольших пакетов данных, которые должны поступить быстро, чтобы быть полезными для получателя.

      Данные, переданные ненадежно, могут быть получены не в порядке получателями. Как правило, Вы создаете свою собственную специфичную для игры обработку ошибок поверх этого механизма.

      Доступный в OS X v10.8 и позже.

    Оператор импорта

    Objective C

    @import GameKit;

    Swift

    import GameKit

    Доступность

    Доступный в OS X v10.8 и позже.