Introdução a Programação de Jogos



Documentos relacionados
Introdução à Engenharia ENG1000

Introdução a Programação de Jogos

PlayLib Educational Game Programming Library Documentação

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

Introdução à Engenharia ENG1000

Introdução a Programação de Jogos

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

Programação para a Plataforma Android Aula 7. Mul$mídia

Aprendendo a Programar em C com PlayLib

Introdução à Engenharia ENG1000

Programação Gráfica Parte 2 Versão em C 2006 PUCPR Tutoria de Jogos 1º Ano

O objetivo da aula é realizar upload de arquivos com aplicação web. Será realizado o upload de duas formas:

INF 1007 Programação II

Introdução a Computação

INF 1620 P1-10/04/02 Questão 1 Nome:

Eventos do mouse p g y a g me.mo m use s. e ge g t_pos() R torn r a u ma tupl p a (x, x , y) y re r fe f re r nte à po p si s ção p g y a g me.

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.

INTRODUÇÃO À LINGUAGEM C++

cast poderia ser usado também para transformar um real (float) em inteiro. A sintaxe C (float)i pode ser substituída em C++ por float(i).

INF 1007 Programação II

Linguagem C: agregados heterogêneos, arquivos binários, recursividade. Prof. Críston Algoritmos e Programação

struct LISTA item quant

Algoritmos e Programação

Algoritmos e Programação Estruturada

Introdução à Programação. Armazenamento de Grande Quantidade de Informação Usando Vetores

INF PROGRAMAÇÃO II LISTA DE EXERCÍCIOS 4

Estruturas (registros)

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA INFORMÁTICA APLICADA

Computação II Orientação a Objetos

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery

9. Estruturas em C Registros

Prof. Esp. Adriano Carvalho

Universidade Federal de Santa Maria UFSM Centro de Tecnologia CT. Power Point. Básico

Prof. MSc. João Ricardo Bittencourt

Programação científica C++

17:47:08. Introdução à Informática com Software Livre

Técnicas de Programação I

Introdução a Programação de Jogos

Interface do DT. Figura 1: Interface do DT. DT Help File v1.3

Operaçõe õ s c om o Strings Intr oduç ão a o Ponte iros o e Funçõe õ s

1. Fazer um programa em C que pergunta um valor em metros e imprime o correspondente em decímetros, centímetros e milímetros.

Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões. Prof. MSc. Hugo Souza

Aula 14: Sons e imagens

Trabalhando com arquivos de som. Prof. César Bastos Fevereiro 2008

17 - Funções e Procedimentos em C Programação Modular

Gerenciamento de Arquivos e Pastas. Professor: Jeferson Machado Cordini jmcordini@hotmail.com

MANUAL DE UTILIZAÇÃO DO PLUGIN GERADOR DE PLUGINS DO TERRAVIEW

Lista restrita onde as operações de inserção e retirada são feitas nas extremidades. Deque (fila de final duplo).

Aula 1 Tipo Abstrato de Dados

MC-102 Algoritmos e Programação de Computadores IC-UNICAMP. Aula 21 - Registros. Por: Luís Augusto Angelotti Meira (Sala IC-71) 1S2005

INTRODUÇÃO AO C++ SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO

Estruturas. struct são coleções de dados heterogêneos agrupados em uma mesma estrutura de dados. Ex: armazenar as coordenadas (x,y) de um ponto:

Aula 3 Alocação Dinâmica

Introdução a Programação. Ponteiros e Strings, Alocação Dinâmica

GABARITO COMENTADO SISTEMAS OPERACIONAIS. PROF. Cláudio de C. Monteiro, Evanderson S. de Almeida, Vinícius de M. Rios

5 Apresentando a linguagem C

SIMULADO Windows 7 Parte V

Apostila de Windows Movie Maker

Linguagem de Programação C

Programação Gráfica Parte 1 Versão em C 2006 PUCPR Tutoria de Jogos 1º Ano

Som, Vídeo, e Deep Zoom. José Antônio da Cunha IFRN

Linguagem C. Programação Estruturada. Fundamentos da Linguagem. Prof. Luis Nícolas de Amorim Trigo

INF 1005 Programação I

MC102 Algoritmos e programação de computadores Aula 3: Variáveis

Fundamentos de Programação

PASSO A PASSO MOVIE MAKER

Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação. Estruturas em C

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

CURSO DE INFORMÁTICA BÁSICA AULA 2 O AMBIENTE WINDOWS

