iPhone und iPad Game Development für Dummies

EIN Spielschleife

bekommt Ihr Code die Spielwelt auf Ihrem iPhone oder iPad viele Male pro Sekunde zu aktualisieren - schnell genug, um es so aussehen, wie flüssige Bewegung auf den Player.

Um dies zu tun, müssen Sie die Position aller Ihre Ansichten der Bildschirm jedes Mal zu aktualisieren, wird von iOS neu gezeichnet. Um benachrichtigt zu werden, wann dies der Fall ist, müssen Sie eine CADisplayLink Klasse zu verwenden. CADisplayLink ist ein Objekt, das, wenn Sie es schaffen, Ihre Klasse eine Nachricht sendet, kurz vor dem Bildschirm zu aktualisieren, um ist. Dies gibt Ihnen die Möglichkeit, Ihre Ansichten zu bewegen.

Um einen CADisplayLink auf.

  1. Erstellen Sie eine Methode, die aufgerufen wird, wenn der Bildschirm Updates- die Methode wie folgt aussehen:

    (Void) Update: (CADisplayLink *) DisplayLink- {}
  2. Wenn Ihre Ansicht geladen wird, erstellen und ein CADisplayLink Objekt vorbereiten, indem Sie diesen Code auf die viewDidLoad: Verfahren in .m Datei-View-Controller:

    Displaylink = [CADisplayLink displayLinkWithTarget: Selbst 
    Selektor: @selector (Update:)] - [DisplayLink- addToRunLoop: [NSRunLoop mainRunLoop]
    forMode: NSRunLoopCommonModes] -

Wenn Ihre Ansicht Lasten, erhalten Sie die aktualisieren: Nachricht viele Male pro Sekunde, das ist Ihre Chance, die Spielwelt zu aktualisieren.

Einrichten eines Nib für Ihr iPhone oder iPad

Nib Dateien enden in .xib und werden im Interface Builder verwendet, um die Bildschirme Ihrer Spiel-Anwendung für Ihr iPhone oder iPad zu konstruieren.

Aufbau einer Nib-Datei, doppelklicken Sie es in Xcode zu starten Sie die Datei im Interface Builder zu öffnen. Sie können dann ziehen Ansichten und Kontrollen, wie Bilder und Tasten, in die Nib-Datei.

