SlideShare uma empresa Scribd logo
1 de 32
Desenvolvendo
Jogos 2D em
HTML5
Pedro Kayatt
@pekayatt
COCOS2D
 Cross Platform
 IOS
 Android
 Windows Phone
 Blackberry, Bada, Tizen, geladeira da minha avó….
 Open Source
 Fast
 Prove
 25% de todos jogos mobiles (muito forte na Ásia)
Coco2D – Qual?
 Cocos2D-X
 C++
 Com maior suporte a diferentes plataformas
 Rápida e leve
 Cocos2D-XNA
 Windows Phone
 MonoGame
 Cocos2D-HTML5
 Rápida (Javascript)
 Multi plataforma (em navegadores)
 Javascript Binding
Cocos2D-X - Arquitetura
Cocos2D-HTML5 - Arquitetura
Javascript binding what?
 Performance até 20x melhor do que no mobile browser
 Como? Mágica? Não! É tecnologia (e um pouco de magia negra)
 Mozilla Spidermonkey – Roda o javascript
como código nativo (C++)
The magic
Preparando o Ambiente
http://www.cocos2d-x.org/download
Instalando Web-Service
• XAMPP : for windows, Mac, Linux.
• WAMP : for windows
• MAMP : for mac
Testando
Javascript IDE
 Notepad ++
 Aptana
 Jetbraind Webstorm
 Visual Studio 2012
Estrutura
Hierárquica
Exemplos
 MoonWarriors – um jogo no melhor estilo “shooter” onde o jogador
controla uma nave espacial
 WatermelonWithMe – utiliza de um simulador de física 2D
(chipmunk) e desafia o jogador a dirigir uma caminhonete sem
deixar melancias caírem de sua caçamba.
 CrystalCraze – um jogo no estilo Puzzle elaborado com uma
ferramenta chamada CocosBuilder
 CocosDragonJS – jogo plataforma parecido com sucessos como
