Le développement de jeux iPhone et iPad pour les nuls

UN boucle de jeu

Sommaire

obtient votre code de mettre à jour le monde du jeu sur vos nombreuses reprises iPhone ou iPad par seconde - assez rapidement pour la faire ressembler à un mouvement fluide pour le joueur.

Pour ce faire, vous avez besoin de mettre à jour la position de tous vos points de vue à chaque fois que l'écran est redessiné par iOS. Pour être informé des lorsque cela se produit, vous devez utiliser une classe de CADisplayLink. CADisplayLink est un objet qui, lorsque vous le créez, envoie un message juste avant l'écran est sur le point de mettre à jour votre classe. Cela vous donne la possibilité de déplacer vos vues autour.

Pour mettre en place un CADisplayLink.

  1. Créer une méthode qui est appelée lorsque l'écran updates- faire la méthode ressemble à ceci:

    (void) mise à jour: (CADisplayLink *) DisplayLink {}
  2. Lorsque votre vue est chargé, de créer et de préparer un objet CADisplayLink en ajoutant ce code au viewDidLoad: méthode dans le fichier .m de votre contrôleur de vue:

    DisplayLink = [CADisplayLink displayLinkWithTarget: auto 
    selector:selector (mise à jour:)] - [DisplayLink addToRunLoop: [NSRunLoop mainRunLoop]
    forMode: NSRunLoopCommonModes] -

Lorsque votre vue des charges, vous recevez le mettre à jour: messages plusieurs fois par seconde, ce qui est l'occasion de mettre à jour l'univers du jeu.

Configuration d'un Nib pour votre iPhone ou iPad

Fichiers nib terminent .XIB et sont utilisés dans Interface Builder pour construire les écrans de votre application de jeu pour votre iPhone ou iPad.

Pour commencer à construire un fichier nib, double-cliquez dessus dans Xcode pour ouvrir le fichier dans Interface Builder. Vous pouvez ensuite faire glisser des vues et des contrôles, tels que des images et des boutons, dans le fichier nib.

Pour rendre votre code conscient de lorsque l'utilisateur tape des boutons sur votre écran, suivez ces étapes:

  1. Pour chaque bouton sur votre écran, ajouter vos méthodes d'action dans le fichier .h pour votre contrôleur de vue.

    Méthodes d'action ressemblent à ceci:

    - (IBAction) doSomething-
  2. Connectez le bouton pour la plume en suivant ces étapes:

  1. Retour à la fichier nib dans Interface Builder, et ouvrez la fenêtre de document en appuyant sur Commande + 0.

    Vous voyez propriétaire l'entrée d'un fichier en haut de la liste.

  2. Maintenez la touche Ctrl enfoncée, puis cliquez et faites glisser du bouton sur le propriétaire du fichier.

    Une liste des méthodes d'action vous pouvez joindre le bouton pour apparaît.

  3. Cliquez sur la méthode que vous voulez.

  • Ajouter le code de la méthode qui fonctionne lorsque le bouton est appuyé sur le fichier .m pour votre contrôleur de vue.

    Ce code ressemble à ceci:

  • - (IBAction) doSomething {// Ce code est exécuté lorsque le bouton est appuyé}

    Vous pouvez également votre code pour être en mesure de se référer à la vue dans votre plume. Pour ce faire, vous devez avoir une variable de sortie pour chaque vue que vous souhaitez consulter.

    Pour configurer la variable de sortie, suivez ces étapes:

    1. Ajouter une variable de sortie pour stocker la référence à la commande et le mettre dans le fichier .h pour votre contrôleur de vue, entre les accolades.

      Les variables de sortie ressemble à ceci:

      IBOutlet UIButton * myButton-
    2. Branchez le contrôle à la variable de sortie en ouvrant la fenêtre de document, en maintenant enfoncée la touche Ctrl, et en faisant glisser à partir le propriétaire du fichier sur le contrôle.

      Maintenant, chaque fois que vous utilisez la variable de myButton, vous travaillez avec le contrôle que vous connecté à la plume.

    Quand utiliser Subclassing dans iPhone et iPad de développement de jeu

    Subclassing est l'un des mécanismes que vous utilisez pour personnaliser les comportements pendant que vous développez votre jeu iPhone ou iPad. Sous-classement comprend les deux étapes suivantes:

    • Création d'une nouvelle classe, un surnommé sous-classe, qui hérite des propriétés de l'autre (super) classe

    • Ajout de propriétés que nécessaire pour votre application iPhone

    En général, vous voulez sous-classe

    • UIView: Pour créer votre (plus complexe) vues de contenu, que vous pouvez remplir avec les contrôles, les graphiques, etc.

    • UIViewController: Pour gérer les vues de contenu et de le connecter au modèle

    • NSObject: Pour créer des vues Modèle et délégués

    Utilisation d'objets en bloc iPhone et iPad de développement de jeu

    Blocs sont une extension du langage C et sont entièrement pris en charge par Objective-C, le langage de programmation sous-jacent pour toutes les choses Mac. Dans les nouveaux iOS 4, les blocs sont utilisés de plus en plus au lieu de (ou remplacer)

    • Les délégués et les méthodes de délégué

    • Les fonctions de rappel

    • Gestionnaires d'achèvement des opérations ponctuelles

    • D'autres techniques de dénombrement

    • Tâches asynchrones qui ont besoin effectuées

    Avec iOS 4, les méthodes et les fonctions suivantes des cadres du système prennent blocs comme paramètres:


    • Gestionnaires d'achèvement

    • Notif gestionnaires

    • Enumeration

    • Voir l'animation et des transitions

    • Tri

    Les blocs peuvent être déclarés comme des variables, mais vous pouvez également écrire un inline littérale du bloc où il est nécessaire comme un argument.

    Pour déclarer une variable de bloc:

    1. Utilisez l'opérateur ^ avec le nom de la variable.

      Par exemple, pour déclarer une variable de bloc qui retourne void et prend une NSNotification * comme son seul argument, procédez comme suit:

      void (^ keyBoardWillShow) (NSNotification *)
    2. Tout comme avec toute autre déclaration de variable (comme int i = 1), suivre le signe égal avec sa définition.

      Vous faites cela en utilisant à nouveau l'opérateur ^ pour indiquer le début de la bloc littérale - la définition assignée à la variable de bloc. Le bloc comprend littérale des noms d'argument ainsi que le corps (ou code) du bloc. Par exemple, pour informer le compilateur que le nom de l'argument est de notification, procédez comme suit

      = ^ (* NSNotification notification) {code 

      Et puis finir le bloc littérale avec l'habituel

      } -
    3. Utilisez la variable de bloc, comme vous le feriez de toute autre variable, comme un argument dans un message:

      usingBlock: keyBoardWillShow

      Pour écrire une ligne littérale de bloc, utilisez l'opérateur ^ pour indiquer le début du bloc littérale - la définition attribuée à la variable de bloc. Le bloc comprend littérale des noms d'argument ainsi que le corps (Code) du bloc.

      Par exemple, pour écrire un inline littérale du bloc où il est nécessaire comme un argument pour usingBlock, procédez comme suit:

       usingBlock: ^ (* NSNotification notification) {code 

      Et puis finir le bloc littérale avec l'habituel (pas virgule est nécessaire parce qu'il est utilisé comme un argument dans un message)

    }

    » » » » Le développement de jeux iPhone et iPad pour les nuls