Estrutura da linguagem de programação C Prof. Tiago Eugenio de Melo tiago@comunidadesol.org

Aula 1. // exemplo1.cpp /* Incluímos a biblioteca C++ padrão de entrada e saída */ #include <iostream>

USANDO PROJEÇÃO POTENTE

2. OPERADORES ALGORITMOS, FLUXOGRAMAS E PROGRAMAS FUNÇÕES... 10

JSP - ORIENTADO A OBJETOS

Programa ConsoleRPN. PUC-Rio CIV Sistemas Gráficos para Engenharia Luiz Fernando Martha & André Maués Brabo Pereira

Guia do RepositorioDocumento

JAVA APLICAÇÕES GRÁFICAS Propriedade Utilizada: FontSizeAnimation

INF 1005 Programação I

PARA CASA * Como voce faria para armazenar o resultado em uma variavel chamada NOME?

AULA 17 KML Manager. Nessa aula serão apresentadas as funcionalidades do KML Manager.

Persistência de Dados

Pastas São indicadas pelo ícone correspondente a uma pasta suspensa.

Programação para Internet I

A multimídia para ambiente Windows foi desenvolvida a poucos anos atrás e hoje é lugar comum, nesta seção discutimos alguns itens genéricos.

Tipos de Dados Simples

DICAS PARA CONFECÇÃO DE PLACAS DE CIRCUITO IMPRESSO

Importação de arquivos Raster e Vetorial no Terraview

Prova de Java. 1) Copie o programa abaixo no eclipse e complete-o, utilizando os conceitos aprendidos durante o curso. (4 pontos)

Os Arquivos e seus Formatos

Edição Visual Imagens, Tilemaps e Sprites 2006 PUCPR Tutoria de Jogos 1º Ano

Resumo da Matéria de Linguagem de Programação. Linguagem C

Programação Orientada a Objeto

Universidade Estadual de Campinas Faculdade de Educação Laboratório de Novas Tecnologias Aplicadas à Educação

3/19/2014. Compilador DEV C++ ENGENHARIAS LÓGICA DE PROGRAMAÇÃO Henry Lubanco/ Joelio Piraciaba

Manipulação de Arquivos

Serviço Técnico de Informática. Curso Básico de PowerPoint

Programação de Computadores

Introdução. Manipulação de arquivos em C. Estrutura de Dados II Prof Jairo Francisco de Souza

AULA 10- Plugins Tema Shapefile e Tema Externo

Transcrição:

Introdução a Programação de Jogos Aula 08 Utilizando Sprites e Áudio na PlayLib Prof. Augusto Baffa < abaffa@inf.puc-rio.br>

Biblioteca Gráfica - PlayLib Conjunto de funções para criação e manipulação de formas geométricas, imagens, áudio, janelas... Baseada na API OpenGL. Pode ser usada para criação de jogos 2D, simulações, animações e outros aplicativos. Desenvolvida especialmente para esse curso!

Estruturas Struct são coleções de dados heterogêneos agrupados em uma mesma estrutura de Dados Exemplo: Armazenar as coordenadas (x,y) de um ponto y 600 100 (200,100) 0 200 800 x

Estruturas Declaração: 600 y struct coordenada{ int x; int y; }; y (200,100) coordenada p1, p2; 0 x 800 x A estrutura coordenada contém dois inteiros, x e y p1 e p2 são duas variáveis tipo coordenada.

Declaração de Estrutura Formato da declaração: struct nome_da_estrutura { tipo_1 dado_1; tipo_2 dado_2;... tipo_n dado_n; }; A estrutura pode agrupar um número arbitrário de dados de tipos diferentes Pode-se nomear a estrutura para referenciá-la

Estruturas Acesso aos dados: variável_struct.campo Ex: p1.x = 10; p1.y = 20; p2.x = 15; p2.y = 15; if (p1.x >= p2.x) && (p1.y >= p2.y)...

