Apresentação. Alexandre Tolstenko Nogueira. alexandre@tolstenko.net http://tolstenko.net



Documentos relacionados
XNA Game Studio Express. Desenho em 2D. Aula 2. Alexandre Santos Lobão Pós s em Desenvolvimento de Jogos Eletrônicos - IESB

Aula 02 Introdução ao desenvolvimento de Jogos em XNA Parte 1

XNA para o Desenvolvimento de Jogos

Desenvolvimento de Jogos Utilizando XNA: um Exemplo com o Jogo SpaceX

Curso: Desenvolvendo Jogos 2d Com C# E Microsoft XNA. Exibir e movimentar a espaçonave do jogador na tela do jogo.

Introdução ao XNA. Curso de Jogos Digitais disciplina: Programação no XNA

Carregando tela inicial antes do jogo começar

Apostilas I, II e III

XNA Framework para desenvolvimento de jogos

Curso: Desenvolvendo Jogos 2d Com C# E Microsoft XNA

O XNA é uma nova plataforma de desenvolvimento de jogos baseada em.net 2.0+

Curso: Desenvolvendo Jogos 2d Com C# E Microsoft XNA. Fazer desaparecer da tela do jogo a espaçonave inimiga quando um tiro acertá-la.

XNA Sokoban 3D Tutorial

XNA. Introdução ao XNA

GUIA PRÁTICO PARA INICIANTES MICROSOFT XNA Por: Fernando Birck ( Fergo )

Bruno Pereira Evangelista.

Bruno Pereira Evangelista.

Jogo do NEEC. Primeiramente, criamos uma nova Actividade. File > New > Class

Criando um Jogo de Ping Pong no Unity tipo 2D

UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS DEPARTAMENTO DE CIÊNCIAS DA COMUNICAÇÃO, ARTES. Diploma: Diploma de 1º Ciclo Total ECTS: 6

Bruno Pereira Evangelista.

Curso: Desenvolvendo Jogos 2d Com C# E Microsoft XNA. Atirar com a espaçonave e movimentar o cenário de fundo do jogo.

ENG1000 Introdução à Engenharia

WEBGIS Sistema Informativo Territorial

SOP aplicado em um jogo tipo de corrida usando a arquitetura cliente e servidor

XNA Game Studio Express. Introdução. aos Shaders. Aula 9. Alexandre Santos Lobão

PASSO A PASSO MOVIE MAKER

Orientação a Objetos

INSTITUTO BRASIL SOLIDÁRIO

Curso: Desenvolvendo Jogos 2d Com C# E Microsoft XNA. Incorporar uma trilha sonora e um som de tiro ao jogo espacial.

Apostila de Windows Movie Maker

Jogos Eletrônicos. Aula 01 Jogos Eletrônicos e Game Design. Edirlei Soares de Lima <edirlei.lima@uniriotec.br>

C D. C) Coleções: é usada para organizar o conteúdo de áudio, vídeo e imagens em pastas, buscando facilitar a montagem do storyboard.

Desenvolvimento de um aplicativo básico usando o Google Android

Introdução ao Fireworks CS4

Trabalho GA - Editor de Cenário Parallax

GraphicsLib Biblioteca Gráfica 2D. Documentação

Introdução à Engenharia ENG1000

Desenvolvendo jogos com MonoGame*

COLÉGIO ESTADUAL PAULO LEMINSKI APOSTILA SOBRE O BROFFICE IMPRESS

PROJETO INFORMÁTICA NA ESCOLA

Sistemas Operacionais. Prof. André Y. Kusumoto

Introdução a Programação de Jogos

4 O Workflow e a Máquina de Regras

Informática Aplicada. Aula 2 Windows Vista. Professora: Cintia Caetano

Aula 14: Sons e imagens

Formação em game programming: 01 - Introdução à programação

NÚCLEO DE TECNOLOGIA E EDUCAÇÃO CURSO: WINDOWS MOVIE MAKER TUTORIAL

Programação para Android. Aula 10: Acesso a câmera, sms e recursos do aparelho

Introdução ao Fireworks CS4

Tutorial para o Desenvolvimento de Jogos 2D usando a Linguagem Java

Capítulo 5. Figura 5.2. Conector para o monitor.

Desenvolvendo um jogo para Android com AndEngine

Ciências da Computação Disciplina:Computação Gráfica

Utilização. de Shaders de efeitos realistas para jogos. Bruno Pereira Evangelista. Pontifícia Universidade Católica de Minas Gerais

