Introdução ao cocos sharp

Preview:

Citation preview

Introdução ao CocosSharp

José Antonio ”jalf” Leal de Fariasjalf@prosperitygames.net

Quem é esse cara?

• Desenvolvedor de jogos desde 1990 • Produtor na Prosperity Games• Mestrando na Universidade Federal de Campina Grande• Conselheiro e um dos fundadores da ACIGAMES• Microsoft Most Valuable Professional• Criador do projeto MonoGame (http://monogame.net)• Criador e Administrador do portal Sharpgames

• http://www.sharpgames.net

• Faliu sua primeira produtora de jogos em 1999• ...

CocosSharp x MonoGame x Cocos2D-XNA

• CocosSharp roda em cima do Monogame• Portabilidade e desempenho

• Fork do Cocos2D – XNA• Ajustes de API

• Bugs fixes

• Maior controle

• Treta

“CocosSharp une o poder do modelo deprogramação do Cocos2D com o C# e o .NETFramework...A API foi desenhada para seguir o C#e as linguagens do .NET”

Miguel de Icaza

Xamarin

Cross Platform

Anatomia de um Jogo

• Aplicativo

• Cenas

• Camadas

• Sprites

• Ações

• Outras coisas legais – Sistemas de Partículas, áudio, física, etc.

CocosSharp APIVamos ao que interessa...

CCApplication

• Cria e inicializa o dispositivo gráfico

• Set os delegates do aplicativo

• Inicia o jogo

CCApplication

CCApplicationDelegate

• Manipula o ciclo de vida do aplicativo

• Similiar ao UIApplicationDelegate do iOS

• Especifica a pasta de conteúdo do aplicativo

• Carrega a janela inicial do jogo

CCApplicationDelegate

Pasta Content

• Pasta contendo recursos do jogo• Fontes

• Sons

• Imagens

• Setado via o ContentRootDirector do Application

CCDirector

• Disponível via Window.DefaultDirector

• Gerencia qualquer carga adiciona das cenas

CCDirector

CCDirector

CScene

• Gerencia a lógica do jogo para vários pedaços do jogo

• Contém camadas (CCLayer)

CScene

• Gerencia a lógica do jogo para vários pedaços do jogo

• Contém camadas (CCLayer)

CCLayer

• Adicionado a cena

• Contém sprites, labels, menus, etc.

• Agenda um método para executar em um intervalo

• Conhece a sua cena

CCLayer

CSprite

• Sprites são elementos que exibem imagens no jogo

• O arquivo de imagem deve estar na pasta Content

• Suporta imagens de alta definição (-hd)

Scaling Rotating Tinting Alpha

CCSpriteBatch

• Carga eficiente de Sprites

• Desenha todos os filhos

CCAction

• Executam tarefas dentro da cena

• Por exemplo, animar sprites

• Pode-se executar múltiplas ações sequencialmente usando CCSequence

CCTouch

• Trata um toque na tela

• Ative TouchEnabled na camada

• Sobrecarregue métodos touch na camada• TouchesBegan,TouchesMoved, TouchesEnded, etc

Accelerometer

• Disponível via CCAccelerometer

• Acesso via Window.Accelerometer

Accelerometer

Audio

• SimpleAudioEngine.SharedEngine• Efeitos Sonoros

• Música de fundo

• Pausa/Retoma música de fundo em CCApplicationDelegate• Pausa quando o app vai para o fundo

• Retoma quando o app entre em primeiro plano

Desenhando Primitivas

• CCDrawNode

• Desenha linhas, polígonos, círculos, etc ...

Desenhando Primitivas

Sistema de Partículas

• Efeitos gráficos realizado com um conjunto de partículas

• Vários tipos embutidos: fumaça, galáxia, chuva, etc ...

• Pode-se criar efeitos customizados

Sistema de Partículas

Sistema de Partículas

Parallax

• CCParallaxNode

• Os filhos se movem em uma velocidade relativa

Parallax

Efeitos

• Diversos efeitos visuais

• Waves, Twirl, Lens3D, Shuffle Tile, etc..

• Implementado usando CCActions

Efeitos

Física

• 2D Rigid Body

• Porte para o C# do Box2D

• World,body,shape,fixtue

Física

Para Saber Mais...

Vamos trocar idéias..

mailto://jalf@prosperitygames.net

@sharpgames

Facebook.com/jalfbr

PSN/Live/Steam: jalfbr

Obrigado!