Posts etiquetados ‘iPhone SDK Game Center’


Buenas Tardes comparto este tutorial para que podamos mejorar nuestros juegos creandoloscon gamecenter.

iOS SDK: Centro de logros y tablas del juego - Parte 1

iOS SDK: Centro de logros y tablas del juego – Parte 1

  • Tecnología: iOS SDK
  • Dificultad: Media
  • Tiempo de ejecución: 1 Hora
Ver mensaje el Tuts + BetaTuts + Beta es una versión optimizada para móviles de usar y fácil de leer de los Tuts + red.
Este artículo es parte 1 de 1 en la serie Game Center logros y tablas
  • iOS SDK: Centro de logros y tablas del juego – Parte 1

Esta es la primera parte de un tutorial paso a paso sobre el uso de Game Center en su aplicación. Game Center es compatible desde iOS 4.1. Es nueva red social de Apple. Game Center permite a los usuarios rastrear su mejor resultado en una clasificación, comparar sus logros, invitar a amigos a jugar a un juego, y empezar un juego a través de auto-juego. Este tutorial es útil sólo si usted es un desarrollador de pago, porque si no es así, no se puede configurar los logros de Game Center y leaderboard en iTunes Connect.En la parte coquetea crearemos nuestro proyecto y cree una nueva aplicación en iTunes Conéctate con logros y una tabla de clasificación para este tutorial

Paso 1: Crear el proyecto

Abre Xcode y seleccione “Crear un nuevo proyecto de Xcode”. Seleccione una aplicación de View-based y haga clic en Siguiente. Introduzca un nombre para el proyecto, que se llama la mina “Game Center”.Introduzca su identificador de empresa y asegúrese de seleccionar iPhone de la Familia de dispositivos, porque vamos a hacer una aplicación para el iPhone. Cuando haya terminado, haga clic en siguiente. Elija un lugar para guardar el proyecto y haga clic en crear.

Opciones del proyecto

Paso 2: Importar el marco GameKit

En el área del navegador de Xcode 4, seleccione el nombre del proyecto (en este caso “Game Center”). A continuación, seleccione el destino actual (“Game Center” aquí) y, a continuación, seleccione la pestaña “Build Phases”. Ampliar el “Binary Enlace bibliotecas con” opción y, a continuación, haga clic en el botón “+” para añadir un nuevo marco. Escriba “juego” en el cuadro de búsqueda y seleccione el marcoGameKit.framework que aparece en la lista. Haga clic en “Agregar” para incluir este marco en la fase de vinculación de su proyecto.

GameKit.framework

Paso 3: Crear el ID de aplicación

Para ello, usted tiene que ser un desarrollador pagado. Para usar el Game Center que necesita añadir una nueva aplicación y para que tenga un identificador de aplicación. Abre Safari u otro navegador que prefiera. Ir al centro de desarrollo de iOS y cerrar sesión en su cuenta de desarrollador iOS.

iOS Centro de desarrollo

Si has iniciado sesión, verá un botón para ir al portal de aprovisionamiento iOS. Haga clic en ese botón y vaya a “App ID de”. Porque queremos crear una nueva ID de aplicación, haga clic en “New App ID”. Como descripción elijo “Game Center App ID”, así que sé que este ID de aplicación es para mi Game App Center.No queremos hacer una serie de aplicaciones que comparten el mismo acceso llavero, así que dejamos el ID de raíz del paquete de “Generar nuevo”. La dosis recomendada para un identificador de paquete es com.domainname.applicationname. Como nombre de dominio que elegí mi propio nombre, Jeroen van Rijn. Llamé a mi aplicación “Game Center”, por lo que mi paquete identificador es “com.jeroenvanrijn.gamecenter” (sin las comillas). Haga clic en “Enviar” para finalizar el ID de aplicación.

App ID

Paso 4: Agregar una nueva aplicación

Gestione sus aplicaciones