Consoles do Adobe Experience Manager

Orientação a Objetos

Treinamento T2Ti Jogos - Java Básico

PROGRAMANDO EM C# ORIENTADO A OBJETOS

LIBREOFFICE: APRESENTAÇÃO COM O IMPRESS. Professor: Francisco Dantas Nobre Neto dantas.nobre@ifpb.edu.br

Interfaces Gráficas: Interações Complexas

Treinamento IDCad 2015

Introdução a Programação de Jogos

Capítulo 07: Câmera e Arquivos

Programando Jogos em Delphi Animação, Lógica e Controle versão orientada à objetos

Para criar uma animação precisamos de uma imagem e que ela contenha alguns frames. O número de frames é uma escolha sua.

Software Básico. Conceito de Linguagem de Máquina e Montagem: introdução ao Assembly. Prof. MSc. Hugo Vieira L. Souza

Ptex e outras ferramentas para modelagem de animação

Relatório final de INF Animação por Computador e Jogos

Simulador para Auto-escola

Programação de Computadores

Introdução a Java. Hélder Nunes

I Semana de Capacitação. Robocode. Build the Best, Destroy the Rest

Desenho e Apresentação de Imagens por Computador

Plano de Aula - Windows 8 - cód Horas/Aula

Um computador é um dispositivo capaz de executar cálculos e tomar decisões lógicas milhões de vezes mais rápidas do que podem os seres humanos.

TRBOnet Standard. Manual de Operação

Administração de Sistemas de Informação I

Compositor de Impressão do QGIS

2ª LISTA DE EXERCÍCIOS CLASSES E JAVA Disciplina: PC-II. public double getgeracaoatual() {return geracaoatual;}

Ambiente Visual para o Desenvolvimento de Jogos Eletrônicos

Programação Orientada a Objetos - 3º semestre AULA 08 Prof. André Moraes

Introdução à Tecnologia Web HTML HyperText Markup Language XHTML extensible HyperText Markup Language Formatos de Imagens

Trabalho 3: Agenda de Tarefas

3 Dicas MATADORAS Para Escrever s Que VENDEM Imóveis

Este tutorial está publicado originalmente em

MAPA GEOIDAL DE CAMPINAS

Programação Orientada a Objetos em Java

Introdução à Engenharia ENG1000

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Prof. Esp. Adriano Carvalho

Computação Gráfica. Renderização em Tempo Real. Erivaldo Xavier de Lima Filho

Sistemas Operacionais

LICENCIATURA EM COMPUTAÇÃO PROCESSADOR TEGRA 2

Windows Server 2003 como estação de trabalho

Java 2 Standard Edition Como criar classes e objetos

Mercado Digital Gil Caserta. UNISO Novembro Valeria Camargo / RA: Gus Bassi / RA: Rodolfo Carvalho / RA:

GUIA DO CLIENTE VETTI INSTALANDO SUA CÂMERA IP ROBOT SD

Transcrição:

Apresentação Alexandre Tolstenko Nogueira alexandre@tolstenko.net http://tolstenko.net

Teoria Prática

Teoria XNA Pong Carregar e desenhar imagens na tela Estrutura e organização básica Colisões Componentes Camadas Facilidades

XNA Componentes Graphics Audio Input Framework Math Storage Network 5

XNA Camadas Jogos Starter Kits Código Conteúdo Componentes Framework (extensões) Modelo de Aplicação Pipeline de Conteúdo (content pipeline) Framework (núcleo) Graphics Audio Input Math Storage Network Plataforma Direct3D XACT XINPUT XCONTENT Legenda XNA já provê Você cria Comunidade

Facilidades (algumas) Renderização de baixo nível Recursos oferecidos Model, Mesh, Bones; Texturas, Audio, Vídeo e outros conteúdos; Efeitos e Shaders; Redes SpriteBatch para 2D e partículas BasicEffect facilita apresentar objetos 3D 7

Teoria XNA Pong Carregar e desenhar imagens na tela Estrutura e organização básica Colisões História Objetivo Modelagem Computacional

História Criadores: Nolan Bushnell e Ted Dabney O que é? O videogame Pong consiste em um console ligado a um monitor e era movido a moedinhas. 9

