Aptallar için iPhone ve iPad Oyun Geliştirme Cheat Sheet

Neal Goldstein, Jon Manning, Paris Buttfield-Addison

ile iPad ve iPhone oyun programlamasında birkaç özel unsur gerekir. Bu önemli adımlar, günümüz oyuncularının oynadığı platform ne olursa olsun, programınıza eylem ve etkileşim sağlar.

iPhone ve iPad Oyun Geliştirmede Bir Oyun Döngüsü Oluşturma

Bir oyun döngüsü , oyun dünyasını iPhone'unuzda veya iPad'inizde saniyede birçok kez güncellemek için kodunuzu alır - onu benzeyecek kadar hızlı oyuncuya sıvı hareketi.

Bunu yapmak için, ekran IOS tarafından yeniden çizildiğinde tüm görünümlerinizin konumunu güncellemeniz gerekir. Bu olduğunda haberdar olmak için bir CADisplayLink sınıfı kullanmanız gerekir. CADisplayLink , oluşturduğunuzda ekranın güncellenmeye başlamasından hemen önce sınıfınıza bir mesaj gönderen bir nesnedir. Bu size görüşleri etrafında taşıma imkanı verir.

Bir CADisplayLink kurmak için.

  1. Ekran güncelleştirildiğinde çağrılan bir yöntem oluşturun; Yöntemi aşağıdaki gibi görünmesini sağlayın: (CADisplayLink *) displayLink {}

     Görünümünüz yüklendiğinde, bu kodu View Controller'ınızın viewDidLoad: yöntemine ekleyerek bir CADisplayLink nesnesi oluşturun ve hazırlayın. . m dosyası: 
  2. displayLink = [CADisplayLink displayLinkWithTarget: self

     seçici: @ seçici (güncelleme:)]; [displayLink addToRunLoop: [NSRunLoop mainRunLoop] 
    forMode: NSRunLoopCommonModes];
Görünümünüz yüklendiğinde, güncelleme mesajını alırsınız: mesajı saniyede birçok kez, oyunun dünyasını güncelleme fırsatınız olur.

iPhone veya iPad'iniz için bir Nib ayarlama

Nib dosyaları .xib ile biter ve iPhone veya iPad'iniz için oyun uygulamanızın ekranlarını oluşturmak için Interface Builder'da kullanılır.

Nib dosyasını oluşturmaya başlamak için, arabirim Oluşturucu'da dosyayı açmak için Xcode dosyasında çift tıklayın. Ardından resimleri ve düğmeleri gibi görünümleri ve denetimleri kalem dosyasına sürükleyebilirsiniz.

Kodunuzu, kullanıcı ekranınız üzerindeki düğmeleri tıklattığında haberdar etmek için şu adımları izleyin:

Ekranınızdaki her düğme için eylem yöntemlerini. h dosyasını görüntüleme denetleyiciniz için.

  1. Eylem yöntemleri şuna benzer:

    - (IBAction) doSomething;

     Aşağıdaki adımları izleyerek düğmeyi uça bağlayın: 
  2. Interface Builder'de nib dosyasına gidin ve Command + 0'a basarak Belge Penceresini açın.

    1. Listenin üst kısmında bir dosyanın sahibi girişi görürsünüz.

      Kontrol tuşunu basılı tutun ve düğmeyi tıklayıp dosyanın sahibine sürükleyin.

    2. Düğmeyi ekleyebileceğiniz eylem yöntemlerinin bir listesi görüntülenir.

      İstediğiniz yöntemi tıklayın.

    3. Düğme düğmesine dokunduğunda çalışan yöntem kodunu ekleyin. Görünüm denetleyiciniz için m dosyası.

  3. Bu kod şu şekilde görünür:

    - (IBAction) doSomething {// Düğmeye dokunulduğunda bu kod çalıştırılır}

 Ayrıca kodunuzun içindeki kodlara bakmasını isteyebilirsiniz kalem ucu. Bunu yapmak için, başvurmak istediğiniz her görünüm için bir çıkış değişkenine sahip olmanız gerekir. 

Çıkış değişkenini ayarlamak için şu adımları izleyin:

Denetleyiciye başvuruyu depolamak ve bir çıkış değişkenini ekleyin. h dosyasını görünüz denetleyiciniz için, kıvrımlı ayraçlar arasında.

  1. Çıkış değişkenleri şu şekilde görünür:

    IBOutlet UIButton * myButton;

     Kontrolü, Doküman Penceresi'ni açarak, Kontrol tuşunu basılı tutarak ve Dosya'nın Sahibi'nden kontrole sürükleyerek çıkış değişkenine bağlayın. 
  2. Şimdi, myButton değişkenini her kullandığınızda, uçta bağladığınız denetimle çalışırsınız.

    iPhone ve iPad'de Alt Klasmanı Ne Zaman Kullanmanız Oyun Geliştirme

Alt sınıflandırma

, iPhone veya iPad oyununuzu geliştirirken davranışları özelleştirmek için kullandığınız mekanizmalardır. Alt sınıflandırma aşağıdaki iki aşamayı içerir: Başka bir (süper) sınıfdan öğeleri devralan

  • alt sınıf, olarak adlandırılan yeni bir sınıf oluşturma iPhone uygulamanız için gerekli özellikleri ekleme

  • Genel olarak ,

alt sınıfını UIView:

  • 'ı seçin. Denetimleri, grafikleri vb. ile doldurabileceğiniz (daha karmaşık) içerik görünümlerinizi oluşturmak için UIViewController:

  • İçerik görünümlerini yönetmek ve bağlantı kurmak için Model görünümleri ve temsilciler oluşturmak için

  • iPhone ve iPad'de Engel Nesnelerini Kullanma Oyun Geliimi Bloklar

, C dilinin bir uzantisidir ve tamamen < Objective-C,

altında her şey Mac için temel programlama dili. Tek seferlik işlemler için tamamlama işleyicileri Diğer numaralandırma teknikleri Yeni iOS 4'te bloklar gittikçe yerine kullanılır (veya değiştirmek için)

  • Delegeler ve temsilci yöntemleri

  • Asenkron görevler iOS 4'te, sistem çerçevelerinin aşağıdaki yöntem ve işlevleri blokları parametre olarak alır:

  • Tamamlama işleyicileri

  • Notif işleyicileri

  • Numaralandırma

Sıralama

  • Bloklar değişken olarak bildirilir, ancak bir argüman olarak gerekli olduğu bir blok literal satırı da yazabilirsiniz.

  • Bir blok değişkeni bildirmek için:

  • ^ işlecini değişken adıyla kullanın.

  • Örneğin, void döndüren ve tek bir bağımsız değişken olarak bir NSNotification * alan bir blok değişkeni bildirmek için aşağıdakini yapın: void (^ keyBoardWillShow) (NSNotification *)

Diğer tüm değişken bildirimlerinde olduğu gibi (int i = 1 gibi), tanımıyla birlikte eşitlik işaretini takip edin.

  1. blok ögesinin

    başlangıcını belirtmek için ^ işlecini tekrar kullanarak - bloğu değişkenine atanan tanım. Blok harfi, bloğun gövdesini (veya kodunu) yanı sıra argüman adlarını da içerir.Örneğin, derleyiciye argümanın adının notif olduğunu bildirmek için aşağıdaki

     = ^ (NSNotification * notif) {code 
  2. komut satırını yapın ve ardından blok öbeğini normal

    } ile sonlandırın; Bir ileti içindeki argüman olarak diğer değişkenler gibi blok değişkenini kullanın: usingBlock: keyBoardWillShow

     Bir blok literal satır içi yazmak için, ^ işleci ile bloğun literalinin başlangıcını belirtin - Blok değişkenine atanan tanım. Blok harfi, bloğun gövdesi (kod) yanı sıra argüman adlarını da içerir. 

    Örneğin, usingBlock için bir bağımsız değişken olarak gerekli olan bir blok satıri satıriçi yazmak için şunları yapın:

     usingBlock: ^ (NSNotification * notif) {code 
  3. Ve sonra blok öbeğini normalle sonlandırın (ileti içinde bir argüman olarak kullanıldığı için noktalı virgül gerekmiyor)

     }