Volver al centro de desarrollo de iOS y vaya a iTunes Connect haciendo clic en el botón que dice “iTunes Connect” o ir directamente a iTunes Connect . Ir a “Administrar sus Aplicaciones”, aquí vamos a crear una nueva aplicación, que usaremos para nuestro ejemplo Game Center. Porque tengo una aplicación en la App Store, esta ventana puede parecer un poco diferente. Haga clic en “Add New App” para empezar a crear o una nueva aplicación.

Información de la aplicación

Si esta es tu primera aplicación tendrá que introducir algunos datos, pero eso es bastante sencillo. Si ha introducido esa información, es necesario introducir un nombre de aplicación, un número de SKU y una identificación de lotes. El nombre de la aplicación es, por supuesto, el nombre de la aplicación. El número de SKU es un número único para identificar la aplicación que está agregando. Para el ID Bundle tiene que elegir el ID de aplicación que acaba de crear en el iOS Provisioning Portal. Cuando haya terminado, haga clic en “Continuar”.

Derechos y Precios

En la siguiente ventana nos adentraremos en una fecha de disponibilidad y el precio de la aplicación. Elegí un día al azar, porque no voy a presentar la aplicación en la App Store. Como Precio Tier elegí “Free”, se puede elegir lo que quieras. I deseleccionado el “Descuento de Instituciones Educativas”. Esto significa que las instituciones educativas no pueden comprar su aplicación una vez e instalarlo en diferentes dispositivos. Cuando haya terminado, haga clic en “Continuar”.

Información de la versión

En la tercera ventana vamos a entrar en nuestra información de la versión. La pantalla de mi dice que tengo que entrar en el siguiente en holandés, pero el tuyo dirá el idioma que ha elegido para su primera aplicación. Los metadatos y la calificación son bastante sencillo. Para las imágenes que necesita para elegir un icono y un iPhone / iPod touch de pantalla. La pantalla del iPad es opcional. Usted puede elegir sus propias imágenes o usar el mío.

Icono

Cuando haya terminado, haga clic en “Guardar”.

Game Center Información general

Felicitaciones, usted ha creado una nueva aplicación en iTunes Connect.

Paso 5: Creación de una tabla de posiciones

Ahora vaya a “Administrar Game Center”, aquí vamos a permitir que nuestra aplicación de Game Center y luego crear una tabla de clasificación y algunos logros.

Gestionar GameCenter

Haga clic en “Activar”, después de hacer clic, el botón en la pantalla será el azar y se puede configurar una tabla de clasificación y logros. Primero vamos a configurar una tabla de clasificación. En la sección de “Líderes”, haga clic en “Configurar” y en la siguiente ventana, haga clic en “Añadir Marcador”.

Leaderbaords Configuración

Queremos crear una sola tabla de posiciones, por lo bajo “Leaderboard solo” click “Elegir”.

En esta ventana, vamos a entrar en nuestra información de clasificación. El “Nombre Referencia Leaderboard” es un nombre interno que debe proporcionar para cada clasificación. I llamado a la mía “Game Center Leaderboard Test”. El “ID Leaderboard” es un identificador alfanumérico único que cree para este marcador. Elegí “1”, ya que esta será la primera tabla de posiciones de esta aplicación. Vamos a utilizar este ID clasificación más adelante en Xcode a la identidad nuestra clasificación. El “score Formato Tipo” es el tipo de formato en el que el marcador para su aplicación se expresa en la tabla de clasificación de centro de juego. Seleccione “Integer” como tipo de formato. Para la “Orden” elegir “descendente”. Esto significa que la mayor puntuación se mostrará primero. Si desea que la puntuación más baja que se mostrará en primer lugar, elegir la opción “Ascendente”

Todavía queda una cosa por hacer para terminar nuestra tabla de clasificación, y que es la adición de un idioma, así que haga clic en “Agregar idioma”.

Agregar idioma

