Tutoriel Faulty Flap

Annexe. Rendre le jeu social avec Game Center

Implémenter des fonctionnalités sociales dans votre jeu est important, elles favorisent sa distribution virale.

Prérequis:

Classements

Nom Type de format des scores Ordre de tri
Meilleurs Scores Integer Décroissant

Réalisations

Nom Description de la réalisation non remportée Description de la réalisation remportée Masquée Réalisable plusieurs fois
Premier Score Marquez pour la première fois. Vous avez marqué pour la première fois. Non Non
Médaille 1 Rayure Marquez 30 points ou plus. Vous avez marqué 30 points ou plus. Non Oui
Médaille 2 Rayures Marquez 60 points ou plus. Vous avez marqué 60 points ou plus. Non Oui
Médaille 3 Rayures Marquez 90 points ou plus. Vous avez marqué 90 points ou plus. Non Oui
Super Perdant Perdez 100 fois ou plus. Vous avez perdu 100 fois ou plus. Oui Non

Dans l'Éditeur de scène ouvrez la Boîte de dialogue Créer un nouvel objet en double-cliquant dans une zone vide de la Scène. Sélectionnez ensuite les 3 objets ci-dessous et déposez-les n'importe où en dehors de la Scène.

Ces objets permettent à votre application de communiquer avec Game Center.

Sélectionnez Game Center Connect et cliquez sur Propriétés > onglet Configuration. Assurez-vous que Authentifier en début de scène soit coché.

Construisez et lancez l'application iOS. Le jeu tente automatiquement de vous connecter, dès les premiers instants.

Dans l'Éditeur de scène sélectionnez Game Center Leaderboard et cliquez sur Propriétés > onglet Configuration. Copiez votre Identifiant de classement et collez-le dans le champ Identifiant, de telle sorte que l'objet se réfère au classement correspondant dans les événements ultérieurs. Décochez également Envoyer le score au lancement et Récupère les scores et noms au lancement.

Note: Vous pouvez retrouver l'identifiant de votre/vos classement(s) à tout moment dans iTunes Connect > Mes apps > Votre Application > Fonctionnalités > Game Center.

Dans l'Éditeur de liste d'événements modifiez l'événement suivant dans le groupe Game.Outro:

Game.Outro
// Meilleur score
(hud-score-big.Counter) > bestScore
+ Une seule action lorsque l'événement est en boucle
	: Fixer bestScore à value( "(hud-score-big.Counter)" )
	(hud-best.Counter) : Fixer le compteur à bestScore
	: Créer (hud-new.Active) à (12,13) de (hud-panel.Active)
	(hud-new.Active) : Clignoter pendant 00"-20
	(Game Center Leaderboard) : Envoyer le score bestScore au serveur

Que se produit-il avec cet événement? En plus de ce que nous avons déjà fait à l'Étape 6, maintenant nous soumettons également le score du joueur à Game Center.

Maintenant nous devons fournir au joueur un moyen d'afficher les scores enregistrés dans le classement. Dans le même temps nous allons également lui fournir un moyen d'afficher ses réalisations.

Dans l'Éditeur de scène > Barre d'outils des calques assurez-vous que le Calque 3 est sélectionné. Depuis la Fenêtre de librairie faites glisser les 2 objets ci-dessous n'importe où en dehors de la Scène.

Parce que nous avons besoin d'afficher ces objets uniquement à la fin de la partie, ils sont configurés comme ne pas Créer au démarrage.

Dans l'Éditeur de liste d'événements ajoutez l'événement suivant dans le groupe Game.Outro:

Game.Outro
// Init
(Game Center Connect) Le joueur local est authentifié
+ Une seule action lorsque l'événement est en boucle
	: Créer (btn-leaderboards.Active) à (326,518) calque 3
	: Créer (btn-achievements.Active) à (156,518) calque 3

Que se produit-il avec cet événement? Une fois que le groupe Game.Outro est activé, si le joueur local est authentifié nous affichons les boutons "Classements" et "Réalisations".
Si le joueur local n'est pas authentifié, c'est-à-dire connecté à son compte Game Center, il est inutile d'afficher ces boutons car ils n'auraient aucun effet.

Maintenant ajoutez les événements suivants dans le groupe Game.Outro:

Game.Outro
// Afficher classement
L'utilisateur clique avec le bouton gauche sur (btn-leaderboards.Active)
	(Game Center Leaderboard) : Affiche le tableau par défaut
// Afficher réalisations
L'utilisateur clique avec le bouton gauche sur (btn-achievements.Active)
	(Game Center Achievements) : Affiche le tableau des réalisations par défaut

Que se produit-il avec ces événements? Lorsque le joueur clique sur le bouton "Classements" nous affichons l'interface utilisateur intégrée des classements, et lorsque le joueur clique sur le bouton "Réalisations" nous affichons l'interface utilisateur intégrée des réalisations. Simple.

