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

Шрифт
Фон

[[SimpleAudioEngine sharedEngine] playEffect:@"shoot.wav"];

}

O próximo som será executado quando ocorrer a colisão entre meteoro e tiro.

No arquivo Meteor.m adicione o código abaixo no início do método gotShot:

- (void)gotShot

{

// Som ao ser atingido

[[SimpleAudioEngine sharedEngine] playEffect:@"bang.wav"];

//...

}

Para finalizar, adicionaremos um som quando um meteoro atingir o avião. No

arquivo Player.m adicione o código abaixo no início do método explode:

- (void)explode

{

// Som ao explodir

[[SimpleAudioEngine sharedEngine] playEffect:@"over.wav"];

//...

}

Agora o game já executará os sons quando um dos 3 eventos acima (tiro e coli-

sões) acontecerem!

8.2

Cache de sons

Vimos como executar sons utilizando o Cocos2D. Porém, você deve ter reparado em

um problema grave: a primeira vez que um dos sons precisa ser tocado, ele demora

muito. Isso se deve ao fato do framework inicializar o som apenas no momento que

foi necessário. Existe uma estratégia e boa prática para solucionar esse problema, o cache de sons.

Para colocar um som no cache devemos iniciá-lo já no início do game. Cria-

remos então um método com essa responsabilidade

na GameScene.m chamado

preloadCache. Esse método fará o cache dos 3 sons que estamos utilizando até

aqui.

129

8.3. Música de fundo

Casa do Código

- (void)preloadCache

{

// Cache de sons do Jogo

[[SimpleAudioEngine sharedEngine] preloadEffect:@"shoot.wav"];

[[SimpleAudioEngine sharedEngine] preloadEffect:@"bang.wav"];

[[SimpleAudioEngine sharedEngine] preloadEffect:@"over.wav"];

}

Adicione a chamada do método

preloadCache

no construtor da

GameScene.m, na última linha do método:

- (id)init

{

self = [super init];

if (self) {

//...

// Cache de sons do Jogo

[self preloadCache];

}

return self;

}

Rode novamente o projeto e verifique que agora os sons respondem perfeita-

mente ao momento dos tiros e colisões!

8.3

Música de fundo

Agora que já trabalhamos com os sons do game, vamos ver como lidar com a

música do jogo. A música será iniciada quando o jogador entrar na tela de jogo.

Para isso, usaremos a mesma classe SimpleAudioEngine porém com o método

playBackgroundMusic:loop:.

No construtor da GameScene.m adicione a chamada a música.

- (id)init

{

self = [super init];

if (self) {

//...

// Música do Jogo

[[SimpleAudioEngine sharedEngine]

playBackgroundMusic:@"music.wav" loop:YES];

130

Casa do Código

Capítulo 8. Adicionando sons e música

}

return self;

}

Outro método importante é o que para a música. Esse método é chamado

pauseBackgroundMusic. Faremos isso logo após o efeito de explosão entre me-

teoro e avião na classe Player.m:

- (void)explode

{

//...

// Pausa a música de fundo

[[SimpleAudioEngine sharedEngine] pauseBackgroundMusic];

}

Rode o projeto e veja como o som adiciona vida ao jogo. Tiro, colisões e música

devem estar funcionando nesse momento!

8.4

Conclusão

Sons e música são muito importantes para os jogos. Repare nos jogos famosos ou

mesmo os que você mais gosta e repare na trilha sonora. Mesmo os jogos antigos

possuíam sons muito especiais para cada jogo.

É importantíssimo definir uma boa trilha sonora e efeitos para o seu próximo

game!

131

Capítulo 9

Voando com a gravidade!

O mundo dos games foi totalmente revitalizado com os smartphones. Jogos que

até então eram simples e já não atraiam mais tanto a atenção dos jogadores foram

remodelados com as novas possibilidades de experiência que os aparelhos modernos

podem proporcionar.

A maioria dos jogos que fazem sucesso nos celulares hoje faz uso de algum re-

curso do aparelho, como touch screen, arrastando objetos na tela ou utilizando

a gravidade com o acelerômetro, e movimentando os elementos de uma maneira

diferente dos jogos para consoles.

Nesse capítulo trocaremos a movimentação do avião feita por botões pelo con-

trole baseado na movimentação do celular! A experiência será levada a outro nível, não mais sendo um simples jogo com botões, mas sim, utilizando um recurso nativo

do aparelho que faz com que o game tenha uma melhor jogabilidade!

Para este capítulo, para poder rodar o jogo no seu próprio aparelho e testar o

acelerômetro, você precisará ser um Desenvolvedor Apple Registrado. Ao fim do

capítulo, nosso avião poderá percorrer a tela, ficando como na figura a seguir:

9.1. Usando o Acelerômetro

Casa do Código

Figura 9.1: Controle por acelerômetro.

9.1

Usando o Acelerômetro

Vamos iniciar planejando o uso do acelerômetro e sabendo onde queremos chegar.

Nosso objetivo é retirar os botões que movimentam o avião para esquerda e direita.

Sem esses botões, moveremos o avião a partir das coordenadas que o celular captar de movimento no aparelho. Dividiremos esse trabalho em 3 partes principais.

Capturar as coordenadas de movimentação horizontal e vertical do aparelho

Controlar a instabilidade do movimento do avião

Calibrar essas coordenadas para o controle funcionar em posições diferentes

134

Casa do Código

Capítulo 9. Voando com a gravidade!

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

0
Шрифт
Фон

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