• Nenhum resultado encontrado

Desenvolvendo Jogos 2D em HTML5. Pedro

N/A
N/A
Protected

Academic year: 2021

Share "Desenvolvendo Jogos 2D em HTML5. Pedro"

Copied!
32
0
0

Texto

(1)

Desenvolvendo

Jogos 2D em

HTML5

Pedro Kayatt

@pekayatt

(2)

COCOS2D

 Cross Platform

 IOS

 Android

 Windows Phone

 Blackberry, Bada, Tizen, geladeira da minha avó….

 Open Source

 Fast

 Prove

(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

(4)
(5)
(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

(7)
(8)

Preparando o Ambiente

(9)

Instalando Web-Service

• XAMPP : for windows, Mac, Linux. • WAMP : for windows

(10)
(11)

Javascript IDE

 Notepad ++

 Aptana

 Jetbraind Webstorm

(12)
(13)
(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

(15)
(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);

(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);

on

KeyUp:function (e){

// intercepta quando uma tecla é solta

},

onKeyDown:function (e){

(21)
(22)

C

ONFIGURANDO A

C

OCOS

2

D

-X

PARA O

(23)
(24)

Criando seu projeto

(25)

E

XECUTANDO O PROJETO NO

A

NDROID

 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

(26)

Setando variaveis de ambiente

 c:\cygwin\home\user\.bashprofile, abra este arquivo com o

Notepad++ e adicione:

 NDK_ROOT=/cygdrive/c/android-ndk-r8e  Export NDK_ROOT

(27)

Compilando o projeto

 ./build-native.sh

 Deu problema?

(28)
(29)
(30)

Relaxe e aproveite!

(31)

Obrigado!

Pedro Kayatt

@pekayatt

Naked Monkey Games

@nakedmonkeyG

(32)

Referências

Documentos relacionados

Bebidas à disposição nos bares: Coca-cola, coca-cola light, sprite, fanta e água com gás; sumos de fruta; água mineral; café, chá, chocolate quente, infusões; cocktails com ou

A distinção entre atribuições e competências tem importância, não só para se compreender a diferença entre os fins que se prosseguem e os meios juridicos que se usam

Recorte as imagens da mesma forma que fizemos para os outros sprites e não se esqueça de definir sua propriedade Pixel per Unit para “20” e Sprite Mode para

Recursos exclusivos do sistema de processamento de sinais Recursos exclusivos do sistema de processamento de sinais IPELA ENGINE EX IPELA ENGINE EX A IPELA ENGINE EX oferece

Com este foco, o Senac RN lançou novas turmas do curso Code and Office Teens, voltados para jovens e adolescentes a partir dos 10 anos que queiram

ANS abre consulta pública para melhorar atendimento dos Planos de Saúde. Sugere que empresas de grande porte passem a oferecer atendimento

Após a elaboração do perfil do usuário pressione o botão PROGRAMA (16) para selecionar o programas do USUÁRIO (a cada toque será alternado o programa) sendo que no primeiro

MG - Tem uma historiadora beninense que me disse que agora, como muitos africanos partiram para a França, para estudar lá, é mais difícil de ver imediatamente a diferença entre