Construisez et lancez l'application iOS. Lorsque vous perdez la partie, et à condition que vous soyez connecté(e) à votre compte Game Center, les deux boutons supplémentaires apparaissent.
Touchez le bouton "Classements" et vous devriez voir votre meilleur score. Touchez le bouton "Réalisations" et vous devriez voir qu'elles sont toutes verrouillées.

Récompensons le joueur avec ces réalisations. Dans l'Éditeur de liste d'événements ajoutez l'événement suivant dans le groupe Game.Outro:

Game.Outro
// Init
(hud-score-big.Counter) > 0
+ Une seule action lorsque l'événement est en boucle
	(Game Center Achievements) : Envoyer réalisation "ID_RÉAL_PREMIERSCORE", 100 pourcent

Que se produit-il avec ces événements? Si le score du joueur est supérieur à zéro nous déverrouillons la réalisation "Premier Score". Parce qu'une réalisation ne peut être déverrouillée qu'une seule fois cela n'a pas d'importance si nous la déverrouillons à chaque fois que le joueur perd.
Remplacez l'identifiant fictif par celui correspondant à votre réalisation.

Construisez et lancez l'application iOS. Lorsque vous perdez la réalisation "Premier Score" est déverrouillée.

La réalisation "Super Perdant" demande plus de travail. Dans l'Éditeur de scène ouvrez la Boîte de dialogue Créer un nouvel objet. Sélectionnez ensuite l'objet ci-dessous et déposez-le n'importe où en dehors de la Scène.

Nous utilisons cet objet parce que les données stockées dans celui-ci sont persistantes, elles subsistent d'une session de jeu à l'autre. Lisez la suite pour savoir pourquoi nous avons besoin de données persistantes.

Dans l'Éditeur de liste d'événements ajoutez l'événement suivant dans le groupe Game.Init:

Game.Init
// Ini
En début de scène
	(Ini) : Fixer fichier courant à "save.ini"
	(Ini) : Fixer groupe courant à "game"
	(Ini) : Fixer élément courant à "times_lost"

Que se produit-il avec cet événement? Au début du jeu nous initialisons Ini en définissant ses fichier, groupe et élément courants.

Ajoutez les événements suivants dans le groupe Game.Outro:

Game.Outro
// Init
• Une seule action lorsque l'événement est en boucle
	(Ini) : Fixer la valeur à value of( "(Ini)" ) + 1

• Value of( "(Ini)" ) = 100
+ Une seule action lorsque l'événement est en boucle
	(Game Center Achievements) : Envoyer réalisation "ID_RÉAL_SUPERPERDANT", 100 pourcent

Que se produit-il avec ces événements? Une fois que le groupe Game.Outro est activé nous incrémentons de 1 la valeur stockée dans Ini. En d'autres termes nous enregistrons le nombre de fois où le joueur a perdu. Et une fois que cette valeur est égale à 100 nous déverrouillons la réalisation "Super Perdant".
Remplacez l'identifiant fictif par celui correspondant à votre réalisation.

C'est la raison pour laquelle nous utilisons Ini. La valeur stockée dans celui-ci étant persistante, elle augmentera d'une session de jeu à l'autre et finira par atteindre et même dépasser 100.
Si nous avions utilisé une valeur stockée de façon non-persistante cette réalisation aurait été trop difficile à déverrouiller, puisque perdre 100 fois dans la même session de jeu est très long.

Construisez et lancez l'application iOS. Si vous perdez 100 fois la réalisation "Super Perdant" est déverrouillée. Pour tester plus rapidement vous pourriez modifier la valeur de l'incrément.

Nous en avons presque terminé avec les réalisations. Dans l'Éditeur de liste d'événements modifiez les événements suivants dans le groupe Game.Outro:

Game.Outro
// Médaille
(hud-score-big.Counter) >= 30
+ Une seule action lorsque l'événement est en boucle
	: Créer (hud-medal.Active) à (-80,8) de (hud-panel.Active)
	(Game Center Achievements) : Envoyer réalisation "ID_RÉAL_MÉDAILLE1", 100 pourcent

• (hud-score-big.Counter) >= 60
+ Une seule action lorsque l'événement est en boucle
	(hud-medal.Active) : Fixer la direction à 1
	(Game Center Achievements) : Envoyer réalisation "ID_RÉAL_MÉDAILLE2", 100 pourcent

• (hud-score-big.Counter) >= 90
+ Une seule action lorsque l'événement est en boucle
	(hud-medal.Active) : Fixer la direction à 2
	(Game Center Achievements) : Envoyer réalisation "ID_RÉAL_MÉDAILLE3", 100 pourcent

Que se produit-il avec ces événements? En plus de ce que nous avons déjà fait à l'Étape 6, maintenant nous déverrouillons également une réussite différente en fonction du score du joueur.
Remplacez les identifiants fictifs par ceux correspondant à vos réussites.

Construisez et lancez l'application iOS et essayez de déverrouiller les réalisations restantes!

Merci de penser à l'environnement avant d'imprimer ce document

Découvrez Clickteam Fusion 2.5

Partagez ce tutoriel