6
votes

Développement iOS: lors de la réception d'un centre de jeu Inviter, comment puis-je obtenir l'objet GKMatch?

Je construis un jeu iPhone qui utilise le centre de jeu et je suis difficile de comprendre comment créer un match de match commencée en recevant une invitation à jouer à un ami. Le docs disent ceci ...

Le paramètre acceptéInvite est Non nul lorsque l'application reçoit une invitation directement d'un autre joueur. Dans cette situation, l'autre L'application du joueur a déjà créé la demande de correspondance, donc ceci La copie de votre application n'a pas besoin créer un.

Selon cela, je n'ai pas besoin de créer une demande de correspondance depuis le joueur qui l'invitait déjà créé. Si oui, comment puis-je obtenir l'objet GKMatch nécessaire pour envoyer / recevoir des données vers / depuis l'autre joueur? La seule façon de savoir que je connaisse pour obtenir l'objet Gkmatch est de créer une demande de correspondance et d'appeler la méthode FindMatchForRequest , que les documents disent que je ne devrais pas faire.

Le seul exemple de code qu'ils ont pour cela impliquent la création et l'utilisation du gkmatchmakerviewcontroller , que je ne peux pas utiliser car je crée mes propres vues personnalisées.

Merci beaucoup pour votre sagesse!


0 commentaires

3 Réponses :


1
votes

J'ai reçu une réponse de l'un des ingénieurs Apple à ce sujet, voici ce qu'il a dit ...

Vous pouvez faire une correspondance automatique avec coutume vues, mais il n'y a aucun moyen d'utiliser invite sans utiliser GkmatchMakerviewcontroller. Donc vous devrait suivre l'échantillon de code.

Je suppose qu'il y a juste de devoir être une pause radicale dans la consistance de mon UI.


4 commentaires

Avez-vous déjà réussi à obtenir des invitations, même avec GkmatchMakerviewontroller? Il y a un tas de messages sur les forums iPhone Dev se plaindre que les invitations ne fonctionnent pas comme elles le devraient.


Carcassonne utilise une manière utile une vue personnalisée qui prend en charge l'utilisation d'invitations Gamecenter. Jusqu'à présent, je n'ai pas été en mesure de comprendre comment, cependant, et si je venais de poster ma propre question lorsque je suis tombé sur celui-ci. Donc, je pense qu'il y a plus d'une histoire ici que celle de Apple, mais malheureusement, je ne peux pas remplir la pièce manquante.


Si frustrant que cela ne semble pas être pris en charge!


Incidemment, connaissez-vous quel échantillon de code l'ingénieur faisait référence?



0
votes

J'ai une solution au centre de jeu Inviter un problème. Alors suivez ces étapes: -
1- Vérifiez que vos notifications push sont activées dans les paramètres et les invitations d'amis sont sur le paramètre de votre compte de jeu.
2-Maintenant installez la dernière version de Fruit Ninja Game
3-Centre de jeu ouvert et connectez-vous, puis mettez-le en arrière-plan.
4-Open Fruit Ninja directement goto nouveau jeu => multijoueur => gamecenter
5-Maintenant, vous verrez deux options (inviter des amis et jouer maintenant au coin supérieur droit)
6-Hit the Play Maintenant Button, alors le centre de jeu trouvera le jeu non invité pour vous.
7-Lorsque le jeu commence et vous pouvez voir votre nom d'ami non invité dans le coin supérieur droit. Après la fin du jeu, allez directement au centre de jeu en arrière-plan et dans votre section de jeux et entrez dans les fruits Ninja dans la liste de jeux. Ici vous verrez l'option récemment jouée, touchez-la. Ici, vous verrez en haut de la liste un nom de joueur (qui vous avez joué) touchez le nom et envoyez-lui une demande d'ami immédiatement.
8-S'il accepte la demande Goto Amis => (Votre ami récemment ajouté) => gameplayed ensemble (Fruit Ninja) => Hit Play (en haut à droite)
9-Maintenant, le jeu s'ouvrira et vous verrez la page GC. Appuyez sur le bouton Invite et choisissez l'ami récemment ajouté, puis envoyez-le, attendez-le et prêt à jouer.

Votre identifiant GC a vérifié et vous pouvez inviter n'importe lequel de vos amis et peut jouer à n'importe quel jeu (qui prend en charge la fonctionnalité Invite)


1 commentaires

Ceci n'est pas lié à la question de l'OP.



0
votes

Malgré ce que l'ingénieur Apple a dit, que diriez-vous d'essayer quelque chose comme ça pour inviter sans utiliser de vue personnalisée: xxx

}];

maintenant si un utilisateur sélectionne maintenant si un utilisateur sélectionne Les joueurs de cette liste sur une vue personnalisée, Gkmatchrequest a une propriété appelée Playerstinvite et nous pouvons définir ces joueurs sur cette propriété. Et créer un match par programme à l'aide de cette demande.

Ceci semble très possible mais je n'ai pas essayé d'être honnête


1 commentaires

Cet article consiste à recevoir une invitation, à ne pas en envoyer un.