Por “lenguaje” Elegí “Inglés” Siéntete libre para elegir el idioma que prefiera. El “nombre”, es el nombre de la tabla de posiciones dentro del Centro de Juego. Nombré mío “Leaderboard”. El “Formato de puntuación” es el formato que aparece en tu tabla de clasificación para cada idioma especificado. Elegí “Integer (100.000.122)” El “Formato sufijo Score (Singular)” y “Formato sufijo Score (Plural) son opcionales. El formato del sufijo de puntuación se añade al final de las puntuaciones que aparecen en su tabla de posiciones. Usted puede usar esto para aclarar el tipo de puntuación utiliza tu aplicación. Cuando haya terminado de ingresar la información de idioma, haga clic en “Guardar”. Siéntase libre para añadir más idiomas, pero lo dejo en uno para este tutorial. Para terminar la clasificación clic en “Guardar”.

Añadir Leaderboard

Ahora, hemos creado un centro de clasificación del juego. Como se puede ver, esta clasificación se selecciona como la tabla de clasificación por defecto, ya que es la única clasificación que tenemos para esta aplicación. Haga clic en “Go Back”, por lo que podemos añadir algunos logros.

Clasificaciones

Paso 6: Creación de los Logros

Ahora vamos a crear los logros. Para este tutorial voy a hacer 2 logros. En la sección “Logros”, haga clic en “Configurar”. En la siguiente ventana, haga clic en “Agregar nuevo reto”, para crear el primer logro de este tutorial.

Añadir Achievement

El “Nombre de referencia del logro” y “ID Achievement” son los mismos que los de la tabla de clasificación, que acabamos de crear. Como “Logro Nombre Referencia” Elegí “1 Toque” y como “ID Achievement” Elegí “1_tap”. Por “Oculto” Elegí “No”, porque no queremos que un logro permanecerá oculta en Game Center hasta que un jugador ha conseguido. “Valor de Puntos” significa los puntos que su logro vale. Elegí 10 por este logro. Hay un máximo de 100 puntos por logros y un máximo de 1.000 puntos totales de todos los logros. Una vez más tenemos que añadir un idioma. Haga clic en “Agregar idioma”. Por “lenguaje” Elegí “Inglés” de nuevo y por “Título”, “1 Toque”. La “Descripción Pre-ganado” es la descripción de sus logros antes de que hayan ganado. Elegí “Pulse una vez”, porque eso es lo que tienen que hacer para conseguir este logro. La “Descripción ganado” es, por supuesto, la descripción de sus logros cuando se han ganado.Elegí “ha tocado el botón”. Usted debe proporcionar una imagen de 512 × 512 píxeles. Si hace clic en el signo de interrogación en la “imagen” se puede ver los formatos soportados. Usted puede elegir su propia imagen o usar el mío.

Logro de imagen
Agregar idioma

Cuando haya terminado, haga clic en “Guardar”. Puede añadir más idiomas, pero lo dejo a la una. Haga clic en “Guardar” para finalizar este logro.

En la siguiente ventana puede agregar un nuevo logro. Haga clic en “Agregar nuevo logro. Esta vez me entró la siguiente información:

  • Logro Nombre de referencia: 20 Taps
  • ID Logro: 20_Taps
  • Oculto: No
  • Valor en Puntos: 50

Haga clic en “Agregar idioma” para introducir un lenguaje. Esta vez me entró la siguiente información:

  • Idioma: Inglés
  • Título: 20 Taps
  • Pre-ganado Descripción: Tap 20 veces
  • Trabajo Descripción: Usted ha tocado el botón 20 veces
  • Imagen: (la misma que la primera realización)

Cuando haya terminado, haga clic en “Guardar”. Haga clic en “Guardar” para finalizar el segundo y último logro de este tutorial.

Paso 7: Habilitación de Game Center

Haga clic en “Volver” y en la siguiente ventana haga clic en “Hecho”. En las “Versiones”, haga clic en “Ver detalles”. En la siguiente ventana, desplácese hacia abajo hasta la sección “Game Center”.

Habilitar Game Center

Haga clic en “Activar para esta versión.” La sección “Game Center” debe cambiar en la siguiente:

Game Center habilitado

Ahora hemos terminado en iTunes Connect. Puede cerrar el navegador y volver al proyecto de centro de juego en Xcode creamos al principio de este tutorial.