História (ou estória?) Os inventores deixaram a máquina em um bar em San Francisco, Califórnia. No dia seguinte, tiveram uma surpresa quando checaram a máquina e viram que ela estava lotada de moedas. Aquelas moedas mudaram toda a perspectiva que os criadores tinham em relação a seu invento. Aí estava o primeiro videogame lucrativo da história. Ao invés de vender a idéia para alguém, era melhor abrir o seu próprio negócio. E em 27 de Junho de 1972, a empresa Atari foi fundada. 10

Objetivo Objetivo: O objetivo era acertar a esfera (bola) com sua raquete (barra vertical) e lançar para o campo adversário, marcando ponto quando a bola passasse ao campo adversário. 11

Modelagem Computacional O que precisa para representar o PONG? Ball (ou quadrado); Paddle (ou barra); Como representar esses elementos? Retângulo Imagem ou Textura 12

Teoria XNA Pong Carregar e desenhar imagens na tela Estrutura e organização básica Colisões Rectangle Texture2D SpriteFont Códigos

Rectangle Rectangle(X, Y, Width, Height) Width (X,Y) Height 14

Texture2D Imagem a ser mapeada no retângulo para ser exibida na tela. 15

Font Implementações: Imagens; Compilado a partir de fontes. 16

Codigos Rectangle: Declaração: Rectangle ball_rect; Alocação: ball_rect = new Rectangle(X,Y,Width,Height) Acesso: ball_rect.x = numero_inteiro; Vector2: Declaração: Vector2 pos_texto; Alocação: pos_texto = new Vector2(X,Y) Acesso: pos_texto.x = numero_float; 17

Codigos Texture 2D: Declaracao: Texture2D ball; Carregamento: ball = Content.Load<Texture2D>("whitepixel"); ball = Texture2D.FromFile(GraphicsDevice, "Content/whitepixel.png"); Desenhando: spritebatch.begin(); spritebatch.draw(ball, position, Color.White); spritebatch.end(); 18

Codigos SpriteFont: Declaracao: SpriteFont Font; Carregamento: font= Content.Load<SpriteFont>( Fonte"); //aonde Fonte foi previamente adicionado ao projeto. Desenhando: spritebatch.begin(); spritebatch.drawstring(font, pos_texto, texto, Color.White); spritebatch.end(); Dica útil: Vector2 m_string = font.measurestring( Texto"); 19

Codigos Captura de dados para o teclado: public override void Update(GameTime gametime) {... KeyboardState keyboardstate = Keyboard.GetState(); } if (keyboardstate.iskeydown(keys.up)) Posicao.Y -= 10; if (keyboardstate.iskeydown(keys.down)) Posicao.Y += 10; if (keyboardstate.iskeydown(keys.left)) Posicao.X -= 10; if (keyboardstate.iskeydown(keys.right)) Posicao.X += 10;... 20

Teoria XNA Pong Carregar e desenhar imagens na tela Estrutura e organização básica Colisões Declarações de Variáveis Construtor Initialize LoadContent Update Draw UnloadContent

Estrutura e Organização Básica Váriaveis: Declaração de variáveis da classe. Construtor: Game1() -> possui o mesmo nome da classe. Executado quando se instancia um objeto do da Classe Initialize() Inicializações gerais do jogo LoadContent() Chamado sempre que é necessário carregar os recursos (conteúdos) UnloadContent() Chamado sempre que é necessário liberar os recursos (conteúdos) A cada game loop(60.ticks/seg): Update Onde se coloca a lógica principal do jogo (cálculos) Draw Onde se colocam as rotinas de desenho do jogo 22

Teoria XNA Pong Carregar e desenhar imagens na tela Estrutura e organização básica Colisões Retangular...

Colisão retangular update_objects(){ for (each_object) save_old_position(); calc new_object_position {based on velocity accel. etc.} if (collide_with_other_objects()) new_object_position = old_position(); {or if destroyed object remove it etc.} } Sintaxe XNA para Rectangle: if(rect1.intersects(rect2)) 24

Circular; Poligonal; OBB; AABB; Colisao recursiva por regiões; BSP; Quadtree; Octree; Vertex-in-triangle; (ad infinitum). 25

Teoria Prática

Prática Prática: Pong com colisão simples. Desafio: Pong com colisão vetorial, poligonal ou outra técnica mais avançada. 27

Referências http://pt.wikipedia.org/wiki/pong http://www.gamespp.com http://www.alexandrelobao.com/ 28

Agradecimento spritebatch.drawstring( Arial, "Obrigado Pela Atenção!", positionvect, Color.Black); 29