Doogle Jump e Mega Jump, utiliza uma mescla de CocosBuilder
com edição de Javascript
Moonwarriors
Exemplo – HelloHTML5World
var c = {
COCOS2D_DEBUG:2, //0 desliga, 1 básica, ou 2 para depuração completa
box2d:false, //Define se utilizaremos a extensão Box2D de Simulação Fisica
chipmunk:false, //Define a utilização da extensão Chipmunk
showFPS:true, //Exibir Quadros por Segundo
frameRate:60, //Define com quantos quadros por segundo seu jogo rodará
loadExtension:false, //Carregar as Extensões da Cocos2D
renderMode:0, //Escolhe o RenderMode: 0(padrão), 1(Canvas), 2(WebGL)
tag:'gameCanvas', //o element DOM onde rodará a Cocos2D
engineDir:'../cocos2d/', //localização da Engine
SingleEngineFile:'', //Se a Engine foi minimizada para apenas um arquivo.
appFiles:[
'src/resource.js',
'src/myApp.js'//Adicione todos os seus arquivos fontes aqui.
]
};
Adicionando Sprites
var lazyLayer = cc.Layer.create();
this.addChild(lazyLayer);
// adicionando o sprite ao lazyLayer, centralizado e usando o arquivo .png como
fonte.
this.sprite = cc.Sprite.create("res/HelloWorld.png");
this.sprite.setPosition(cc.p(size.width / 2, size.height / 2));
// escalona o Sprite para ter metade de seu tamanho nominal
this.sprite.setScale(0.5);
// gira o Sprite em 180 graus.
this.sprite.setRotation(180);
lazyLayer.addChild(this.sprite, 0);
Actions
var rotateToA = cc.RotateTo.create(2, 0);
var scaleToA = cc.ScaleTo.create(2, 1, 1);
// executa uma sequência de ações diretamente no
this.sprite
this.sprite.runAction(cc.Sequence.create(rotateToA,
scaleToA));
Entrada - Touch
// ao tocar na tela
onTouchesBegan:function (touches, event) {
this.isMouseDown = true;
},
// ao mover o toque na tela
onTouchesMoved:function (touches, event) {
if (this.isMouseDown) {
if (touches) {
this.circle.setPosition(cc.p(touches[0].getLocation().x,
touches[0].getLocation().y));
}
}
},
// ao remover o toque da tela
onTouchesEnded:function (touches, event) {
this.isMouseDown = false;
}
Entrada - Teclado
this.setKeyboardEnabled(true);
onKeyUp:function (e){
// intercepta quando uma tecla é solta
},
onKeyDown:function (e){
// intercepta quando uma tecla é pressionada
Testando no Navegador
CONFIGURANDO A COCOS2D-X PARA O
JAVASCRIPT BINDING
Abrindo no VS2012
Criando seu projeto
 Usando Python (3.2)
EXECUTANDO O PROJETO NO ANDROID
 Android SDK
 http://developer.android.com/sdk/index.html
 Eclipse ADT Bundle
 Baixar Emulador Intel, HAXM e tudo que quiser no Android Manager
 Android NDK
 http://developer.android.com/tools/sdk/ndk/index.html
 CygWin
 Procure Mirrors mais amigaveis… (o default é um inferno)
Setando variaveis de ambiente
 c:cygwinhomeuser.bashprofile, abra este arquivo com o
Notepad++ e adicione:
 NDK_ROOT=/cygdrive/c/android-ndk-r8e
 Export NDK_ROOT
 Faça pelo Opções Avançadas do Windows
Compilando o projeto
 ./build-native.sh
 Deu problema?
 CHMOD 777 –R .
Importando no eclipse
PROBLEMA!?
Relaxe e aproveite!
Perguntas?
Obrigado!
 Pedro Kayatt
 @pekayatt
 Naked Monkey Games
 @nakedmonkeyG
 www.nakedmonkey.com.br
Mais uma coisinha….

Mais conteúdo relacionado

Destaque

EastBay.NET - Introduction to MonoTouch
EastBay.NET - Introduction to MonoTouchEastBay.NET - Introduction to MonoTouch
EastBay.NET - Introduction to MonoTouchmobiweave
 
Cross platform physics games - NDC 2014
Cross platform physics games - NDC 2014Cross platform physics games - NDC 2014
Cross platform physics games - NDC 2014Runegri
 
Madrid .NET Meetup: Microsoft open sources .NET!
Madrid .NET Meetup: Microsoft open sources .NET!Madrid .NET Meetup: Microsoft open sources .NET!
Madrid .NET Meetup: Microsoft open sources .NET!Alfonso Garcia-Caro
 
.NET? MonoDroid Does
.NET? MonoDroid Does.NET? MonoDroid Does
.NET? MonoDroid DoesKevin McMahon
 
Multyplatform and mono part 2 - Matteo Nicolotti
Multyplatform and mono part 2 - Matteo Nicolotti Multyplatform and mono part 2 - Matteo Nicolotti
Multyplatform and mono part 2 - Matteo Nicolotti Codemotion
 
Cross-platform Game Dev w/ CocosSharp
Cross-platform Game Dev w/ CocosSharpCross-platform Game Dev w/ CocosSharp
Cross-platform Game Dev w/ CocosSharpAlexey Strakh
 
Introduction to CocosSharp
Introduction to CocosSharpIntroduction to CocosSharp
Introduction to CocosSharpJames Montemagno
 
Generative Art Hands On with F#
Generative Art Hands On with F#Generative Art Hands On with F#
Generative Art Hands On with F#Phillip Trelford
 
Monogame and xna
Monogame and xnaMonogame and xna
Monogame and xnaLee Stott
 
Intro to Gaming- MonoGame/CocosSharp/UrhoSharp
Intro to Gaming- MonoGame/CocosSharp/UrhoSharpIntro to Gaming- MonoGame/CocosSharp/UrhoSharp
Intro to Gaming- MonoGame/CocosSharp/UrhoSharpVidyasagar Machupalli
 
Flappy bird game in c#
Flappy bird game in c#Flappy bird game in c#
Flappy bird game in c#Comstas
 
Tips & Tricks that every game developer should know
Tips & Tricks that every game developer should knowTips & Tricks that every game developer should know
Tips & Tricks that every game developer should knowGorm Lai
 
Ready, steady, cross platform games - ProgNet 2015
Ready, steady, cross platform games - ProgNet 2015Ready, steady, cross platform games - ProgNet 2015
Ready, steady, cross platform games - ProgNet 2015Phillip Trelford
 
UniteKorea2014 - Making flappy bird workshop
UniteKorea2014 - Making flappy bird workshopUniteKorea2014 - Making flappy bird workshop
UniteKorea2014 - Making flappy bird workshopGukHwan Ji
 
Smyowl - desenvolvimento games win8
Smyowl - desenvolvimento games win8Smyowl - desenvolvimento games win8
Smyowl - desenvolvimento games win8Mauricio Alegretti
 

Destaque (20)

EastBay.NET - Introduction to MonoTouch
EastBay.NET - Introduction to MonoTouchEastBay.NET - Introduction to MonoTouch
EastBay.NET - Introduction to MonoTouch
 
CocosSharp_XHackNight_07feb
CocosSharp_XHackNight_07febCocosSharp_XHackNight_07feb
CocosSharp_XHackNight_07feb
 
Cross platform physics games - NDC 2014
Cross platform physics games - NDC 2014Cross platform physics games - NDC 2014
Cross platform physics games - NDC 2014
 
Madrid .NET Meetup: Microsoft open sources .NET!
Madrid .NET Meetup: Microsoft open sources .NET!Madrid .NET Meetup: Microsoft open sources .NET!
Madrid .NET Meetup: Microsoft open sources .NET!
 
.NET? MonoDroid Does
.NET? MonoDroid Does.NET? MonoDroid Does
.NET? MonoDroid Does
 
Xna and mono game
Xna and mono gameXna and mono game
Xna and mono game
 
Multyplatform and mono part 2 - Matteo Nicolotti
Multyplatform and mono part 2 - Matteo Nicolotti Multyplatform and mono part 2 - Matteo Nicolotti
Multyplatform and mono part 2 - Matteo Nicolotti
 
Cross-platform Game Dev w/ CocosSharp
Cross-platform Game Dev w/ CocosSharpCross-platform Game Dev w/ CocosSharp
Cross-platform Game Dev w/ CocosSharp
 
Introduction to CocosSharp
Introduction to CocosSharpIntroduction to CocosSharp
Introduction to CocosSharp
 
Gaming in Csharp
Gaming in CsharpGaming in Csharp
Gaming in Csharp
 
Generative Art Hands On with F#
Generative Art Hands On with F#Generative Art Hands On with F#
Generative Art Hands On with F#
 
Monogame and xna
Monogame and xnaMonogame and xna
Monogame and xna
 
Intro to Gaming- MonoGame/CocosSharp/UrhoSharp
Intro to Gaming- MonoGame/CocosSharp/UrhoSharpIntro to Gaming- MonoGame/CocosSharp/UrhoSharp
Intro to Gaming- MonoGame/CocosSharp/UrhoSharp
 
Flappy bird game in c#
Flappy bird game in c#Flappy bird game in c#
Flappy bird game in c#
 
Tips & Tricks that every game developer should know
Tips & Tricks that every game developer should knowTips & Tricks that every game developer should know
Tips & Tricks that every game developer should know
 
Ready, steady, cross platform games - ProgNet 2015
Ready, steady, cross platform games - ProgNet 2015Ready, steady, cross platform games - ProgNet 2015
Ready, steady, cross platform games - ProgNet 2015
 
Building a game in a day
Building a game in a dayBuilding a game in a day
Building a game in a day
 
Mobile F#un
Mobile F#unMobile F#un
Mobile F#un
 
UniteKorea2014 - Making flappy bird workshop
UniteKorea2014 - Making flappy bird workshopUniteKorea2014 - Making flappy bird workshop
UniteKorea2014 - Making flappy bird workshop
 
Smyowl - desenvolvimento games win8
Smyowl - desenvolvimento games win8Smyowl - desenvolvimento games win8
Smyowl - desenvolvimento games win8
 

Semelhante a Desenvolvendo Jogos HTML5

TDC2014 - Desenvolvendo com CocoSharp e Intel Perceptual
TDC2014 - Desenvolvendo com CocoSharp e Intel PerceptualTDC2014 - Desenvolvendo com CocoSharp e Intel Perceptual
TDC2014 - Desenvolvendo com CocoSharp e Intel PerceptualPedro Kayatt
 
Computer on the Beach 2015 - Minicurso de Jogos Multiplataforma com Cocos2d-x
Computer on the Beach 2015 - Minicurso de Jogos Multiplataforma com Cocos2d-xComputer on the Beach 2015 - Minicurso de Jogos Multiplataforma com Cocos2d-x
Computer on the Beach 2015 - Minicurso de Jogos Multiplataforma com Cocos2d-xPedro Kayatt
 
Aplicações Móveis com J2ME
Aplicações Móveis com J2MEAplicações Móveis com J2ME
Aplicações Móveis com J2MEelliando dias
 
Dockerizando aplicações em uma Fintech
Dockerizando aplicações em uma FintechDockerizando aplicações em uma Fintech
Dockerizando aplicações em uma FintechRafael Gomes
 
Mysql cluster quick start webinar
Mysql cluster quick start webinarMysql cluster quick start webinar
Mysql cluster quick start webinarhenriquesidney
 
WebSocket com Node.js ( socketstream && coffeescript ) X RoR ( Juggernaut )
WebSocket com Node.js ( socketstream && coffeescript ) X RoR ( Juggernaut )WebSocket com Node.js ( socketstream && coffeescript ) X RoR ( Juggernaut )
WebSocket com Node.js ( socketstream && coffeescript ) X RoR ( Juggernaut )João Moura
 
Programando Android - Aula 2
Programando Android - Aula 2Programando Android - Aula 2
Programando Android - Aula 2Kalil Maciel
 
TDC2011 - Desenvolvimento de jogos com Javascript e HTML5
TDC2011 - Desenvolvimento de jogos com Javascript e HTML5TDC2011 - Desenvolvimento de jogos com Javascript e HTML5
TDC2011 - Desenvolvimento de jogos com Javascript e HTML5Willian Molinari
 
Desenvolvendo em Zend Framework: Ênfase no Zend_Db
Desenvolvendo em Zend Framework: Ênfase no Zend_DbDesenvolvendo em Zend Framework: Ênfase no Zend_Db
Desenvolvendo em Zend Framework: Ênfase no Zend_DbFlávio Lisboa
 
Desenvolvimento e análise de performance de jogos Android com Coco2d-HTML5
Desenvolvimento e análise de performance de jogos Android com Coco2d-HTML5Desenvolvimento e análise de performance de jogos Android com Coco2d-HTML5
Desenvolvimento e análise de performance de jogos Android com Coco2d-HTML5Intel Software Brasil
 
Mercurianos - .Net na Prática - Da instalação até o debug da nossa API em um ...
Mercurianos - .Net na Prática - Da instalação até o debug da nossa API em um ...Mercurianos - .Net na Prática - Da instalação até o debug da nossa API em um ...
Mercurianos - .Net na Prática - Da instalação até o debug da nossa API em um ...Eliel Simoncelo
 
JS Experience 2017 - WebAssembly na Prática
JS Experience 2017 - WebAssembly na PráticaJS Experience 2017 - WebAssembly na Prática
JS Experience 2017 - WebAssembly na PráticaiMasters
 
12 Factor App Docker na Cloud e outras buzzwords
12 Factor App Docker na Cloud e outras buzzwords12 Factor App Docker na Cloud e outras buzzwords
12 Factor App Docker na Cloud e outras buzzwordsWaldemar Neto
 

Semelhante a Desenvolvendo Jogos HTML5 (20)

TDC2014 - Desenvolvendo com CocoSharp e Intel Perceptual
TDC2014 - Desenvolvendo com CocoSharp e Intel PerceptualTDC2014 - Desenvolvendo com CocoSharp e Intel Perceptual
TDC2014 - Desenvolvendo com CocoSharp e Intel Perceptual
 
TDC2013 - Cocos2d-x
TDC2013 - Cocos2d-xTDC2013 - Cocos2d-x
TDC2013 - Cocos2d-x
 
Computer on the Beach 2015 - Minicurso de Jogos Multiplataforma com Cocos2d-x
Computer on the Beach 2015 - Minicurso de Jogos Multiplataforma com Cocos2d-xComputer on the Beach 2015 - Minicurso de Jogos Multiplataforma com Cocos2d-x
Computer on the Beach 2015 - Minicurso de Jogos Multiplataforma com Cocos2d-x
 
Aplicações Móveis com J2ME
Aplicações Móveis com J2MEAplicações Móveis com J2ME
Aplicações Móveis com J2ME
 
Phonegap
PhonegapPhonegap
Phonegap
 
Dockerizando aplicações em uma Fintech
Dockerizando aplicações em uma FintechDockerizando aplicações em uma Fintech
Dockerizando aplicações em uma Fintech
 
Mysql cluster quick start webinar
Mysql cluster quick start webinarMysql cluster quick start webinar
Mysql cluster quick start webinar
 
Criando sua própria nuvem com Raspberry Pi
Criando sua própria nuvem com Raspberry PiCriando sua própria nuvem com Raspberry Pi
Criando sua própria nuvem com Raspberry Pi
 
WebSocket com Node.js ( socketstream && coffeescript ) X RoR ( Juggernaut )
WebSocket com Node.js ( socketstream && coffeescript ) X RoR ( Juggernaut )WebSocket com Node.js ( socketstream && coffeescript ) X RoR ( Juggernaut )
WebSocket com Node.js ( socketstream && coffeescript ) X RoR ( Juggernaut )
 
Empreendedori$mo com Android
Empreendedori$mo com AndroidEmpreendedori$mo com Android
Empreendedori$mo com Android
 
Programando Android - Aula 2
Programando Android - Aula 2Programando Android - Aula 2
Programando Android - Aula 2
 
Setup.docx
Setup.docxSetup.docx
Setup.docx
 
TDC2011 - Desenvolvimento de jogos com Javascript e HTML5
TDC2011 - Desenvolvimento de jogos com Javascript e HTML5TDC2011 - Desenvolvimento de jogos com Javascript e HTML5
TDC2011 - Desenvolvimento de jogos com Javascript e HTML5
 
Desenvolvendo em Zend Framework: Ênfase no Zend_Db
Desenvolvendo em Zend Framework: Ênfase no Zend_DbDesenvolvendo em Zend Framework: Ênfase no Zend_Db
Desenvolvendo em Zend Framework: Ênfase no Zend_Db
 
Cocos 2d
Cocos 2dCocos 2d
Cocos 2d
 
Desenvolvimento e análise de performance de jogos Android com Coco2d-HTML5
Desenvolvimento e análise de performance de jogos Android com Coco2d-HTML5Desenvolvimento e análise de performance de jogos Android com Coco2d-HTML5
Desenvolvimento e análise de performance de jogos Android com Coco2d-HTML5
 
Mercurianos - .Net na Prática - Da instalação até o debug da nossa API em um ...
Mercurianos - .Net na Prática - Da instalação até o debug da nossa API em um ...Mercurianos - .Net na Prática - Da instalação até o debug da nossa API em um ...
Mercurianos - .Net na Prática - Da instalação até o debug da nossa API em um ...
 
JS Experience 2017 - WebAssembly na Prática
JS Experience 2017 - WebAssembly na PráticaJS Experience 2017 - WebAssembly na Prática
JS Experience 2017 - WebAssembly na Prática
 
12 Factor App Docker na Cloud e outras buzzwords
12 Factor App Docker na Cloud e outras buzzwords12 Factor App Docker na Cloud e outras buzzwords
12 Factor App Docker na Cloud e outras buzzwords
 
Introdução Play framework
Introdução Play frameworkIntrodução Play framework
Introdução Play framework
 

Mais de Pedro Kayatt

Realidade Virtual/Aumentada e Mixed Reality. Estamos no Futuro?
Realidade Virtual/Aumentada e Mixed Reality. Estamos no Futuro?Realidade Virtual/Aumentada e Mixed Reality. Estamos no Futuro?
Realidade Virtual/Aumentada e Mixed Reality. Estamos no Futuro?Pedro Kayatt
 
Utilizando recursos de realidade aumentada em aplicações
Utilizando recursos de realidade aumentada em aplicaçõesUtilizando recursos de realidade aumentada em aplicações
Utilizando recursos de realidade aumentada em aplicaçõesPedro Kayatt
 
SPRV #3 - Videos 360 - Audio VR e Templates de UE4
SPRV #3 - Videos 360 - Audio VR e Templates de UE4SPRV #3 - Videos 360 - Audio VR e Templates de UE4
SPRV #3 - Videos 360 - Audio VR e Templates de UE4Pedro Kayatt
 
SPRV #2 - São Paulo Realidade Virtual - Boas práticas
SPRV #2 - São Paulo Realidade Virtual - Boas práticasSPRV #2 - São Paulo Realidade Virtual - Boas práticas
SPRV #2 - São Paulo Realidade Virtual - Boas práticasPedro Kayatt
 
SPRV #1- São Paulo Realidade Virtual - Introdução
SPRV #1- São Paulo Realidade Virtual - IntroduçãoSPRV #1- São Paulo Realidade Virtual - Introdução
SPRV #1- São Paulo Realidade Virtual - IntroduçãoPedro Kayatt
 
ISA15 - Influence of a HMD on UX and performance in a VR-based sports applica...
ISA15 - Influence of a HMD on UX and performance in a VR-based sports applica...ISA15 - Influence of a HMD on UX and performance in a VR-based sports applica...
ISA15 - Influence of a HMD on UX and performance in a VR-based sports applica...Pedro Kayatt
 
VRMonkey - Uma nova realidade
VRMonkey - Uma nova realidadeVRMonkey - Uma nova realidade
VRMonkey - Uma nova realidadePedro Kayatt
 
Seguindo seu sonho - Fundação da Naked Monkey
Seguindo seu sonho - Fundação da Naked MonkeySeguindo seu sonho - Fundação da Naked Monkey
Seguindo seu sonho - Fundação da Naked MonkeyPedro Kayatt
 
AppCircus - Badaboom A Dino's Rhythm Game
AppCircus - Badaboom A Dino's Rhythm GameAppCircus - Badaboom A Dino's Rhythm Game
AppCircus - Badaboom A Dino's Rhythm GamePedro Kayatt
 
Realidade Virtual - O Futuro é agora!
Realidade Virtual - O Futuro é agora!Realidade Virtual - O Futuro é agora!
Realidade Virtual - O Futuro é agora!Pedro Kayatt
 
ISD 2015 - Interfaces de Games para Diferentes Telas
ISD 2015 - Interfaces de Games para Diferentes TelasISD 2015 - Interfaces de Games para Diferentes Telas
ISD 2015 - Interfaces de Games para Diferentes TelasPedro Kayatt
 
SP DevFest 2014 - Interfaces de Games para Diferentes Telas
SP DevFest 2014 - Interfaces de Games para Diferentes TelasSP DevFest 2014 - Interfaces de Games para Diferentes Telas
SP DevFest 2014 - Interfaces de Games para Diferentes TelasPedro Kayatt
 
Interfaces de Games para Diferentes Telas
Interfaces de Games para Diferentes TelasInterfaces de Games para Diferentes Telas
Interfaces de Games para Diferentes TelasPedro Kayatt
 

Mais de Pedro Kayatt (13)

Realidade Virtual/Aumentada e Mixed Reality. Estamos no Futuro?
Realidade Virtual/Aumentada e Mixed Reality. Estamos no Futuro?Realidade Virtual/Aumentada e Mixed Reality. Estamos no Futuro?
Realidade Virtual/Aumentada e Mixed Reality. Estamos no Futuro?
 
Utilizando recursos de realidade aumentada em aplicações
Utilizando recursos de realidade aumentada em aplicaçõesUtilizando recursos de realidade aumentada em aplicações
Utilizando recursos de realidade aumentada em aplicações
 
SPRV #3 - Videos 360 - Audio VR e Templates de UE4
SPRV #3 - Videos 360 - Audio VR e Templates de UE4SPRV #3 - Videos 360 - Audio VR e Templates de UE4
SPRV #3 - Videos 360 - Audio VR e Templates de UE4
 
SPRV #2 - São Paulo Realidade Virtual - Boas práticas
SPRV #2 - São Paulo Realidade Virtual - Boas práticasSPRV #2 - São Paulo Realidade Virtual - Boas práticas
SPRV #2 - São Paulo Realidade Virtual - Boas práticas
 
SPRV #1- São Paulo Realidade Virtual - Introdução
SPRV #1- São Paulo Realidade Virtual - IntroduçãoSPRV #1- São Paulo Realidade Virtual - Introdução
SPRV #1- São Paulo Realidade Virtual - Introdução
 
ISA15 - Influence of a HMD on UX and performance in a VR-based sports applica...
ISA15 - Influence of a HMD on UX and performance in a VR-based sports applica...ISA15 - Influence of a HMD on UX and performance in a VR-based sports applica...
ISA15 - Influence of a HMD on UX and performance in a VR-based sports applica...
 
VRMonkey - Uma nova realidade
VRMonkey - Uma nova realidadeVRMonkey - Uma nova realidade
VRMonkey - Uma nova realidade
 
Seguindo seu sonho - Fundação da Naked Monkey
Seguindo seu sonho - Fundação da Naked MonkeySeguindo seu sonho - Fundação da Naked Monkey
Seguindo seu sonho - Fundação da Naked Monkey
 
AppCircus - Badaboom A Dino's Rhythm Game
AppCircus - Badaboom A Dino's Rhythm GameAppCircus - Badaboom A Dino's Rhythm Game
AppCircus - Badaboom A Dino's Rhythm Game
 
Realidade Virtual - O Futuro é agora!
Realidade Virtual - O Futuro é agora!Realidade Virtual - O Futuro é agora!
Realidade Virtual - O Futuro é agora!
 
ISD 2015 - Interfaces de Games para Diferentes Telas
ISD 2015 - Interfaces de Games para Diferentes TelasISD 2015 - Interfaces de Games para Diferentes Telas
ISD 2015 - Interfaces de Games para Diferentes Telas
 
SP DevFest 2014 - Interfaces de Games para Diferentes Telas
SP DevFest 2014 - Interfaces de Games para Diferentes TelasSP DevFest 2014 - Interfaces de Games para Diferentes Telas
SP DevFest 2014 - Interfaces de Games para Diferentes Telas
 
Interfaces de Games para Diferentes Telas
Interfaces de Games para Diferentes TelasInterfaces de Games para Diferentes Telas
Interfaces de Games para Diferentes Telas
 

Último

TRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docx
TRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docxTRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docx
TRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docxFlvioDadinhoNNhamizi
 
NR10 - Treinamento LOTO - 2023.pp tx
NR10 - Treinamento LOTO - 2023.pp     txNR10 - Treinamento LOTO - 2023.pp     tx
NR10 - Treinamento LOTO - 2023.pp txrafaelacushman21
 
10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptx
10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptx10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptx
10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptxVagner Soares da Costa
 
Apresentação Manutenção Total Produtiva - TPM
Apresentação Manutenção Total Produtiva - TPMApresentação Manutenção Total Produtiva - TPM
Apresentação Manutenção Total Produtiva - TPMdiminutcasamentos
 
apresentação de Bancos de Capacitores aula
apresentação de Bancos de Capacitores aulaapresentação de Bancos de Capacitores aula
apresentação de Bancos de Capacitores aulaWilliamCruz402522
 
Lista de presença treinamento de EPI NR-06
Lista de presença treinamento de EPI NR-06Lista de presença treinamento de EPI NR-06
Lista de presença treinamento de EPI NR-06AndressaTenreiro
 
07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptx
07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptx07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptx
07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptxVagner Soares da Costa
 

Último (7)

TRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docx
TRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docxTRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docx
TRABALHO INSTALACAO ELETRICA EM EDIFICIO FINAL.docx
 
NR10 - Treinamento LOTO - 2023.pp tx
NR10 - Treinamento LOTO - 2023.pp     txNR10 - Treinamento LOTO - 2023.pp     tx
NR10 - Treinamento LOTO - 2023.pp tx
 
10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptx
10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptx10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptx
10 - RELOGIO COMPARADOR - OPERAÇÃO E LEITURA.pptx
 
Apresentação Manutenção Total Produtiva - TPM
Apresentação Manutenção Total Produtiva - TPMApresentação Manutenção Total Produtiva - TPM
Apresentação Manutenção Total Produtiva - TPM
 
apresentação de Bancos de Capacitores aula
apresentação de Bancos de Capacitores aulaapresentação de Bancos de Capacitores aula
apresentação de Bancos de Capacitores aula
 
Lista de presença treinamento de EPI NR-06
Lista de presença treinamento de EPI NR-06Lista de presença treinamento de EPI NR-06
Lista de presença treinamento de EPI NR-06
 
07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptx
07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptx07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptx
07 - MICRÔMETRO EXTERNO SISTEMA MÉTRICO.pptx
 

Desenvolvendo Jogos HTML5

  • 2. COCOS2D  Cross Platform  IOS  Android  Windows Phone  Blackberry, Bada, Tizen, geladeira da minha avó….  Open Source  Fast  Prove  25% de todos jogos mobiles (muito forte na Ásia)
  • 3. Coco2D – Qual?  Cocos2D-X  C++  Com maior suporte a diferentes plataformas  Rápida e leve  Cocos2D-XNA  Windows Phone  MonoGame  Cocos2D-HTML5  Rápida (Javascript)  Multi plataforma (em navegadores)  Javascript Binding
  • 6. Javascript binding what?  Performance até 20x melhor do que no mobile browser  Como? Mágica? Não! É tecnologia (e um pouco de magia negra)  Mozilla Spidermonkey – Roda o javascript como código nativo (C++)
  • 9. Instalando Web-Service • XAMPP : for windows, Mac, Linux. • WAMP : for windows • MAMP : for mac
  • 11. Javascript IDE  Notepad ++  Aptana  Jetbraind Webstorm  Visual Studio 2012
  • 14. Exemplos  MoonWarriors – um jogo no melhor estilo “shooter” onde o jogador controla uma nave espacial  WatermelonWithMe – utiliza de um simulador de física 2D (chipmunk) e desafia o jogador a dirigir uma caminhonete sem deixar melancias caírem de sua caçamba.  CrystalCraze – um jogo no estilo Puzzle elaborado com uma ferramenta chamada CocosBuilder  CocosDragonJS – jogo plataforma parecido com sucessos como Doogle Jump e Mega Jump, utiliza uma mescla de CocosBuilder com edição de Javascript
  • 16. Exemplo – HelloHTML5World var c = { COCOS2D_DEBUG:2, //0 desliga, 1 básica, ou 2 para depuração completa box2d:false, //Define se utilizaremos a extensão Box2D de Simulação Fisica chipmunk:false, //Define a utilização da extensão Chipmunk showFPS:true, //Exibir Quadros por Segundo frameRate:60, //Define com quantos quadros por segundo seu jogo rodará loadExtension:false, //Carregar as Extensões da Cocos2D renderMode:0, //Escolhe o RenderMode: 0(padrão), 1(Canvas), 2(WebGL) tag:'gameCanvas', //o element DOM onde rodará a Cocos2D engineDir:'../cocos2d/', //localização da Engine SingleEngineFile:'', //Se a Engine foi minimizada para apenas um arquivo. appFiles:[ 'src/resource.js', 'src/myApp.js'//Adicione todos os seus arquivos fontes aqui. ] };
  • 17. Adicionando Sprites var lazyLayer = cc.Layer.create(); this.addChild(lazyLayer); // adicionando o sprite ao lazyLayer, centralizado e usando o arquivo .png como fonte. this.sprite = cc.Sprite.create("res/HelloWorld.png"); this.sprite.setPosition(cc.p(size.width / 2, size.height / 2)); // escalona o Sprite para ter metade de seu tamanho nominal this.sprite.setScale(0.5); // gira o Sprite em 180 graus. this.sprite.setRotation(180); lazyLayer.addChild(this.sprite, 0);
  • 18. Actions var rotateToA = cc.RotateTo.create(2, 0); var scaleToA = cc.ScaleTo.create(2, 1, 1); // executa uma sequência de ações diretamente no this.sprite this.sprite.runAction(cc.Sequence.create(rotateToA, scaleToA));
  • 19. Entrada - Touch // ao tocar na tela onTouchesBegan:function (touches, event) { this.isMouseDown = true; }, // ao mover o toque na tela onTouchesMoved:function (touches, event) { if (this.isMouseDown) { if (touches) { this.circle.setPosition(cc.p(touches[0].getLocation().x, touches[0].getLocation().y)); } } }, // ao remover o toque da tela onTouchesEnded:function (touches, event) { this.isMouseDown = false; }
  • 20. Entrada - Teclado this.setKeyboardEnabled(true); onKeyUp:function (e){ // intercepta quando uma tecla é solta }, onKeyDown:function (e){ // intercepta quando uma tecla é pressionada
  • 22. CONFIGURANDO A COCOS2D-X PARA O JAVASCRIPT BINDING
  • 24. Criando seu projeto  Usando Python (3.2)
  • 25. EXECUTANDO O PROJETO NO ANDROID  Android SDK  http://developer.android.com/sdk/index.html  Eclipse ADT Bundle  Baixar Emulador Intel, HAXM e tudo que quiser no Android Manager  Android NDK  http://developer.android.com/tools/sdk/ndk/index.html  CygWin  Procure Mirrors mais amigaveis… (o default é um inferno)
  • 26. Setando variaveis de ambiente  c:cygwinhomeuser.bashprofile, abra este arquivo com o Notepad++ e adicione:  NDK_ROOT=/cygdrive/c/android-ndk-r8e  Export NDK_ROOT  Faça pelo Opções Avançadas do Windows
  • 27. Compilando o projeto  ./build-native.sh  Deu problema?  CHMOD 777 –R .
  • 31. Obrigado!  Pedro Kayatt  @pekayatt  Naked Monkey Games  @nakedmonkeyG  www.nakedmonkey.com.br