Paso 8: Descargar GKTapper

Vamos a utilizar algunos de los archivos del código de ejemplo GKTapper de Apple. Puede descargar el código de ejemplo GKTapper aquí .
Cuando la descarga se ha completado, abra el proyecto y arrastre los siguientes archivos en el proyecto “Navigator” en nuestro proyecto del Centro de Juego:

  • GameCenterManager.h
  • GameCenterManager.m
  • AppSpecificValues.h
Las opciones para agregar los archivos

Asegúrese de que “Copiar elementos en la carpeta del grupo de destino (si es necesario) se comprueba, y haga clic en” Agregar “. Ahora puede cerrar el proyecto GKTapper. También puede borrar, si lo desea, ya que no se necesitaremos más para este tutorial. Utilizamos esos archivos, porque las clases GameCenterManger hará el trabajo pesado para nosotros.

Paso 9: Cambia el identificador de paquete

En el proyecto de Xcode, abra el archivo de Juegos Ceter-Info.plist de la carpeta “Archivos de apoyo” en el “Proyecto Navigator”. Escriba el “Identificador Bundle” valor con el que se creó antes y asociado con el ID de aplicación. Nombré mi Bundle Identifier “com.jeroenvanrijn.gamecenter”.

actualizar el identificador de paquete

Conclusión

En esta parte del tutorial hemos cubierto cómo crear una nueva aplicación con éxito y una tabla de clasificación en iTunes Connect. En la segunda parte vamos a terminar el tutorial, para que podamos usar la tabla de clasificación y logros.

iOS SDK: Centro de logros y tablas del juego - Parte 2
  • Tecnología: iOS SDK
  • Dificultad: Media
  • Tiempo de ejecución: 1 Hora
Ver mensaje el Tuts + BetaTuts + Beta es una versión optimizada para móviles de usar y fácil de leer de los Tuts + red.

Bienvenidos a la segunda y última parte del Game Center Tutorial Series. En este tutorial, vamos a integrar los logros y tablas creadas con iTunesConnect en la parte 1 con Objective-C y Xcode.

Paso 1: Creación de la interfaz

Antes de empezar con Interface Builder, primero establecemos que configurar algunos medios y acciones.Abra Game_CenterViewController.h y modificar el código de la siguiente manera:

#import <UIKit/UIKit.h>

#import <GameKit/GameKit.h>
#import "GameCenterManager.h"
@class GameCenterManager;
@interface Game_CenterViewController : UIViewController <UIActionSheetDelegate, GKLeaderboardViewControllerDelegate, GKAchievementViewControllerDelegate, GameCenterManagerDelegate> {
    GameCenterManager *gameCenterManager;
    int64_t  currentScore;
    NSString* currentLeaderBoard;
    IBOutlet UILabel *currentScoreLabel;
}
@property (nonatomic, retain) GameCenterManager *gameCenterManager;
@property (nonatomic, assign) int64_t currentScore;
@property (nonatomic, retain) NSString* currentLeaderBoard;
@property (nonatomic, retain) UILabel *currentScoreLabel;
- (IBAction) reset;
- (IBAction) showLeaderboard;
- (IBAction) showAchievements;
- (IBAction) submitScore;
- (IBAction) increaseScore;
- (void) checkAchievements;
@end

Primero, importamos el marco GameKit y la clase GameCenterManager. Entonces, declaramos la claseGameCenterManager, por lo que podemos declarar una instancia de esa clase en la interfaz @. Después de eso nos declaramos los siguientes delegados:

  • UIActionSheetDelegate (para usar una hoja de acción)
  • GKLeaderboardViewControllerDelegate (para mostrar la tabla de líderes en nuestra aplicación)
  • GKAchievementViewControllerDelegate (para mostrar los logros de nuestra aplicación)
  • GameCenterManagerDelegate (para usar el delegado GameCenterManager)

En la interfaz @ declaramos algunos casos y después de que nosotros creamos algunas acciones. Pulse Comando + S para guardar el proyecto.

En la carpeta “Game Center” en el “Proyecto Navigator” click sobre Game_centerViewController.xib.