Um Ihren Code zu kennen, wenn der Benutzer tippt Tasten auf dem Bildschirm folgendermaßen vor machen:

  1. Für jede Taste auf dem Bildschirm, fügen Sie Ihre Aktion Methoden, um die H-Datei für Ihre View-Controller.

    Action-Methoden wie folgt aussehen:

    - (IBAction) doSomething-
  2. Schließen Sie den Knopf an der Spitze durch die folgenden Schritte:

  1. Zurück zum Nib-Datei im Interface Builder, und öffnen Sie das Dokumentfenster durch Drücken der Befehlstaste + 0.

    Sie sehen einen Besitzer Eintrag der Datei an der Spitze der Liste.

  2. Halten Sie die Strg-Taste gedrückt, und klicken Sie auf und ziehen Sie über die Schaltfläche auf den Besitzer der Datei.

    Eine Liste der Aktionsmethoden können Sie auf die Schaltfläche erscheint befestigen.

  3. Klicken Sie auf die Methode, die Sie wollen.

  • Fügen Sie den Methodencode, der ausgeführt wird, wenn der Knopf auf die .m-Datei für Ihre View-Controller abgegriffen wird.

    Dieser Code sieht wie folgt aus:

  • - (IBAction) doSomething {// Dieser Code wird ausgeführt, wenn Sie die Taste abgegriffen wird}

    Vielleicht haben Sie auch Ihren Code wollen, um die Ansichten in Ihrer Feder beziehen zu können. Um dies zu tun, müssen Sie für jede Ansicht eine Steckdose Variable haben Sie sich beziehen möchten.

    Um den Ausgang Variable einzurichten, gehen Sie folgendermaßen vor:

    1. Fügen Sie einen Auslass Variable den Verweis auf das Steuerelement zu speichern und sie in der H-Datei für Ihre View-Controller, zwischen den geschweiften Klammern.

      Outlet Variablen wie folgt aussehen:

      IBOutlet UIButton * myButton-
    2. Schließen Sie die Steuerung an die Steckdose Variable durch das Dokumentfenster zu öffnen, halten Sie die Strg-Taste gedrückt, und ziehen Sie aus dem Management-Datei auf die Steuerung.

      Nun, wenn Sie die myButton Variable verwenden, arbeiten Sie mit der Steuerung Sie es in der Spitze verbunden.

    Wann Verwenden von Subclassing in iPhone und iPad Game Development

    Subclassing ist einer der Mechanismen, Sie Verhalten anpassen, während Sie Ihr iPhone oder iPad Spiel entwickeln verwenden. Subclassing umfasst die folgenden zwei Phasen:

    • Erstellen einer neuen Klasse, genannt ein Unterklasse, dass erbt Eigenschaften von einem anderen (Super) Klasse

    • Hinzufügen von Eigenschaften wie für Ihre iPhone-Anwendung benötigt

    In der Regel sollten Sie eine Unterklasse

    • UIView: Um Ihre (komplexere) Inhaltsansichten erstellen, die Sie mit den Kontrollen, Grafiken füllen kann, und dergleichen

    • UIViewController: Um die Inhalte Ansichten verwalten und an das Modell verbinden

    • NSObject: Modellansichten und die Delegierten zu erstellen

    Mit Block-Objekte in iPhone und iPad Game Development

    Die Blöcke sind eine Erweiterung der Sprache C und von vollständig unterstützt Objective-C, die zugrunde liegenden Programmiersprache für alle Dinge Mac. In den neuen IOS 4 werden Blöcke mehr und mehr anstelle von (oder zu ersetzen) verwendet

    • Die Delegierten und Delegatmethoden

    • Callback-Funktionen

    • Completion-Handler für die einmalige Operationen

    • Andere Aufzählung Techniken

    • Asynchrone Aufgaben, die durchgeführt brauchen

    Mit iOS 4, nehmen Sie die folgenden Methoden und Funktionen der System-Frameworks Blöcke als Parameter:

    • Completion-Handler

    • notif Handler

    • Aufzählung

    • Animation ansehen und Transitionen

    • Sortierung

    Blöcke können als Variablen deklariert werden, aber Sie können auch einen Block wörtliche inline schreiben, wo es als ein Argument erforderlich ist.

    Um einen Block Variable deklarieren:

    1. Verwenden Sie den Operator ^ mit dem Namen der Variablen.

      Um zum Beispiel eine Blockvariable zu deklarieren, die void zurückgibt und eine NSNotification * als sein einziges Argument, gehen Sie wie folgt vor:

      void (^ keyBoardWillShow) (NSNotification *)
    2. Genau wie bei jedem anderen Variablendeklaration (wie int i = 1), folgen Sie dem Gleichheits mit ihrer Definition unterzeichnen.

      Sie tun das, wieder den Operator ^ mit dem Beginn der, um anzuzeigen, Block wörtliche - die Definition auf den Block-Variablen zugewiesen. Der Block wörtlichen enthält Argumentnamen sowie den Körper (oder Code) des Blocks. Um zum Beispiel den Compiler, der den Namen des Arguments zu informieren notif ist, gehen Sie wie folgt

      = ^ (NSNotification * notif) {code 

      Und dann am Ende des Blocks wörtlichen mit den üblichen

      } -
    3. Verwenden Sie die Blockvariable, wie jede andere Variable als Argument in einer Nachricht:

      usingBlock: keyBoardWillShow

      Um einen Block wörtlichen Inline schreiben, verwenden Sie den Operator ^ den Beginn des Blocks, um anzuzeigen, wörtliche - der Definition in den Block-Variablen zugewiesen. Der Block wörtlichen enthält Argumentnamen sowie den Körper (Code) des Blocks.

      Um zum Beispiel ein Block wörtliche Inline zu schreiben, wo es als Argument für eine usingBlock erforderlich ist, gehen Sie wie folgt vor:

       usingBlock: ^ (NSNotification * notif) {code 

      Und dann am Ende des Blocks wörtlichen mit dem üblichen (kein Semikolon ist erforderlich, weil es innerhalb einer Nachricht als Argument verwendet wird)

    }

    Menü