Prof. MSc. João Ricardo Bittencourt - PDF
Download "Prof. MSc. João Ricardo Bittencourt"
Nicholas Leveck Barreto
1 Introdução à SDL Prof. MSc. João Ricardo Bittencourt UNISINOS
2 Sumário 1. Outros formatos de imagens (PNG,JPEG,...) 2. Texto (Fontes TTF) 3. Eventos 4. Sincronismo 5. SDL & OpenGL 6. Som 7. Rede
3 Outros formatos de imagens Licença LGPL Suporta os seguintes formatos: BMP, PNM(PPM/PGM/PBM),XPM,LBM,PCX,GIF,JPEG,P NG,TGA e TIFF JPEG, PNG e TIFF requerem bibliotecas adicionais Para usá-la deve-se adicionar #include SDL_image.h Download em:
4 Outros formatos de imagens Para carregar uma imagem IMG_Load( nome_da_imagem.png ) Use sempre a extensão Em caso de erro retorna NULL Em caso afirmativo retorna uma SDL_Surface * Verifica se ocorreu algum erro IMG_GetError() Retorna uma mensagem de erro
5 Textos (Fontes TTF) Licença LGPL Usar fontes True Type com alta qualidade inclusive com antialiasing Para usá-la deve-se adicionar #include SDL_ttf.h Download em:
6 Textos (Fontes TTF) Inicializa a API para tratar as fontes True Type TTF_Init() Em caso de erro retorna -1 Em caso afirmativo retorna 0 Verifica se ocorreu algum erro TTF_GetError() Retorna uma mensagem de erro Encerra a execução da API TTF_Quit()
7 Textos (Fontes TTF) Abrir uma fonte TTF_OpenFont( fonte.ttf,16) Em caso de erro retorna NULL Em caso afirmativo retorna TTF_Font * Libera a memória usada pela fonte TTF_CloseFont(font) Definir o estilo da fonte TTF_SetFontStyle(font,TTF_STYLE_BOLD TTF_STYLE_ITALIC) Ainda tem a opção TTF_STYLE_UNDERLINE e TTF_STYLE_NORMAL
8 Textos (Fontes TTF) Criar um texto a partir da fonte TTF_RenderText_Solid(font, Hello,cor) Em caso de erro retorna NULL Em caso afirmativo retorna SDL_Surface * Sendo que a cor é definida da seguinte forma: SDL_Color cor = {0,0,0} Pode usar o modo Latin1, Unicode ou UTF-8. E tem três formas de renderização: Solid: rápido, sem uma caixa, sem suavidade Shaded: lento, com uma caixa, antialiasing Blended: muito lento, sem caixa, antialiasing
9 Textos (Fontes TTF) Outras formas de renderização TTF_RenderText_Solid(font, Hello,cor) TTF_RenderUTF8_Solid(font, Hello,cor) TTF_RenderUNICODE_Solid(font, Hello,cor) TTF_RenderText_Shaded(font, Hello,cor) TTF_RenderUTF8_Shaded(font, Hello,cor) TTF_RenderUNICODE_Shaded(font, Hello,cor) TTF_RenderText_Blended(font, Hello,cor) TTF_RenderUTF8_Blended(font, Hello,cor) TTF_RenderUNICODE_Blended(font, Hello,cor )
10 Eventos Tratamento geral de eventos: SDL_Event event; while (SDL_PollEvent(&event)){ //Trata o evento recebido //Usa event.type } Após o evento ter sido capturado é tratado conforme seu tipo. Básicos: Mouse, teclado, vídeo e eventos do usuário
11 Eventos Alguns tipos de eventos: SDL_MOUSEMOTION : Mouse é movimentado SDL_MOUSEBUTTONDOWN :Um botão do mouse é pressionado SDL_MOUSEBUTTONUP : Um botão do mouse após ser pressionado é solto SDL_KEYDOWN : Uma tecla é pressionada SDL_KEYUP : Uma tecla após ser pressionada é solta SDL_VIDEORESIZE : A janela é redimensionada
12 Eventos Alguns tipos de eventos: SDL_VIDEOEXPOSE : A janela precisa ser redesenhada SDL_QUIT : Um evento para encerrar a aplicação SDL_USEREVENT : Qualquer evento definido pelo usuário Detalhes para tratamento de eventos consulte a API da SDL
13 Sincronismo Fundamental para manter o game loop Retorna o tempo em milissegundos desde a inicialização da SDL SDL_GetTicks() Para a execução por um determinado tempo X em milissegundos SDL_Delay(X)
14 Sincronismo Adiciona um temporizador que a cada intervalo de tempo T executa uma função de callback SDL_AddTimer(T,callback, paramcallback) Retorna um identificador SDL_TimerID A assinatura da callback deve ser: Uint32 (*callback)(uint32,void*) E paramcallback é: void * Para continuar executando retorna o intervalo T, caso contrário retorna 0 Para remover o temporizador (retorna um bool) SDL_RemoveTimer(id)
15 SDL & OpenGL Possibilidade de usar as facilidade da SDL junto com a OpenGL Se for usada a SDL não precisa usar a GLUT Algumas cuidados precisam ser tomados no momento de usar a SDL e a OpenGL A inicialização da OpenGL é normal SDL_GL_SetAttribute/SDL_GL_GetAttribute (antes de setar o modo de video) SDL_SetVideoMode(w,h,bpp,SDL_OPENGL) SDL_GL_SwapBuffers()
16 Som Licença LGPL Carregar e produzir sons em diversos canais, entretanto reproduz só uma música Existem uma série de funcionalidades. Entretanto nesta introdução só será apresentado o básico Formatos: WAVE, MIDI, OGG e MP3 Para usá-la deve-se adicionar #include SDL_mixer.h Download em:
17 Som Inicializa a API Mix_OpenAudio(44100,MIX_DEFAULT_FORMAT, 2,1024) Em caso de erro retorna -1 Em caso afirmativo retorna 0 Verifica se ocorreu algum erro Mix_GetError() Retorna uma mensagem de erro Encerra a API de som Mix_CloseAudio()
18 Som Carregar um som (WAV, AIFF,RIFF,OGG,VOC) Mix_LoadWAV( som.wav ) Em caso de erro retorna NULL Em caso afirmativo retorna Mix_Chunk * Alocar canais de som Mix_AllocateChannels(10) Retorna o número de canais alocados Trocar o volume de um canal de som Mix_Volume(1,MIX_MAX_VOLUME) Se for usado -1 o valor é usado para todos canais
19 Som Reproduzir som de um canal Mix_PlayChannel(1,som,0) No caso 0 é o loop. Toca uma única vez. Se informar -1 é loop infinito Pausar um canal Mix_Pause(1) Continuar a reprodução do som Mix_Resume(1) Parar de tocar o som de um canal Mix_HaltChannel(1)
20 Som Carrega uma música (WAVE,MOD,MIDI,OGG,MP3) Mix_LoadMUS( triha.mp3 ) Em caso de erro retorna NULL Em caso de sucesso retorna Mix_Music * Tocar uma música Mix_PlayMusic(trilha,0) Sendo que 0 reproduz uma vez. E -1 é loop infinito
21 Rede Licença LGPL Executa no Windows, Linux, MacOS e BeOS Suporte ao TCP e UDP Para usá-la deve-se adicionar #include SDL_net.h Download em:
22 Rede Inicializa a API SDLNet_Init() Em caso de erro retorna -1 Em caso afirmativo retorna 0 Verifica se ocorreu algum erro SDLNet_GetError() Retorna uma mensagem de erro Encerra a API de rede SDLNet_Quit()
23 Rede Criando o endereço do servidor IPAdress ip; SDLNet_ResolveHost(&ip,NULL,7654) Em caso de erro retorna -1 Em caso afirmativo retorna 0 Criando o endereço no cliente para se conectar no servidor: IPAdress ipc; SDLNet_ResolveHost(&ipC, ,7654)
24 Rede O servidor atende na porta especificada TPCsocket sock; sock = SDLNet_TCP_Open(&ip); Em caso de erro retorna NULL Em caso afirmativo retorna TCPSocket O cliente se conecta no servidor: TPCsocket cliente; cliente = SDLNet_TCP_Open(&ipC); O servidor aceita pedido do cliente: TPCsocket novo_cliente; novo_cliente = SDLNet_TCP_Accept(sock);
25 Rede Enviar mensagens pelo socket SDLNet_TCP_Send(sock,msg,tam) Retorna o número de bytes enviados Msg é um void *, ou seja, um ponteiro para qualquer coisa Receber mensagens pelo socket SDLNet_TCP_Recv(sock,msg,MAXLEN) Retorna o número de bytes recebidos. Não pode ser menor ou igual a zero. Msg é um void *, ou seja, um ponteiro para qualquer coisa
26 Rede Encerra um scoket SDLNet_TCP_Close(sock)
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.
Eventos do mouse pygame.mouse..mouse.get_pos() Retorna uma tupla (x, y) referente à posição pygame.mouse..mouse.get_pressed() Retorna uma tupla (button1, button2, button3) Cada campo da tupla é um boolean
A UTILIZAÇÃO DA BIBLIOTECA ALLEGRO PARA O DESENVOLVIMENTO DE APLICAÇÕES MULTIMÍDIA. Luana Pereira de Lima luanaelima@gmail.com
A UTILIZAÇÃO DA BIBLIOTECA ALLEGRO PARA O DESENVOLVIMENTO DE APLICAÇÕES MULTIMÍDIA Luana Pereira de Lima luanaelima@gmail.com Túlio Vitor Machado Faria tuliofaria@gmail.com Faculdade de Administração e
Introdução à SDL. por Bruno Bottino Ferreira Adriano Cruz
Introdução à SDL por Bruno Bottino Ferreira tinnus@gmail.com Adriano Cruz adriano@nce.ufrj.br Agenda Por que? Instalando Conceitos Básicos Programando Por que? Por que SDL? Abstração do hardware Programador
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
17:47:08. Introdução à Informática com Software Livre
17:47:08 Introdução à Informática com Software Livre 1 17:47:09 Audacity 2 Audacity 17:47:09 Audacity é um Software Livre de edição digital de áudio, disponível principalmente nas plataformas: Windows,
ECD1200 Equipamento de Consulta de Dados KIT DE DESENVOLVIMENTO
Equipamento de Consulta de Dados KIT DE DESENVOLVIMENTO Versão do documento: 1.1 1. Introdução...3 2. Documentação...3 2.1. DOCUMENTAÇÃO DE REFERÊNCIA... 3 2.2. DESCRIÇÃO FUNCIONAL... 4 2.2.1. INTERFACE...
Programação Windows em C++
Programação Windows em C++ A seguir segue-se uma tradução dos capítulos iniciais do livro OpenGL Game Development, que descrevem como criar uma janela Windows através de código C++ puro, ao contrário da
SOFTWARE EDUCATIVO. Manual CHILDSPLAY 1.6
SOFTWARE EDUCATIVO Manual CHILDSPLAY 1.6 BENTO GONÇALVES Março de 2015 Sumário O que é?... 3 Requisitos... 3 Objetivos... 3 Link para download... 4 Tela Inicial... 5 Jogo da Memória... 6 Aquário... 7 Teclado...
Introdução a Programação de Jogos Aula 07 Utilizando Imagens 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
PlayLib Educational Game Programming Library Documentação
PlayLib Educational Game Programming Library Documentação Edirlei Soares de Lima elima@inf.puc-rio.br Sumário 1 Instalação e Configuração no Visual Studio 2010... 4 2 Estrutura de um Programa... 11 3 Loop
Aula 14: Sons e imagens
Aula 14: Sons e imagens Kaya Sumire Abe kaya.sumire@gmail.com Diego de Faria do Nascimento df.nascimento93@gmail.com 14/11/2012 Resumo As últimas aulas abordaram programas que utilizam GUI e como tratar
MENSAGEM INTELIGENTE MANUAL DO USUÁRIO
MENAGEM INTELIGENTE MANUAL DO UUÁRIO UMÁRIO 1. O que é Mensagem Inteligente?... 3 2. Como Utilizar... 3 3. Interface Telefônica... 5 3.1 Formas de interação... 5 3.1.1. Prompts... 5 3.1.2. Tecla * (estrela)...
Manual do Skanlite. Kåre Särs Anne-Marie Mahfouf Tradução: Marcus Gama
Kåre Särs Anne-Marie Mahfouf Tradução: Marcus Gama 2 Conteúdo 1 Introdução 5 2 Usar o Skanlite 6 2.1 Seleção do Scanner.................................... 6 3 Janela Principal do Skanlite 8 3.1 Digitalizando........................................
Ao terminar o preenchimento clique no botão Avançar.
guiaskype O Skype é o melhor programa para conversas de voz e vídeo da atualidade. Com ele você realiza conversas de voz em tempo real com uma ou mais pessoas ao mesmo tempo. Além disso o Skype não é um
Apostila: VLC Media Player
Sistema de gerenciamento, controle e auditoria de computadores e usuários em uma rede local.
Sistema de gerenciamento, controle e auditoria de computadores e usuários em uma rede local. Thiago Magalhães B. Rodrigues¹, Wanderson Carvalho Bragança¹, Ronivaldo Veloso Pugas¹ ¹Curso de Bacharelado
Curso de Power Point Aula 2 -Multimídia
Trabalhando com efeitos de Multimídias Inserindo efeitos de transição e composição Efeito de transição é a forma como o slide acionado no momento da troca das telas. O modo mais fácil de se inserir efeitos
Usando áudio no Flash
Usando áudio no Flash Por que usar som? O diferencial de um trabalho na web, muitas vezes pode estar relacionada à diversidade de elementos mul?mídia que o site ou a aplicação pode apresentar. O Flash
Fotos, Músicas & Vídeos
Português Introdução a Fotos, Músicas & Vídeos 1 Iniciar aqui Requisitos Complete todas as etapas no documento Leia isto primeiro, incluído na embalagem do computador de mão. Localize o CD. Se o pacote
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.
MULTIMÍDIA Capítulo 8 Neste capítulo apresentaremos alguns elementos de multimídia, tais como: sons e vídeos e também como utilizar os recursos usando o controle de multimídia do ambiente Delphi. O Delphi