Seleccione la ventana Ver y elegir el fondo que prefiera. Elegí “Scroll View Textured color de fondo”.Arrastre 5 “Rect Redondos” de la Biblioteca a la vista. Nombre y colocarlos como se muestra a continuación. También arrastre 2 “etiquetas” de la Biblioteca a la vista. Nombre de la primera “Puntuación actual:” y eliminar el texto de la segunda etiqueta.

Interfaz

Seleccione “propietario del archivo” y abra el Inspector Connections.

Propietario del archivo

Conecte las acciones a los botones correspondientes, arrastrándolas a los botones y seleccionar “Touch Up Inside” en el menú.

Seleccione Toque en el interior
Conexiones Inspector

Arrastre la salida “CurrentScoreLabel” a la etiqueta sin texto y ahora hemos terminado con la interfaz.

Paso 2: Editar AppSpecificValues.h

Abra AppSpecificValues.h y modificar el código de la siguiente manera:

//Leaderboard Category IDs
#define kLeaderboardID @"1"
//Achievement IDs
#define kAchievementOneTap @"1_Tap"
#define kAchievement20Taps @"20_Taps"

 

Aquí creamos las constantes de la tabla de clasificaciones y nuestros logros. Como se puede ver son el ID es el mismo que los que hemos creado en iTunes Connect.

Paso 3: Editar Game_CenterViewController.m

En primer lugar, vamos a sintetizar nuestros casos y liberarlos. También importamos los “AppSpecificValues” y clases “GameCenterManager”. Así que abre Game_CenterViewController.m y modificar el código en la parte superior de la página de la siguiente manera:

#import "Game_CenterViewController.h"

#import "AppSpecificValues.h"
#import "GameCenterManager.h"
@implementation Game_CenterViewController
@synthesize gameCenterManager;
@synthesize currentScore;
@synthesize currentLeaderBoard;
@synthesize currentScoreLabel;
Ahora modificar los viewDidUnload dealloc y métodos de la siguiente manera:
- (void)viewDidUnload

{
    [super viewDidUnload];
    // Release any retained subviews of the main view.
    // e.g. self.myOutlet = nil;
    self.gameCenterManager = nil;
    self.currentLeaderBoard = nil;
    self.currentScoreLabel = nil;
}
- (void)dealloc {
    [gameCenterManager release];
    [currentLeaderBoard release];
    [currentScoreLabel release];
    [super dealloc];
}

Paso 4: Inicio de sesión en Game Center

Desplácese hacia abajo para el método “viewDidLoad”, uncommend y modificar el código de la siguiente manera:

- (void)viewDidLoad {

    [super viewDidLoad];
    self.currentLeaderBoard = kLeaderboardID;
    self.currentScore = 0;
    if ([GameCenterManager isGameCenterAvailable]) {
        self.gameCenterManager = [[[GameCenterManager alloc] init] autorelease];
        [self.gameCenterManager setDelegate:self];
        [self.gameCenterManager authenticateLocalUser];
    } else {
        // The current device does not support Game Center.
    }
}

Primero ajustaremos nuestra currentLeaderboard a nuestra tabla de clasificación que hemos creado en iTunes Connect. Después de eso nos pusimos nuestra currentscore a 0. Su puntuación más alta en el centro de juego no se ajusta a cero, ya que sólo presenten una puntuación más alta que la anterior.Entonces miramos si Game Center está disponible en el dispositivo se ejecuta la aplicación. Si Game Center está disponible que autenticar el usuario local. Si Game Center no está disponible, no pasa nada.Se nota que el usuario que Game Center no está disponible con un alertview, pero lo dejo con un comentario.

Ahora puede probar el proyecto. Pulse Comando + R para construir y ejecutarlo. Usted recibirá algunas advertencias, pero la aplicación se ejecutará. Si ya ha iniciado sesión en Game Center, aparece el mensaje siguiente: Bienvenido de nuevo, “GameCenter Name”. Si donde no está registrado en el Centro de Juego se obtiene una vista de alerta con las opciones para crear una nueva cuenta, inicie sesión en una cuenta existente o cancelar. Si cancela la tabla de clasificación y los logros no funcionará, ya que no haya iniciado sesión en Game Center. Los botones no funcionan, porque no hemos hecho las acciones en Xcode.

