@maciejewsky maciejewsky@msn.com Jenner.rocha@terra.com.br.

Post on 07-Apr-2016

216 views 2 download

Transcript of @maciejewsky maciejewsky@msn.com Jenner.rocha@terra.com.br.

Desenvolvendo Games para Windows Phone 7 com XNA e Visual BasicWPH306

Jenner Maciejewsky RochaMVP Visual BasicTribunal de Contas do Estado do Pará

Meus Contatos

www.facebook.com/jenner.rocha

@maciejewsky

maciejewsky@msn.com

www.maciejewsky.net/blog

Jenner.rocha@terra.com.br

Objetivos

Histórico: Microsoft x Dispositivos Móveis

Presente e Futuro

Jogos Para Celular

Jogos para celulares percorreu um longo caminho

Usuários esperam ter uma mini versão do seu console em seus celulares.

Windows Phone é capaz de entregar isto

Você tem uma plataforma para escrever seus jogos

Você tem uma plataforma para ganhar dinheiro

Games Hub e Xbox LIVE

Xbox LIVE é um Serviço

Xbox LIVE além do console Windows Phone é o primeiro passo para a nossa visão de um serviço de jogos onipresenteVocê pode usar todo recurso de hardware e sensores em seus jogos

Gamertag

Amigos

Conquistas

Conjunto consistente de recursos de hardware definidos pela Microsoft 800 or 480

480 or 320

• Mínimo de 4 Pontos de Toque

• Sensores de GPS, Acelerômetro, Luz e Proximidade

• Câmera de no mínimo 5MP

• 256 MB de Memória

• GPU compatível com Directx 9

• CPU de 1Ghz

• Botões padronizados

Plataforma Consistente

Windows Phone

Hardware

Elementos Comuns de Hardware

Foco na Qualidade

Duas Opções

Framework com foco em JogosCriação rápida de jogos 2D e 3D multi-telaTecnologia Madura, robusta e amplamente adotada.

JOGOS(e aplicações)

APLICAÇÕES(e jogos)

Fazer uso do XAMLCriação de aplicativos visualmente ricosUso de HTML/Javascript.Tecnologia madura, robusta, amplamente implantada

Windows Phone Para Desenvolvedores

XNA FrameworkSimplificando o Desenvolvimento de Jogos

Detalhes do Framework

Common Base Class Library

Collections ComponentModel Configuration

DiagnosticsReflection IO

Security Threading

Runtime Resources Globalization TextLocation Net

ServiceModel Linq

Application Object

Silverlight Presentation and Media XNA Frameworks for Games

Windows Phone Frameworks

NavigationShapes Markup Media

Controls Drawing IsolatedStorage

AudioMedia GraphicsInput

Drawing GamerServices

Content

PhoneApplicationPage

PushNotification

WebBrowserControl SensorsPhoneApplicationFra

me

Camera Device Integration

Launchers & Choosers

Windows Phone ControlsMultiTaskin

gStructured

Data

Silverlight4.0

Silverlight Integration

Sockets

XNA Game Studio

XNA Framework

CriandoJogos

Framework de desenvolvimento de jogos em .net

C#/VB.NET, .NET e Visual Studio

Foco no jogo, e não na plataforma

Grande facilidade no desenvolvimento

Multi plataforma (Windows, XBox360, Windows Phone 7)

XNA Game Studio 4.0

Desenvolvimento para

Windows Phone 7

APIs Simplificad

a

Integrado ao Visual

Studio 2010

Suporte a recursos de

Audio

Novos efeitos configuráveis

Integração entre Silverlight e XNADispositivo Silverligh

t UIDirect3D Surface

Como começar ?

• Microsoft XNA Game Studio 4.0• Microsoft XNA Game Studio 4.0 Windows Phone Extensions• Microsoft XNA Framework Redistributable 4.0• Windows Phone Emulator• Microsoft Phone 7 Add-Inn for Visual Studio 2010• Microsoft Windows Phone 7 Developer Resources

Baixe as ferramentas

• http://channel9.msdn.com/learn/courses/WP7TrainingKit/ • http://windowsteamblog.com/blog/wpdev/ • http://www.sharpgames.net/ • http://create.msdn.com/

Estude

Um Framework vários dispositivos

Framework XNA projetado para ser multiplataforma

Redução de Tempo para aprender

Projeto de sincronização entre plataformas

= =

Desenvolver Games é Igual para todas plataformas?

Windows

!= !=

Não

Windows

Anatomina de Um Game XNA

INICIO Load Content

Update

Draw

INICIO Load Content

O que acontece ao executar o jogo?

Inicializar todos os recursos• Carrega as texturas, modelos, scripts

etc

Executa repetidamente o jogo:• Atualiza o mundo do jogo• Lê as açoes do usuário e atualiza o

estado e a posição dos elementos de jogo