Exemplo de Estrutura Exemplo: typedef struct train { float x; //posicao x do trem float y; //posicao y do trem int animation_clip; //clipa da animacao do trem int animation_index; //indice atual da animacao do trem float time_next_frame; //contador de tempo para avancar na animacao bool stoped; //indicador de trem parado float speed; //velocidade do trem bool light_active; //indicador de luz ativa do trem float angle; //angulo do trem int track_sector; //setor atual do trem na pista } Train; Train train;

Exemplo de Estrutura Exemplo 2: //Estrutura para armazenar os dados do sprite do trem typedef struct sprite{ int x; int y; int width; int height; } Sprite; //Variaveis para armazenar os sprites e imagens usadas na aplicacao Sprite sprite[4][4];

Carregando Sprites com Struct 3 2 1 0 0 1 2

Carregando Sprites com Struct Exemplo de carga de Sprites: #define SPRITE_SIZE 96 Sprite sprite[4][3]; Image sprite_sheet; int main(void) {... sprite_sheet.loadpngimage("train3.png"); InitSprites();... }

Carregando Sprites com Struct void InitSprites() { int x = 0, y = 0; int spritex = 0; int spritey = 0; } for (int y = 0; y < 3; y++) for (int x = 0; x < 4; x++) { sprite[y][x].x = 0 + SPRITE_SIZE * x; sprite[y][x].y = 0 + SPRITE_SIZE * y; sprite[y][x].width = SPRITE_SIZE; sprite[y][x].height = SPRITE_SIZE; }

Utilizando as variáveis de Estrutura int main(void) {... //Inicializa as variaveis de controle do trem train.x = 0; train.y = 0; train.animation_clip = 3; train.animation_index = 0; train.time_next_frame = 0; train.stoped = true; train.speed = 0; train.light_active = false; train.angle = -1; train.track_sector = 1; }

Utilizando as variáveis de Estrutura Desenhando o Trem: 256 x 256 é o tamanho da imagem de sprite_sheet graphics.drawimage2d(train.x, train.y, 256, 256, sprite[train.animation_clip][train.animation_index].x, sprite[train.animation_clip][train.animation_index].y, sprite[train.animation_clip][train.animation_index].width, sprite[train.animation_clip][train.animation_index].height, sprite_sheet);

Executando um arquivo de áudio Para executar um arquivo de audio é necessário: (1) Criar uma variável do tipo Audio. (2) Carregar o arquivo usando o comando LoadAudio. (3) Executar efetivamente o áudio no dispositivo de som usando o comando Play.

Executando um arquivo de áudio (1) Criar uma variável do tipo Audio: Audio musica1; OBS: Sempre declare as variáveis Audio como variáveis globais. Exemplo: #include "Graphics.h" #include "Audio.h" Graphics graphics; Audio musica1; Audio musica2; Variáveis Audio declaradas no inicio do programa. Antes e fora da função principal ou outras funções. int main(void) {...

Executando um arquivo de áudio (2) Carregar o arquivo usando o comando LoadAudio: musica1.loadaudio("musica.mp3"); Exemplo: int main(void) {... musica1.loadaudio("musica.mp3");... } Carrega o arquivo Musica.mp3 para a variável musica1. OBS: Cada arquivo de áudio deve ser carregado apenas uma vez. Por isso, nunca carregue o áudio diretamente de dentro do Loop Principal.

Executando um arquivo de áudio (3) Executar efetivamente o áudio no dispositivo de som usando o comando Play. musica1.play(); Exemplo: Audio musica1; int main(void) { musica1.loadaudio("musica.mp3");... musica1.play();... Executa o áudio musica1. }

Executando um arquivo de áudio Observações importantes sobre arquivos de áudio: Somente são aceitas imagens nos formatos WAV ou MP3. Cerifique-se de que as imagens que serão lidas estão dentro da pasta do seu projeto do Visual Studio. Se preferir armazena-las em outras pastas você deve fornecer o caminho completo para o diretório onde os arquivos de áudio estão para o comando LoadAudio. Se o seu arquivo de áudio estiver em outro formado (3GP, OGG, WMA...) você deve convertê-la para o formato WAV/MP3 antes de carrega-lo.

Executando um arquivo de áudio Outras funções para o tipo Audio: Para encerrar a execução um arquivo de áudio utilizamos a função Stop(): musica1.stop(); Podemos interromper temporariamente a execução de um arquivo de áudio utilizando o comando Pause() e retomá-lo utilizando o commando Play(). Neste caso o arquivo de áudio continua a execução a partir do ponto em que foi interrompido. musica1.pause(); musica1.play();

Executando um arquivo de áudio Outras funções para o tipo Audio: Para verificarmos se o arquivo de áudio está em execução, consultamos a função IsPlaying() que retorna verdadeiro em caso afirmativo. musica1.isplaying() Exemplo: if(musica1.isplaying())... else...

Exercícios Lista de Exercícios 07 Sprite Sheets e Audio http://www.inf.puc-rio.br/~abaffa/iue1503/