iPhone e iPad Game Development For Dummies

UMA loop do jogo

recebe o seu código para atualizar o mundo do jogo em seu iPhone ou iPad muitas vezes por segundo - rápido o suficiente para fazer com que pareça movimento fluido para o jogador.

Para fazer isso, você precisa atualizar a posição de todos os seus pontos de vista cada vez que a tela é redesenhada pelo iOS. Para ser notificado de quando isso acontece, você precisa usar uma classe CADisplayLink. CADisplayLink é um objeto que, ao criá-lo, envia sua classe uma mensagem pouco antes de a tela está prestes a atualizar. Isto dá-lhe a oportunidade de mudar seus pontos de vista ao redor.

Para configurar uma CADisplayLink.

  1. Crie um método que é chamado quando a tela updates- tornar o método parecido com este:

    (Void) update: (CADisplayLink *) DisplayLink {}
  2. Quando sua visão é carregado, criar e preparar um objeto CADisplayLink adicionando este código ao viewDidLoad: método no arquivo m do seu controlador de exibição:

    DisplayLink = [CADisplayLink displayLinkWithTarget: auto 
    selector: @selector (update:)] - [DisplayLink addToRunLoop: [NSRunLoop mainRunLoop]
    forMode: NSRunLoopCommonModes] -

Quando seus vista cargas, receberá a atualizar: mensagens muitas vezes por segundo, o que é a sua oportunidade para atualizar o mundo do jogo.

Configurando um Nib para o seu iPhone ou iPad

arquivos nib terminar em .xib e são usados ​​em Interface Builder para construir as telas de sua aplicação do jogo para o seu iPhone ou iPad.

Para começar a construir um arquivo nib, clique duas vezes no Xcode para abrir o arquivo no Interface Builder. Você pode arrastar pontos de vista e controles, como imagens e botões, para o arquivo nib.

Para fazer o seu código ciente de quando o usuário toca botões na tela, siga estes passos:

  1. Para cada botão na tela, adicionar os seus métodos de ação para o arquivo .h para o seu controlador de exibição.

    Os métodos de ação semelhante a este:

    - (IBAction) doSomething-
  2. Ligue o botão para a ponta, seguindo estes passos:

  1. Volte para o arquivo nib no Interface Builder, e abra a janela de documento pressionando Command + 0.

    Você vê a entrada proprietário de um arquivo no topo da lista.

  2. Mantenha pressionada a tecla Control e clique e arraste a partir do botão para o dono do arquivo.

    Uma lista de métodos de ação você pode anexar o botão para aparecer.

  3. Clique no método que você deseja.

  • Adicione o código de método que é executado quando o botão for pressionado para o arquivo .m para o seu controlador de exibição.

    Este código é algo como isto:

  • - (IBAction) doSomething {// Este código é executado quando o botão for pressionado}

    Você também pode querer que seu código seja capaz de se referir aos pontos de vista no seu bico. Para fazer isso, você precisa ter uma variável de saída para cada modo de exibição que você deseja consultar.

    Para configurar a variável de saída, siga estes passos:

    1. Adicionar uma variável de saída para armazenar a referência para o controle e colocá-lo no arquivo .h para o seu controlador de vista, entre as chaves.

      variáveis ​​de saída parecido com este:

      IBOutlet UIButton * myButton-
    2. Conecte o controle para a variável de saída, abrindo a janela do documento, mantendo pressionada a tecla Control, e arrastando a partir do dono do arquivo para o controle.

      Agora, sempre que você usar a variável de myButton, você trabalha com o controle que você conectou no bico.

    Quando usar Subclassing no iPhone e iPad Desenvolvimento de Jogos

    subclassing é um dos mecanismos que você usa para personalizar comportamentos enquanto você desenvolver o seu jogo iPhone ou iPad. Subclassing envolve as duas etapas seguintes:

    • Criando uma nova classe, uma apelidado subclasse, que herda as propriedades de outro (super) classe

    • Adicionando propriedades conforme necessário para seu aplicativo para iPhone

    Em geral, você deseja subclasse

    • UIView: Para criar a sua (mais complexa) pontos de vista de conteúdo, que você pode preencher com controles, gráficos e afins

    • UIViewController: Para gerenciar os pontos de vista de conteúdo e conectá-lo com o modelo

    • NSObject: Para criar vistas de modelo e delegados

    Usando objetos bloco no iPhone e iPad Desenvolvimento de Jogos

    blocos são uma extensão da linguagem C e são totalmente suportados pelo Objective-C, a linguagem de programação subjacente para todas as coisas do Mac. Nos novos iOS 4, os blocos são cada vez mais utilizados em vez de (ou para substituir)

    • Os delegados e os métodos de delegado

    • funções de retorno

    • manipuladores de conclusão para as operações de uma só vez

    • Outras técnicas de enumeração

    • tarefas assíncronas que precisam ser executadas

    Com o iOS 4, os seguintes métodos e funções das estruturas de sistemas de tomar blocos como parâmetros:

    • manipuladores de conclusão

    • notificação manipuladores

    • Enumeração

    • Ver animação e transições

    • classificando

    Os blocos podem ser declarados como variáveis, mas você também pode escrever uma linha literal bloco onde é exigido como um argumento.

    Para declarar uma variável de bloco:

    1. Use o operador ^ com o nome da variável.

      Por exemplo, para declarar uma variável de bloco que retorna void e tem um NSNotification * como seu único argumento, faça o seguinte:

      void (^ keyBoardWillShow) (NSNotification *)
    2. Assim como com qualquer outra declaração de variável (como int i = 1), siga o sinal de igual com a sua definição.

      Para fazer isso usando o operador ^ novamente para indicar o início do bloco literal - a definição atribuída à variável bloco. O bloco literal inclui nomes de argumento, bem como o corpo (ou código) do bloco. Por exemplo, para informar o compilador que o nome do argumento é de notificação, faça o seguinte

      = ^ (NSNotification * notificação) {code 

      E, em seguida, acabar com o bloco literal com o habitual

      } -
    3. Use a variável de bloco, como faria com qualquer outra variável, como um argumento em uma mensagem:

      usingBlock: keyBoardWillShow

      Para escrever um bloco em linha literal, use o operador ^ para indicar o início do bloco literal - a definição atribuída à variável bloco. O bloco literal inclui nomes de argumentos, bem como o corpo (código) do bloco.

      Por exemplo, para escrever uma linha literal bloco onde é exigido como um argumento para usingBlock, faça o seguinte:

       usingBlock: ^ (NSNotification * notificação) {code 

      E, em seguida, acabar com o bloco literal com a usual (não é necessário nenhum ponto e vírgula, porque ele está sendo usado como um argumento dentro de uma mensagem)

    }

    menu