Introdução ao CocosSharp 
José Antonio ”jalf” Leal de Farias 
jalf@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 de 
programação do Cocos2D com o C# e o .NET 
Framework...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 API 
Vamos 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!

Introdução ao cocos sharp

  • 1.
    Introdução ao CocosSharp José Antonio ”jalf” Leal de Farias jalf@prosperitygames.net
  • 2.
    Quem é essecara? • 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 • ...
  • 3.
    CocosSharp x MonoGamex Cocos2D-XNA • CocosSharp roda em cima do Monogame • Portabilidade e desempenho • Fork do Cocos2D – XNA • Ajustes de API • Bugs fixes • Maior controle • Treta
  • 4.
    “CocosSharp une opoder do modelo de programação do Cocos2D com o C# e o .NET Framework...A API foi desenhada para seguir o C# e as linguagens do .NET” Miguel de Icaza Xamarin
  • 5.
  • 6.
    Anatomia de umJogo • Aplicativo • Cenas • Camadas • Sprites • Ações • Outras coisas legais – Sistemas de Partículas, áudio, física, etc.
  • 7.
    CocosSharp API Vamosao que interessa...
  • 8.
    CCApplication • Criae inicializa o dispositivo gráfico • Set os delegates do aplicativo • Inicia o jogo
  • 9.
  • 10.
    CCApplicationDelegate • Manipulao ciclo de vida do aplicativo • Similiar ao UIApplicationDelegate do iOS • Especifica a pasta de conteúdo do aplicativo • Carrega a janela inicial do jogo
  • 11.
  • 12.
    Pasta Content •Pasta contendo recursos do jogo • Fontes • Sons • Imagens • Setado via o ContentRootDirector do Application
  • 13.
    CCDirector • Disponívelvia Window.DefaultDirector • Gerencia qualquer carga adiciona das cenas
  • 14.
  • 15.
  • 16.
    CScene • Gerenciaa lógica do jogo para vários pedaços do jogo • Contém camadas (CCLayer)
  • 17.
    CScene • Gerenciaa lógica do jogo para vários pedaços do jogo • Contém camadas (CCLayer)
  • 18.
    CCLayer • Adicionadoa cena • Contém sprites, labels, menus, etc. • Agenda um método para executar em um intervalo • Conhece a sua cena
  • 19.
  • 20.
    CSprite • Spritessã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
  • 21.
    CCSpriteBatch • Cargaeficiente de Sprites • Desenha todos os filhos
  • 22.
    CCAction • Executamtarefas dentro da cena • Por exemplo, animar sprites • Pode-se executar múltiplas ações sequencialmente usando CCSequence
  • 23.
    CCTouch • Trataum toque na tela • Ative TouchEnabled na camada • Sobrecarregue métodos touch na camada • TouchesBegan,TouchesMoved, TouchesEnded, etc
  • 24.
    Accelerometer • Disponívelvia CCAccelerometer • Acesso via Window.Accelerometer
  • 25.
  • 26.
    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
  • 27.
    Desenhando Primitivas •CCDrawNode • Desenha linhas, polígonos, círculos, etc ...
  • 28.
  • 29.
    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
  • 30.
  • 31.
  • 32.
    Parallax • CCParallaxNode • Os filhos se movem em uma velocidade relativa
  • 33.
  • 34.
    Efeitos • Diversosefeitos visuais • Waves, Twirl, Lens3D, Shuffle Tile, etc.. • Implementado usando CCActions
  • 35.
  • 36.
    Física • 2DRigid Body • Porte para o C# do Box2D • World,body,shape,fixtue
  • 37.
  • 39.
  • 40.
    Vamos trocar idéias.. mailto://jalf@prosperitygames.net @sharpgames Facebook.com/jalfbr PSN/Live/Steam: jalfbr Obrigado!