Leite Anderson - Desenvolvimento de Jogos para iOS стр 11.

Шрифт
Фон

Adicione os arquivos sky.png e nave.png no diretório do projeto. Você pode

46

Casa do Código

Capítulo 2. Protótipo de um jogo

fazer isto pelo Xcode clicando na pasta Impossible do projeto, e acessando o menu File, Add Files to "Impossible"....

Vamos alterar algumas linhas para utilizar as imagens.

No método

drawBackgroundInContext: da classe Impossible adicione as linhas que de-

senharão uma imagem como background do game.

// Desenha o Plano de Fundo

- (void)drawBackgroundInContext:(CGContextRef)context

{

//

UIGraphicsPushContext(context);

//

CGContextSetRGBFillColor(context, 0.0, 0.0, 0.0, 1.0);

//

CGContextFillRect(context, CGRectMake(0, 0,

//

self.frame.size.width,

//

self.frame.size.height));

//

UIGraphicsPopContext();

// Utiliza uma imagem do projeto e a desenha em um

// determinado ponto da tela

UIImage *image = [UIImage imageNamed:@"sky.png"];

[image drawAtPoint:CGPointMake(0.0f, 0.0f)];

}

Altere o método drawPlayerInContext: para renderizar a imagem da nave.

// Desenha o Player

- (void)drawPlayerInContext:(CGContextRef)context

{

//

UIGraphicsPushContext(context);

//

CGContextBeginPath(context);

//

CGContextAddArc(context,

//

self.playerX,

//

self.playerY,

//

self.playerRadius,

//

0,

(2 * M_PI),

//

YES); // Círculo de 360° (0 ~ 2pi)

//

CGContextSetRGBFillColor(context, 0.0f, 0.9f, 0.0f, 1.0f);

//

CGContextFillPath(context);

//

UIGraphicsPopContext();

// Utiliza uma imagem do projeto e a desenha em um

// determinado ponto da tela

47

2.9. Adicionando mais vida: imagens da nave e do céu

Casa do Código

UIImage *image = [UIImage imageNamed:@"nave.png"];

[image drawAtPoint:CGPointMake(

(self.playerX - (image.size.width / 2)),

(self.playerY - (image.size.height / 2)))];

}

Altere a cor do inimigo para vermelho.

// Desenha o Inimigo

- (void)drawEnemyInContext:(CGContextRef)context

{

UIGraphicsPushContext(context);

CGContextBeginPath(context);

CGContextAddArc(context,

self.enemyX,

self.enemyY,

self.enemyRadius,

0,

(2 * M_PI),

YES); // Círculo de 360° (0 ~ 2pi)

//CGContextSetRGBFillColor(context, 0.4f, 0.4f, 0.4f, 1.0f);

CGContextSetRGBFillColor(context, 1.0f, 0.0f, 0.0f, 1.0f);

CGContextFillPath(context);

UIGraphicsPopContext();

}

Pode rodar o jogo, o protótipo está com sprites e conceitos fundamentais de um

jogo!

48

Casa do Código

Capítulo 2. Protótipo de um jogo

Figura 2.18: Imagem do jogo.

2.10

Conclusão

Um jogo possui diversos conceitos bem específicos, que não são comuns em outros

tipos de projetos de software como web ou desktop. Para desenvolver um jogo é interessante ter bem esclarecidas as partes principais que compõem o quebra-cabeça do mundo da programação para games.

Um jogo ocorre normalmente em um loop infinito, no qual inputs, ou seja,

entradas de comandos, são interpretados e utilizados para executar as lógicas do

game. O movimento do player, normalmente uma imagem chamada sprite cos-

tuma ser dado a partir desses inputs, assim como o movimento dos inimigos, que

49

2.10. Conclusão

Casa do Código

indiretamente, também é calculado.

Conceitos periféricos como atualização da tela, limpeza da tela e

botões de comandos também são importantes e devem ser todos muito bem

pensados na execução do jogo.

Com isso em mente, podemos planejar nosso jogo e iniciar seu desenvolvi-

mento.

50

Capítulo 3

História do jogo

Jogos são feitos de magia, de ilusão, de fantasia. São histórias que envolvem as pessoas de uma forma poderosa, na qual o usuário se sente o protagonista estando no

comando das ações.

No começo do livro falamos sobre um jogo fantástico chamado River Raid,

além de desenvolver um protótipo de jogo de avião no capítulo anterior. Pois bem, chegou a hora!

Mas se criarmos um jogo de nave, qual apelo ele terá? O que o diferenciará dos

mil outros jogos que podemos encontrar na App Store? O que fará prender a atenção do jogador?

O enredo, os personagens e a carisma são peças fundamentais que vestem um

jogo. É realmente importante considerar um tema chamativo que seja diferente do

que já estamos acostumados. Como fazer algo um pouco diferente em um jogo de

naves? Como trazer isso para um contexto com o qual os nossos jogadores estejam

familiarizados?

Criaremos um jogo também com a temática de aviões, como uma homenagem

3.1. 14-bis

Casa do Código

a um importante brasileiro que participou do inicio dessa revolução aérea.

Em 1873 nascia Alberto Santos Dumont, um piloto, atleta e inventor brasileiro.

Figura 3.1: Alberto Santos Dumont

Santos Dumont projetou, construiu e voou os primeiros balões dirigíveis com

motor a gasolina, conquistando o Prêmio Deutsch em 1901, quando contornou a

Torre Eiffel. Se tornou então uma das pessoas mais famosas do mundo durante o

século XX.

3.1

14-bis

Em 1906, Santos Dumont criou um avião híbrido chamado 14 bis, considerado o

primeiro objeto mais pesado que o ar a superar a gravidade terrestre.

52

Casa do Código

Capítulo 3. História do jogo

Figura 3.2: 14-bis do brasileiro Santos Dumont

Ваша оценка очень важна

0
Шрифт
Фон

Помогите Вашим друзьям узнать о библиотеке