Iniciar sesión en Game Center

Paso 5: A continuación encontrará las tablas de clasificación y logros

Si ha utilizado el simulador, cerrarlo y volver a Xcode. Agregue el código siguiente en el métodoviewDidLoad:

- (IBAction) showLeaderboard

{
    GKLeaderboardViewController *leaderboardController = [[GKLeaderboardViewController alloc] init];
    if (leaderboardController != NULL)
    {
        leaderboardController.category = self.currentLeaderBoard;
        leaderboardController.timeScope = GKLeaderboardTimeScopeWeek;
        leaderboardController.leaderboardDelegate = self;
        [self presentModalViewController: leaderboardController animated: YES];
    }
}
- (void)leaderboardViewControllerDidFinish:(GKLeaderboardViewController *)viewController
{
    [self dismissModalViewControllerAnimated: YES];
    [viewController release];
}
- (IBAction) showAchievements
{
    GKAchievementViewController *achievements = [[GKAchievementViewController alloc] init];
    if (achievements != NULL)
    {
        achievements.achievementDelegate = self;
        [self presentModalViewController: achievements animated: YES];
    }
}
- (void)achievementViewControllerDidFinish:(GKAchievementViewController *)viewController;
{
    [self dismissModalViewControllerAnimated: YES];
    [viewController release];
}
  • GKLeaderboardTimeScopeToday
  • GKLeaderboardTimeScopeWeek
  • GKLeaderboardTimeScopeAllTime

Si se construye y ejecuta de nuevo, el botón “Mostrar” Logros “Mostrar la tabla” y va a funcionar. Ahora usted puede ver los logros que hemos creado y las descripciones asocian y valores puntuales. Como se puede ver la sección leaderbord es “This Week”. Al cambiar el Ámbito Tiempo en Xcode se puede establecer el valor predeterminado para la sección “All Time” o “Today”. La clasificación dice “No hay resultados”, porque nunca presentó una puntuación para este leaderboad. Haga clic en Listo para cerrar la vista de Game Center.

Juego Cente Logros y leaderboard

Paso 6: Controlar la puntuación y logros

- (IBAction) increaseScore

{
    self.currentScore = self.currentScore + 1;
    currentScoreLabel.text = [NSString stringWithFormat: @"%ld", self.currentScore];
    [self checkAchievements];
}

Agregue el código siguiente en el código que acabamos de crear:

Aquí creamos una acción para aumentar su currentScore. También actualizamos nuestro sello a la currentScore y llamamos checkAchievements funcionan para ver si alcanzamos un logro.

- (void) checkAchievements

{
    NSString* identifier = NULL;
    double percentComplete = 0;
    switch(self.currentScore)
    {
        case 1:
        {
            identifier= kAchievementOneTap;
            percentComplete= 100.0;
            break;
        }
        case 5:
        {
            identifier= kAchievement20Taps;
            percentComplete= 25.0;
            break;
        }
        case 10:
        {
            identifier= kAchievement20Taps;
            percentComplete= 50.0;
            break;
        }
        case 15:
        {
            identifier= kAchievement20Taps;
            percentComplete= 75.0;
            break;
        }
        case 20:
        {
            identifier= kAchievement20Taps;
            percentComplete= 100.0;
            break;
        }
    }
    if(identifier!= NULL)
    {
        [self.gameCenterManager submitAchievement: identifier percentComplete: percentComplete];
    }
}

 

En esta función nos fijamos si alcanzamos un logro con una sentencia switch.
Primero creamos un NSString y un doble para almacenar nuestros valores. En la sentencia switch, comprobamos si el currentscore es de 1, 5, 10, 15 o 20. Después de la sentencia switch miramos si hay algo almacenado en el NSString creamos. Si había algo almacenado para que NSString nos sometemos al logro. También presentamos un logro si ha completado en parte. Por ejemplo, si se ha tocado el botón 10 veces que comió el 50% de los logros “20 Taps”.