• Desenhar o mundo do jogo• processa os elementos do jogo na

console

Nosso Game - Zorgonoid

A classe GamePrincipal classeReúne e organiza todos os objetos básicos do jogoGerencia os métodos em loop

Cria a estrutura elementar do seu jogo

Cria a janela do jogo

Microsoft XNA: Desenvolvimento de Jogos Célula Acadêmica Sophos

Classe Game e MetódosPublic class Zorgonoid Inherits Microsoft.Xna.Framework.Game

Protected Overrides Sub LoadContent() … … End Sub

protected override void Update(ByBal gameTime As GameTime) … … End Sub

protected override void Draw(ByVal gameTime As GameTime) … … End SubEnd Class

Define a textura da bola no jogo

XNA fornece um tipo de Texture2D que contém uma textura 2D (flat) a ser desenhado no visor

As classes do jogo precisa conter uma variável para armazenar a textura de bola que será desenhada quando o jogo é executado

Esta variável será compartilhada por todos os métodos no jogo

' Texturas

Private fundo as Texture2DPrivate jogador as Texture2D

Carregando o Conteúdo do Jogo

LoadContent é chamado quando o jogo é iniciado

Aqui é inserido o código que carrega os recursos para o jogo

O conteúdo inclui imagens, sons, modelos etc.

protected overrides Sub LoadContent() ' Cria um SpriteBatch, que pode ser usado para ' desenhar as texturas. spriteBatch = new SpriteBatch(GraphicsDevice)

fundo = Content.Load(Of Texture2D)("fundo") jogador = Content.Load(Of Texture2D)("jogador")End Sub

Coordenadas e PixelsXNA desenha objetos na tela utilizando coordenadas

com bases nos pixels

Uma tela padrão do Windows Phone é 800 pixels de largura

e 480 pixels de altura

Isto dá o intervalo de valores possíveis para exibir

coordenadas

Se você desenhar coisas fora da tela isto não causa

problemas, mas nada será desenhado

32

X and Y in XNAO sistema de coordenadas usado pelo XNA inicia

nas coordenadas (0,0), canto superior esquerdo

Aumente/Diminua o valor de X para mover objetos

através da tela, na horizontal

Aumente/Diminua o valor de Y para mover objetos

através da tela na posição vertical

É importante conhecer essas informações.

33

Posicionando a Bola usando retangulos

Podemos adicionar um retangulo para gerenciar a posição da bola na tela

Inicializaremos esse retangulo no LoadContent

// Game WorldTexture2D regiaoJogador;Rectangle regiaoBola;

Método Draw

O método Draw é chamado repetidamente quando um jogo XNA é executando• Ele tem o trabalho de desenhar o que será exibido na tela

Um novo projeto de jogo XNA contém um método Draw que limpa a tela para CornflowerBlue

Devemos adicionar o nosso próprio código para desenhar a bola

protected override void Draw(GameTime gameTime){ GraphicsDevice.Clear(Color.CornflowerBlue); base.Draw(gameTime);}

SpriteBatch Begin e End

A chamada para o método Begin diz ao SpriteBatch para começar uma montagem de um novo conjunto de operações de desenho

A chamada para o método End diz ao SpriteBatch que não existe mais operações e faz com que o processamento seja realizado

protected override void Draw(GameTime gameTime){ GraphicsDevice.Clear(Color.CornflowerBlue);

spriteBatch.Begin(); // Code that uses spriteBatch to draw the display spriteBatch.End();

base.Draw(gameTime);}

O Método Update

O método Update é chamado automaticamente 30 vezes por segundo quando um jogo estiver em execução

Ele é responsável por gerenciar o "mundo do jogo"

• Em um jogo pingpong isso significa atualizar as posições da raquete e da bola e verificar as colisões

protected override void Update(GameTime gameTime){

// TODO: Add your update logic here

base.Update(gameTime);}

http://developer.windowsphone.com

http://developer.windowsphone.com

http://channel9.msdn.com/learn/courses/WP7TrainingKit

http://www.sharpgames.net

http://windowsteamblog.com/windows_phone/b/windowsphone/

Recursos

Palestras RelacionadasWPH201 Entendendo a plataforma dev do Windows Phone

WPH301 Ciclo de Vida e Performance de aplicações no WP7

WPH401 Acesso a base de dados (local DB) no Windows Phone 7

WPH307 Multi-tasking no Windows Phone 7

Recursos

Recursos para IT Pros

Recursos para Desenvolvedores

http://technet.microsoft.com/pt-br

http://msdn.microsoft.com/pt-br

Getthefreemobileappforyourphonehttp://gettag.mobi

Getthefreemobileappforyourphonehttp://gettag.mobi

Não esqueça de preencher sua

avaliação onlinewww.teched.com.br/

avaliacao

Getthefreemobileappforyourphonehttp://gettag.mobi

© 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.

The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after

the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.