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

Шрифт
Фон

4.4. Background

Casa do Código

vantagens de utilizar Sprites como objetos do Cocos2D é que ganhamos algumas

possibilidades de animação, que veremos mais à frente.

Criaremos então um sprite que representa nosso background e iremos adicioná-

lo à tela de abertura. Para isto, instanciamos um objeto do tipo CCSprite infor-

mando qual a imagem desejada e configuramos sua posição. Aqui, utilizaremos

o tamanho da tela, tanto largura quanto altura, para posicionar o background de

forma centralizada. Faremos isso com um elemento muito importante do Cocos2D,

o CCDirector, que será aprofundado mais à frente. Vamos adicionar o background

na tela de abertura, instanciando-o no init da TitleScreen.m:

- (id)init

{

self = [super init];

if (self) {

// Imagem de Background

CCSprite *background =

[CCSprite spriteWithFile:@"background.png"];

background.position =

ccp([CCDirector sharedDirector].winSize.width / 2.0f,

[CCDirector sharedDirector].winSize.height / 2.0f);

[self addChild:background];

}

return self;

}

Da mesma forma que acontece nos demais aplicativos de iOS, podemos ter uma

imagem para aparelhos de tela não-retina e outra com o dobro de resolução para

aparelhos com tela retina. Entretanto, ao invés de utilizar arquivos com final @2x, o Cocos2D utiliza arquivos com final -hd para identificar uma imagem para tela

retina.

O Cocos2D já vem habilitado para utilizar imagens retina e reconhecê-las como

arquivos com final -hd.

Estas configurações vêm definidas como padrão no

Appdelegate.m. Basta apenas incluir as imagens em ambas resoluções no projeto

e o Cocos2D vai utilizar uma ou outra automaticamente.

Precisamos então do background.png e background-hd.png do nosso

jogo. Criamos algumas imagens e utilizamos outras de fontes gratuitas para nosso

jogo. Você pode baixar um zip que as contém nesse endereço:

https://github.com/bivissoft/jogos_ios_14bis

66

Casa do Código

Capítulo 4. Tela inicial: Lidando com Background, logo e botões de menu

Coloque os arquivos background.png e background-hd.png

dentro do di-

retório Resources do seu projeto. Você precisará repetir esse procedimento para

outras imagens, sons e arquivos dos quais precisaremos no decorrer do desenvolvi-

mento de nosso jogo.

4.5

Assets da Tela de abertura

A tela de abertura do game terá 6 assets (arquivos como imagens e figuras) que serão utilizados para compor logo e menus.

Para começar, vamos organizar na classe Assets os arquivos de imagens que

utilizaremos no game. Crie a classe Assets, subclasse de um NSObject, e em seu

header declare as imagens que utilizaremos:

@interface Assets : NSObject

# define kBACKGROUND

@"background.png"

# define kLOGO

@"logo.png"

# define kPLAY

@"play.png"

# define kHIGHSCORE

@"highscore.png"

# define kHELP

@"help.png"

# define kSOUND

@"sound.png"

@end

Para facilitar, importaremos a classe Assets em nosso arquivo Prefix.pch.

Desta forma, todas as classes de nosso projeto automaticamente importarão a

Assets. Também incluiremos na Prefix.pch o import da cocos2d.h, outra

classe que será bastante utilizada em nosso projeto.

//...

# ifdef __OBJC__

# import <UIKit / UIKit.h>

# import <Foundation / Foundation.h>

# import "cocos2d.h"

# import "Assets.h"

# endif

Sempre após alterar o arquivo Prefix.pch, precisamos recompilar nosso pro-

jeto para que as classes identifiquem as alterações. Você pode fazer isto acessando o menu Product segurando a tecla option e selecionando Clean Build Folder.

Após isto, acesse novamente o menu Product e selecione Build.

67

4.6. Capturando configurações iniciais do dispositivo

Casa do Código

Agora, altere a linha da TitleScreen.m que chamava o background.png

para utilizar a constante da classe Assets:

//...

CCSprite *background = [CCSprite spriteWithFile:kBACKGROUND];

//...

Utilizaremos essa classe para adicionar outros assets posteriormente, quando os

objetos inimigos e o player forem desenhados. É importante ter uma classe como

essa para não espalhar suas imagens pelo código. Por exemplo, imagine que você

queira alterar a imagem da nave principal. É melhor alterá-la em apenas um lugar, e fazer referência a essa variável nas classes necessárias.

4.6

Capturando configurações iniciais do disposi-

tivo

Existem diversos dispositivos iOS atualmente, com diferentes tamanhos de tela.

Existem algumas técnicas para tentar limitar esse problema durante o desenvolvi-

mento do jogo. Utilizaremos aqui uma técnica simples para adaptar nosso conteúdo

aos diversos dispositivos, capturando as medidas e utilizando-os sempre que for necessário lidar com essa questão.

Para iniciar as configurações de tela e criar a tela inicial, criaremos algumas macros:

SCREEN_WIDTH(): Retorna a largura da tela

SCREEN_HEIGHT(): Retorna a altura da tela

WIN_SIZE(): Retorna o tamanho (largura e altura) da tela

O Cocos2D nos ajuda nesse momento, pois já possui objetos preparados para

executar essa função. Podemos utilizar a classe CCDirector para conseguir os

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

0
Шрифт
Фон

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