También queremos presentar o puntuación más alta, por lo que añadir las siguientes acciones en el marco del código que acabamos de crear:

- (IBAction) submitScore

{
    if(self.currentScore > 0)
    {
        [self.gameCenterManager reportScore: self.currentScore forCategory: self.currentLeaderBoard];
    }
}

A continuación, comprobamos si la puntuación es superior a 0, porque no queremos que una puntuación de 0 a presentarse. Hemos presentado nuestra currentScore para nuestra currentLeaderboard.

Generar y ejecutar la aplicación de nuevo y ahora usted puede aumentar su cuenta y enviarlo. Si hace clic en el botón 15 veces y vaya a “Mostrar Logros” se puede ver que has logrado el “1 Toque” y está en el 75% de los logros “20 Taps”. La descripción del “1 Pulse” logro también ha cambiado en el texto que le dimos cuando en iTunes Connect para cuando se gana. Cerrar los logros ver y haga clic en “Submit Score”, después de que haga clic en “Mostrar Leaderbaord”. Ahora podrá ver su puntuación (si su currentScore fue mayor que 0).

Juego Cente Logros y leaderboard

Paso 7: Restablecer la puntuación y logros

DD el siguiente código en el código que acabamos de crear:

- (IBAction) reset
{
    UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:@"Are you sure you want to reset your score and achievements?"
                                                             delegate:self
                                                    cancelButtonTitle:@"Cancel"
                                               destructiveButtonTitle:@"Reset"
                                                    otherButtonTitles:nil];
    [actionSheet showInView:[self view]];
    [actionSheet release];
}

 

En primer lugar, comprobamos si no había un error y si hay algo almacenado en “ada”. Si esto es cierto tanto, después comprobamos si ach.presentComplete es 100.0, porque sólo queremos dar al usuario un mensaje si obtuvo un logro y no si es el 50% de un logro.

Si eso es cierto, se muestra al usuario que obtuvo un logro con una vista de alerta. Fijamos delegado a cero de este punto de vista alerta, porque no lo necesitamos, sólo usamos el botón de cancelar.

- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex
{
    if (buttonIndex == 0) {
        [gameCenterManager resetAchievements];
        self.currentScore = 0;
        currentScoreLabel.text = [NSString stringWithFormat: @"%ld", self.currentScore];
    }
}

 

Si hubo un error o no había nada almacenado en ach, entonces se puede dar al usuario un mensaje de que la petición no logro, pero me deja con un comentario.

- (void) achievementSubmitted: (GKAchievement*) ach error:(NSError*) error;

{
    if((error == NULL) && (ach != NULL))
    {
        if (ach.percentComplete == 100.0) {
            UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Achievement Earned!"
                                                              message:(@"%@",ach.identifier)
                                                             delegate:nil
                                                    cancelButtonTitle:@"OK"
                                                    otherButtonTitles:nil];
            [alert show];
            [alert release];
        }
    }
    else
    {
        // Achievement Submission Failed.
    }
}

Generar y ejecutar para terminar el tutorial. Para comprobar si el botón de reinicio y la obra vista de alertas, haga clic en el botón “Cambiar Logros y Puntos”. A continuación, aumentar el marcador y una vista de alerta debe mostrar.

Logro ganado

Si usted ganó los logros y cerrar la aplicación y la eliminación si en la barra de multitarea, la currentScore se pone a 0 otra vez, porque no almacenamos ese valor. Si se aumenta la puntuación, aplicaciones piensa que usted ganó el “1 Toque” logro nuevo, pero que ya ganaste. Si desea que ocurra esto, se puede guardar el valor currentScore.

Fuente: http://mobile.tutsplus.com/

Gracias por todos

Cualquier pregunta me la hacen

Visiten también la Web que pronto lo renovare

appjorge.com

Mis App:

http://itunes.apple.com/es/artist/jorgearnold/id404204455