Home
Documentação - Edirlei Soares de Lima
Contents
1. Dessa forma sempre que o mouse for movimentado pelo usu rio a fun o MouseClickInput ser executada e os par metros x e y indicaram a posic o do mouse na tela Exemplo void MouseMotionInput int x int y As vari veis mouse xe mouse y recebem a mouse x X nm mouse y y posi o x e y do mouse ou seja o local onde o usuario esta com o cursor do _ visioniab E AR Uni verRenADE Car cica DO RIO DE JANEIRO 3 Exemplos Essa se o apresenta alguns exemplos b sicos de utiliza o da GraphicsLib 3 1 Exemplo 01 Uso de Primitivas B sicas Este primeiro exemplo utiliza as primitivas b sicas ponto linha ret ngulo triangulo e circulo para desenhar uma casa simples include Graphics h include lt stdio h gt using namespace GraphicsLib Graphics graphics void MainLoop graphics SetColor 41 156 0 graphics FillRectangle2D 0 0 800 100 Desenha terreno graphics SetColor 100 100 100 graphics FillRectangle2D 200 100 400 300 Desenha parede graphics SetColor 255 136 0 graphics FillTriangle2D 200 300 400 300 300 450 Desenha telhado graphics SetColor 120 76 0 graphics FillRectangle2D 300 100 370 240 Desenha porta graphics SetColor 9 9 100 graphics FillRectangle2D 220 150 270 220 Desenha janela graphics SetColor 0 0 0 graphics FillCircle2D 310 170 5 20 Desenha ma aneta l A visioniab A O NIVERSID
2. Image minha_imagem1 Image minha imagem2 do programa Antes e fora da fun o principal ou outras fun es int main void 2 Carregar a imagem do arquivo usando o comando LoadPNGImage minha imagem graphics LoadPNGImage Mario png Exemplo int main void minha imagem graphics LoadPNGImage Mario png arquivo Mario png para a variavel minha_imagem Carrega a imagem do OBS Cada imagem deve ser carregada apenas uma vez Por isso nunca carregue a imagem diretamente de dentro do Loop Principal l i visionlab E E INMVEFSIDADE T NICA DO RIO DE JANEIRO 3 Desenhar efetivamente a imagem na tela usando o comando Drawlmage2D graphics DrawImage2D 200 200 256 256 minha_imagem Exemplo void MainLoop t Desenha a imagem graphics DrawImage2D 200 200 256 256 minha imagem minha imagem na posi o y 200 200 com tamanho 256 256 na tela L ill visioniab E E Uni veEReIDADE Car cica DO RIO DE JANEIRO 2 6 1 Carregando uma Imagem Sintaxe Image LoadPNGImage char filename Exemplo Declarac o da variavel do tipo Image mario 8 i Image que vai armazenar a imagem E ae Carrega o arquivo Mario png para mario graphics LoadPNGImage Mario png lt gt a vari vel mario Ilustra o l il visioniab ONTIFICIA Un IVERSIDADE Ca TOLICA DO RIO DE JANEIRO 2
3. ee UI ivERSIDADE Car tica DO RIO DE JANEIRO Ses GraphicsLib Biblioteca Gr fica 2D Documentacao Edirlei Soares de Lima elimaDinf puc rio br 4 visioniab E AR Uni veEReIDADE Car ci n DO RIO DE JANEIRO Sum rio 1 Instala o e Configura o ona lit lit 4 2 Manual de CAC AO ein as 10 2 1 Estrutura de tim Pro PL GNA nido dat 10 POPA E oi 6 jo PAN 12 2 3 Coordenadas de Tela II Saad 14 2 4 Desenho de Primitivas GEOMETIICAS ccccccccccoononcnnnnnnnnononanncnnnnnnnonnnanonnnnnnnnonnnnnnnnnnnnnnonnnnnrnnnnnnnnonnnnss 15 PP lt A A 15 DD NN NG AO EE O AA RCA DURAR E RR 16 ZA CU usineiros 17 2AA OOP CINCO sas 18 A ONO dai AA da nd 19 24 6 Retan culo Preenchid Orcasitas 20 DAFT A UO io 21 2 4 8 Iriang lo Preencald Osiris indi 22 LO MONO occiso ED RR REPOR AA RR CR ED eTA 23 Ze AO Texto Varigvel Inteira atacados 24 ZA LL TEO Vara ve lrlOS tai nd eae eee 25 AN ele ecos AA e e EF 5 o ea ineinuenaaenenieenaies 26 2 4 13 Modificando a Cor de Fundo da Tela ccccccccnconoocccnnnnnonononanonononnnnnonnnnnnnnnnnnnononannnnnnnnnnns 27 2 4 14 Modificando a Largura das Linhas ira 28 Pe Outras FUNC OS e E E E E datada aas 29 2 5 1 Criando a Janela do Programa sin eleaninssesannseicanisassasavaereeiee 29 2 5 2 Executando o Programa em Tela Cheia ooocccconoccnncnnocnnnnnnonononanonnnnncnnnonaronnonanonnnnnarnnnonanonnos 30 2 5 3 Velocidade de Execu o do Programa FPS occccooonccnnn
4. 6 2 Desenhando uma Imagem Sintaxe void DrawImage2D int x int y int width int height Image image Exemplo Desenha a imagem mario na graphics DrawImage2D 200 200 256 256 mario posic o 200 200 com tamanho 256 256 na tela Ilustra o visioniab E AR Uni veEReIDADE Car ci n DO RIO DE JANEIRO 2 6 3 Observa es importantes sobre imagens e Somente s o aceitas imagens no formato PNG Mas isso n o uma limita o o formato PNG um dos melhores formatos para esse tipo de aplica o A principal vantagem que ele permite o uso de transpar ncia nas imagens e 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 as imagens est o para o comando LoadPNGImage e Se a sua imagem estiver em outro formado JPG GIF BMP voc deve convert la para o formato PNG antes de carrega la l A visioniab E E Usensip ns er tica DO RIO DE JANEIRO 2 7 Tratando Entradas do Teclado Para poder tratar os eventos gerados pelo teclado teclas sendo pressionadas necess rio criar uma func o para essa tarefa Essa func o deve ter a seguinte sintaxe void KeyboardInput unsigned char key int x int y Bloco de Comandos Tamb m necess rio indicar que essa a sua fun o para tratar evento
5. carro y carro y 4 y int main void graphics CreateMainWindow 800 600 Exemplo 03 Controle pelo Teclado graphics SetBackgroundColor 152 209 250 Carrega as imagens bloco chao graphics LoadPNGImage car_ground png carro 0 graphics LoadPNGImage car_down png carro 1 graphics LoadPNGImage car_left png carro 2 graphics LoadPNGImage car up png carro 3 graphics LoadPNGImage car_right png graphics SetKeyboardSpecialInput KeyboardSpecialInput graphics SetMainLoop MainLoop graphics StartMainLoop return 0 Z e visioniab Porter Wi vereiDADE Car bica DO RIO DE JANEIRO Resultado E a visioniab E AR Uni veEReIDADE Car cica DO RIO DE JANEIRO 3 4 Exemplo 04 Usando o Mouse Este exemplo utiliza as fun es de intera o pelo mouse para criar um pequeno jogo que representar o tabuleiro de um jogo de damas O jogador pode utilizar o mouse para colocar as pecas no tabuleiro clicando no local desejado include Graphics h include lt stdio h gt using namespace GraphicsLib Graphics graphics int tabuleiro 8 8 void MainLoop int x y bool invercala false for x O X lt 8 x for y 0 y lt 83 y if invercala true graphics SetColor 0 0 0 else graphics SetColor 255 255 255 J graphics FillRectangle2D 200 x 50 100 y 50 200 x 50 50 100 y 50 50 if
6. 4 Configuration Properties Ignore All Default Libraries General Ignore Specific Default Libraries Debugging Module Definition File Entes Add Module to Assembly D C C Embed Managed Resource File Linker General Input Force Symbol References Delay Loaded Dlls Assembly Link Resource Debugging System Optimization Embedded IDL Advanced Command Line gt Manifest Tool gt XML Document Generator gt Browse Information gt Build Events p Custom Build Step Additional Dependencies Specifies additional items to add to the link command line i e kernel32 lib 14 Selecione a op o Additional Dependencies e clique em lt Edit gt Teste Property Pages gt Common Properties 4 Configuration Properties 1 lib odbc32 lib odbccp32 lib AdditionalDependencies ap General Ignore ope AA Debugging Module Definition File VC Directories Add Module to Assembly gt C C Embed Managed Resource File Linker General Input Manifest File Debugging System Optimization Embedded IDL Advanced Command Line gt Manifest Tool gt XML Document Generator Force Symbol References Delay Loaded Dlls Assembly Link Resource gt Browse Information gt Build Events gt Custom Build Step 3 Additional Dependencies Specifies additional items to add to the link command line i e kernel32 lib A visioniab o N 1 J swersipape Lar c
7. ADE Car uica DO RIO DE JANEIRO int main void graphics CreateMainWindow 8 600 Exemplo 01 Casa graphics SetBackgroundColor 152 209 25 graphics SetMainLoop MainLoop graphics StartMainLoop return 0 Resultado K visionlab visualization laboratory Peter DIVERSIDADE Car cica DO RIO DE JANEIRO 3 2 Exemplo 02 Uso de Imagens Este exemplo utiliza imagens para criar um cen rio semelhante aos cen rios dos jogos da s rie Super Mario Para isso as seguintes imagens s o utilizadas elima intro prog exemplo2 mario imagens zi include Graphics h include lt stdio h gt using namespace GraphicsLib Graphics graphics Image bloco grama Image bloco_cano Image bloco_montanha void MainLoop int x for x 0 x lt 800 x 256 Desenha blocos de montanhas graphics DrawImage2D x 128 256 256 bloco montanha Desenha um cano graphics DrawImage2D 480 70 128 128 bloco_ cano for x 0 x lt 800 x 128 Desenha blocos de grama graphics DrawImage2D x 0 128 128 bloco grama visioniab PONTIFICIA UNIVERSIDADE Car uica DO RIO DE JANEIRO int main void graphics CreateMainWindow 800 600 Exemplo 02 Cenario Jogo 2D graphics SetBackgroundColor 152 209 250 Carrega as imagens bloco grama graphics LoadPNGImage mario ground png bloco cano graphics LoadPNGImage mario pipe png bloco monta
8. OLOGO No No No Yes No visioniab Porter Ulnivereroabe Car cica DO RIO DE JANEIRO 10 Selecione a op o Additional Library Directories e clique em lt Edit gt Teste Property Pages Le 23 Configuration Bator gt Common Properties Output File OutDir TargetName TargetExt 4 Configuration Properties Show Progress Not Set General Version Debugging Enable Incremental Linking Yes INCREMENTAL VC Directories Suppress Startup Banner Yes NOLOGO gt C C Linker General Input Manifest File Dependency Inputs Optimization Link Status Embedded IDL Prevent DII Binding Advanced Treat Linker Warning As Errors Command Line Force File Output gt Manifest Tool Create Hot Patchable Image gt XML Document Generator Specify Section Attributes gt Browse Information gt Build Events gt Custom Build Step Ignore Import Library No Register Output No Peral Additional Library Directories Link Library Dependencies Additional Library Directories Allows the user to override the environmental library path LIBPATH folder y Inherited values Inherit from parent or project defaults 12 Clique em OK visionlab Pontec Univereroae Car cica DO RIO DE JANEIRO 13 Selecione a opc o Linker e a sub opc o Input este Property Pa b Common Properties Additional Dependencies kernel32 lib user32 lib gdi32 lib winspool lib comdlg32 lib ad
9. Rectangle2D int x1 int y1 int x2 int y2 Exemplo Desenha um ret ngulo iniciando graphics DrawRectangle2D 100 100 200 200 na posi o 100 100 e indo at a posic o 200 200 Ilustra o vision ab Pontirfcia UNIVERSIDADE CATOLICA DO RIO DE JANEIRO 2 4 6 Ret ngulo Preenchido Sintaxe void FillRectangle2D int x1 int y1 int x2 int y2 Exemplo Desenha um ret ngulo graphics FillRectangle2D 100 100 200 200 preenchido iniciando na posi o 100 100 e indo at a posi o 200 200 Ilustra o m visioniab 2 4 7 Tri ngulo Sintaxe void DrawTriangle2D int x1 int y1 int x2 int y2 int x3 int y3 Exemplo Desenha um triangulo com o primeiro ponto na posic o 100 graphics DrawTriangle2D 100 100 200 100 150 200 lt 100 segundo ponto na posi o 200 100 e terceiro ponto na posi o 150 200 Ilustra o m visioniab 2 4 8 Tri ngulo Preenchido Sintaxe void FillTriangle2D int x1 int y1 int x2 int y2 int x3 int y3 Exemplo Desenha um tri ngulo preenchido com o primeiro ponto na posi o graphics FillTriangle2D 100 100 200 100 150 200 100 100 segundo ponto na posic o 200 100 e terceiro ponto na posic o 150 200 Ilustra o visioniab P NTIF CIA NIVERSIDADE 2 4 9 Texto Sintaxe void D
10. at b Exemplo Altera a cor do fundo da tela para o valor RGB 255 255 255 Ou graphics SetBackgroundColor 255 255 255 seja mistura o m ximo de todas as cores o que resulta em branco Ilustra o 4 aP visioniab P NTIF CIA U NIVERSIDADE Ca T LICA 2 4 14 Modificando a Largura das Linhas Sintaxe void SetLineWidth float width Exemplo Altera para 12 a largura das linhas graphics SetLineWidth 12 4 Usadas para desenhar as formas geom tricas Ilustra o vision ab E E UI vereiDADE TOCCA DO RIO DE JANEIRO 2 5 Outras Fun es 2 5 1 Criando a Janela do Programa Sintaxe void CreateMainWindow int sizeX int sizeY char title Exemplo Cria a janela principal do programa com o tamanho graphics CreateMainWindow 8 600 Nome da Janela lt p 800x600 e com o t tulo Nome da Janela Ilustra o 4 aP visioniab E E IAVEFSIDADE C TOLGA DO RIO DE JANEIRO 2 5 2 Executando o Programa em Tela Cheia Sintaxe void SetFullscreen bool enable Exemplo graphics SetFullscreen true Coloca o programa em tela cheia graphics SetFullscreen false lt Remove o programa da tela cheia L A visioniab E E UI vereiDADE ATOCIA DO RIO DE JANEIRO 2 5 3 Velocidade de Execu o do Programa FPS Sintaxe float GetFPS Exemplo fps graphics Ge
11. ccnncccnnnnonanononnnonanononnnnnnccnnnnononononnnonaninos 31 2 5 4 Velocidade de Execu o do Programa ElapsedTime cccccconccnnnncnnnccnnnnononacnnnnonanonnnnnonanonos 32 oo are ura e Altura ta Ja elastica cieas 33 lt visioniab E AR Uni veEReIDADE Car cica DO RIO DE JANEIRO 2 6 Desenhando IMABENS csseccccssscccceseccccesecccceeseceeeeececeeencceseuseceeseeceesuneeeets a ee 34 206 1 Cajrecando Uma Mat Mission 36 2 62 Desenhando uma MaE e asia OA dsna 37 2 6 3 Observa es importantes sobre iMagens cooocccnonoccnnnonoconnnnncnnnonanonnnnnaconnonanonnonnnonnnonaronnonanonnos 38 2 7 Tratando Entradas do Teclado rro 39 2 8 Tratando Cliques do MOUSE iii 42 2 9 Tratando o Movimento do MOUSB ooocccccnnnnccnnnnnononcnnnonononnnnnonononnnnnnnonnnrnnnnnonnnnnnnnonnnrnnnnonnnnrinnnnonannoss 43 SEXO PO iio in a OU p S add aa DR pd 44 3 1 Exemplo 01 Uso de Primitivas B SICAS oocccccoocconcnnocnnnnnanonnonanonnnnnaconnonanonnononcnnnnnnrrnnonanonnnnanonononas 44 3 2 Exemplo 02 Uso de IMAGENS sas scesvatscecstatssesareds6edaiadsastavebbsaceieuaraiedsiadededascedelisadedadbuccesaisiedetadieeiend 46 3 3 Exemplo 03 Usando O Teclado iria ins 48 3 4 Exemplo 04 Usando o Mouse sscccsssssseconssectenssscuensesceeoususeucuesscneusscnecussessouesseneussensousresseness 51 lt visioniab E E UI vereiDADE DET DO RIO DE JANEIRO 1 Instala o e Configura o 1 Fa a o
12. download da ultima vers o da biblioteca http www inf puc rio br elima intro pro 2 Descompacte o arquivo GraphicsLib_v1 2 zip de include 29 05 2012 10 41 File folder Je lib 29 05 2012 10 41 File folder 3 Crie um novo projeto no Microsoft Visual Studio 2010 Este projeto deve ser do tipo Win32 Console Application na linguagem C Para mais informa o sobre a cria o de um projeto siga as instru es deste tutorial de utilizac o do Visual Studio 2010 http www inf puc rio br elima intro prog IntroProg Aula 04 Introducao Visual Studio pdf 4 Acesse as propriedades do projeto clicando com o bot o da direita no nome do seu projeto og Solution Teste 1 project Teste Build Gull External Dependencies men Y Header Files Clean QE Resource Files Project Only y Source Files Profile Guided Optimization Main cpp Build Customizations Add gt References Class Wizard Ctrl Shift X fo ER View Class Diagram Set as StartUp Project Debug gt d Cut Ctrl X Paste Ctrl V X Remove Del Rename Unload Project Rescan Solution Open Folder in Windows Explorer 5 Selecione a op o C C e a sub op o General ei visioniab Porter Ulnivereroabe Car cica DO RIO DE JANEIRO este Property Configuntion Bat p Common Properties Additional Include Directories a Configuration Properties Resolve using Reference
13. e a fun o criada ser o Loop Principal do programa Exemplo include Graphics h using namespace GraphicsLib Graphics graphics void MainLoop Fun o que ser usada como Loop Principal do programa graphics SetColor 0 255 0 Define a cor que ser utilizada para desenhar objetos na tela Formato RGB graphics FillRectangle2D 100 100 400 200 Desenha um ret ngulo preenchido iniciando na posic o 100 100 e indo at 200 400 int main void graphics CreateMainWindow 800 600 Teste Define que a func o MainLoop graphics SetMainLoop MainLoop ser o Loop Principal do programa graphics StartMainLoop return 0 ee visioniab a indo at 200 400 na cor verde como ilustrado na figura abaixo Ez _A vision al E AR IGVEFSIDADE T NICA DO RIO DE JANEIRO 2 3 Coordenadas de Tela As coordenadas de tela s o definidas no sistema de coordenadas cartesiano onde o canto inferior esquerdo da tela do programa definido na coordenada X 0 e Y 0 Esse sistema de coordenadas ilustrado na figura abaixo 600 100 200 800 v4 e visioniab R ONTIF CIA NIVERSIDADE Ca T LICA a FA 7 Cr s ri 7 i A FA 2 4 Desenho de Primitivas Geom tricas A GraphicsLib fornece um conjunto de fun es para o desenho de primitivas geom tricas b sicas As pr ximas se es detalham essas fun es 2 4 1 Ponto Sinta
14. e do mouse usando a fun o SetMouseClickInput graphics SetMouseClickInput MouseClickInput Dessa forma sempre que um bot o do mouse for pressionado a fun o MouseClickInput ser executada e o par metro button indicar qual bot o foi pressionado Os par metros x e y indicam a posi o na tela em que mouse estava quando o clique foi realizado Exemplo Se o bot o esquerdo do mouse void MouseClickInput int button int state int x int y foi pressionado if button MOUSE LEFT BUTTON amp amp state MOUSE STATE DOWN 1 destino x x As variaveis destino_x e destino_y recebem destino_y y a posic o x e y do mouse no momento do y clique ou seja onde o usu rio clicou Os c digos dos bot es do mouse s o os seguintes e MOUSE LEFT_BUTTON e MOUSE MIDDLE BUTTON e MOUSE RIGHT BUTTON Os estados que estes bot es podem assumir s o os seguintes e MOUSE STATE DOWN e MOUSE STATE UP l m visioniab AT Umensin ns Car ci n DO RIO DE JANEIRO 2 9 Tratando o Movimento do Mouse Para poder tratar os eventos de movimento gerados pelo mouse necess rio criar uma fun o para essa tarefa Essa func o deve ter a seguinte sintaxe void MouseMotionInput int x int y Bloco de Comandos Tamb m necess rio indicar que essa a sua func o para tratar eventos de movimento do mouse usando a fun o SetMouseClickInput graphics SetMouseMotionInput MouseMotionInput
15. gr ficos 2 1 Estrutura de um Programa include Graphics h Inclus o da Biblioteca gr fica Indica o de que as fun es da biblioteca using namespace GraphicsLib 4 gr fica ser o usadas no contexto desse programa Inst ncia de um objeto do tipo Graphics que permite o uso das fun es gr ficas Graphics graphics int main void Cria uma janela de tamanho 800x600 com o t tulo Teste graphics StartMainLoop Inicia o Loop principal do programa wt graphics CreateMainWindow 800 600 Teste return 0 visionlab Ponrir cia Universipave Car Lica DO RIO DE JANEIRO O programa anterior simplesmente cria uma janela de tamanho 800x600 com o t tulo Teste como ilustrado na figura abaixo vision ab E AR Uni veEReIDADE C TOLGA DO RIO DE JANEIRO 2 2 Loop Principal O Loop Principal consiste de uma fun o que repetida enquanto o programa n o for fechado pelo usu rio Todo processamento realizado pelo programa gr fico est de alguma forma ligado ao Loop Principal No Loop Principal deve ser programado e Os objetos que ser o desenhados na tela e como eles ser o apresentados e Quais anima es e movimentos os objetos ter o e Toda a l gica do programa Para criar o Loop Principal do programa necess rio criar uma fun o que ser utilizada como Loop Principal Em seguida necess rio indicar qu
16. ion DO RIO DE JANEIRO 15 Digite Graphics lib Graphics libl 4 Inherited values kernel32 lib user32 lib gdi32 lib winspool lib comdlg32 lib Inherit from parent or project defaults 16 Clique em OK 17 Clique em OK para concluir a configurac o do projeto 7 Daras Configuration Platform Active Win32 Configuration Manager gt Common Properties DEAN Graphics lit tAdditionalDependencies 4 Configuration Properties Ignore All Default Libraries General Ignore Specific Default Libraries Debugging Module Definition File VC Directories Add Module to Assembly gt C C Embed Managed Resource File Linker Force Symbol References ci Delay Loaded Dlls input o Assembly Link Resource Manifest File Debugging System Optimization Embedded IDL Advanced Command Line gt Manifest Tool gt XML Document Generator Browse Information Build Events gt Custom Build Step Additional Dependencies Specifies additional items to add to the link command line i e kernel32 lib visioniab E AR Uni veEReIDADE C TOLGA DO RIO DE JANEIRO 2 Manual de Utiliza o A GraphicsLib uma biblioteca gr fica que contem um conjunto de fun es para cria o e manipula o de formas geom tricas 2D imagens janelas e controle da intera o pelo teclado e mouse Com ela poss vel criar jogos 2D simula es cientificas anima es e outros aplicativos
17. nha graphics LoadPNGImage mario background png graphics SetMainLoop MainLoop graphics StartMainLoop return 0 Resultado visioniab visualization laboratory E E Uni veran Car cica DO RIO DE JANEIRO 3 3 Exemplo 03 Usando o Teclado Este exemplo utiliza as fun es de intera o pelo teclado para criar um pequeno jogo que permite ao jogador controlar um carro usando as setas direcionais do teclado Para isso as seguintes imagens s o utilizadas elima intro pro include Graphics h include lt stdio h gt using namespace GraphicsLib Graphics graphics Image bloco_chao Image carro 4 Direcao na qual o carro esta virando int carro direcao 2 Posicao X do carro int carro_x 336 Posicao Y do carro int carro_y 236 void MainLoop int x y for x 0 x lt 800 x 256 for y 0 y lt 600 y 256 Desenha blocos do chao graphics DrawImage2D x y 256 256 bloco chao Desenha carro graphics DrawImage2D carro x carro y 128 128 carro carro direcao d visioniab E AR Uni veEReIDADE Car cica DO RIO DE JANEIRO void KeyboardSpecialInput int key int x int y if key KEY_LEFT carro direcao 1 carro x carro x 4 if key KEY RIGHT carro direcao 3 carro x carro x 4 if key KEY UP carro direcao 2 carro_y carro_y 4 if key KEY_DOWN carro direcao 0
18. r metro key indicar qual tecla foi pressionada Os par metros x e y indicam a posi o do mouse quando a tecla foi pressionada Exemplo void KeyboardSpecialInput int key int x int y Se a tecla direcional esquerda for if key KEY LEFT pressionada posicao personagem x posicao personagem x E 2 Decrementa em 2 uma vari vel que representa a posic o de um personagem Se a tecla direcional direita for if key KEY_RIGHT pressionada posicao_personagem_ x posicao_personagem_ x 2 Incrementa em 2 uma vari vel que representa a posi o de um personagem l A visioniab S A U uereiDADE ATOCIA DO RIO DE JANEIRO Os c digos das teclas especiais s o os seguintes e KEY LEFT e KEY UP e KEY RIGHT e KEY DOWN e KEY PAGE UP e KEY PAGE DOWN e KEY HOME e KEY END e KEY INSERT e KEY ESC e KEY F1 e KEY F2 e KEY F3 e KEY F4 e KEY FS e KEY F6 e KEY F7 e KEY F8 e KEY F9 e KEY FIO e KEY F11 e KEY F12 E e visioniab e E Uni verenane er tica DO RIO DE JANEIRO 2 8 Tratando Cliques do Mouse Para poder tratar os eventos gerados pelo mouse cliques do mouse necess rio criar uma func o para essa tarefa Essa func o deve ter a seguinte sintaxe void MouseClickInput int button int state int x int y Bloco de Comandos Tamb m necess rio indicar que essa a sua fun o para tratar eventos de cliqu
19. rawText2D int x int y char text Exemplo ll mw graphics DrawText2D 100 100 Hello World Escreve Hello World na posic o 100 100 da tela Ilustra o E E _ visioniab 2 4 10 Texto Vari vel Inteira Sintaxe void DrawTextInt2D int x int y int value Exemplo Escreve o valor atual armazenado graphics DrawTextInt2D 100 100 MinhaVariavel lt y oo na variavel inteira MinhaVariavel na posic o 100 100 da tela Ilustra o vision ab 2 4 11 Texto Vari vel Float Sintaxe void DrawTextFloat2D int x int y float value Exemplo Escreve o valor atual armazenado graphics DrawTextFloat2D 100 100 Valor3 t t na vari vel float Valor3 na posic o 100 100 da tela Ilustra o vision ab Pontirfcia UNIVERSIDADE CATOLICA DO RIO DE JANEIRO 2 4 12 Modificando a Cor Sintaxe void SetColor float r float g float b Altera a cor que ser usada para desenhar os objetos para o valor RGB 255 255 0 Ou seja mistura Exemplo graphics SetColor 255 255 0 lt _ o m ximo de vermelho com o m ximo de verde o que resulta em amarelo Ilustra o m visioniab E E UI vereiDADE C TOCCA DO RIO DE JANEIRO 2 4 13 Modificando a Cor de Fundo da Tela Sintaxe void SetBackgroundColor float r float g flo
20. s General Debug Information Format Program Database for Edit And Continue ZI Debugging Common Language RunTime Support Directories Suppress Startup Banner Yes nologo Warning Level Level3 W3 Treat Warnings As Errors No WX Multi processor Compilation Use Unicode For Assembler Listing ode Generation Language Precompiled Headers Output Files Browse Information Advanced Command Line gt Linker gt Manifest Tool gt XML Document Generator Browse Information gt Build Events gt Custom Build Step Specifies one or more directories to add to the include path separate with semi colons if more than one path 06 conce apo 6 Selecione a opc o Additional Include Directories e clique em lt Edit gt Teste Property Pages Configuration pisos b Common Properties Additional Include Directories 4 Configuration Properties Resolve using References General SE asmation Format Debugging Common Language RunTime Suppo VC Directories Suppress Startup Banner Yes nologo a C C Warning Level Level3 W3 General Treat Warnings As Errors No WX Optimization Preprocessor Code Generation Language Precompiled Headers Output Files Browse Information Advanced Command Line gt Linker gt Manifest Tool gt XML Document Generator gt Browse Information gt Build Events gt Custom Build Step Mul
21. s de teclado usando a fun o SetKeyboardinput graphics SetKeyboardInput KeyboardInput Dessa forma sempre que uma tecla normal do teclado for pressionada a fun o KeyboardInput ser executada e o par metro key indicar qual tecla foi pressionada Os par metros x e y indicam a posi o do mouse quando a tecla foi pressionada Exemplo void KeyboardInput unsigned char key int x int y if key f Se a letra f for pressionada graphics SetFullscreen true Coloca o programa em tela cheia if key w Se a letra w for pressionada Incrementa em 2 uma variavel posicao personagem x posicao personagem x 2 que representa a posi o de um personagem if key KEY_ESC Se a letra esc c digo 27 for pressionada sano 4 visioniab E E Uni veran er tica DO RIO DE JANEIRO al Algumas teclas especiais como por exemplo as setas direcionais do teclado requerem o uso de outra func o especifica para elas Essa funcao deve ter a seguinte sintaxe void KeyboardSpecialInput int key int x int y Bloco de Comandos Tamb m necess rio indicar que essa a sua fun o para tratar eventos de teclado especiais usando a fun o SetKeyboardSpeciallnput graphics SetKeyboardSpecialInput KeyboardSpecialInput Dessa forma sempre que uma tecla especiais do teclado for pressionada a fun o KeyboardSpeciallnput ser executada e o pa
22. sin DE T NICA DO RIO DE JANEIRO graphics SetMouseClickInput MouseClickInput graphics SetMainLoop MainLoop graphics StartMainLoop return 0 Resultado a visionials
23. tFPS t Coloca o n mero de frames por segundo na vari vel fps FPS Frames per Second Medida que nos indica quantos frames imagens consecutivos a placa de v deo est conseguindo gerar por segundo v4 e visioniab E E Uni veran Car cica DO RIO DE JANEIRO 2 5 4 Velocidade de Execucao do Programa ElapsedTime Sintaxe float GetElapsedTime Exemplo PosicaoX PosicaoX Speed graphics GetElapsedTime Calcula o deslocamento em X de forma independente da taxa de frames por segundo Isso muito importante pois permite que a velocidade do deslocamento seja independente da velocidade que o jogo est sendo executado Z m visioniab e E vereiDaDE C TOLGA DO RIO DE JANEIRO 2 5 5 Largura e Altura da Janela Sintaxe int GetScreenWidth int GetScreenHeight Exemplo Coloca a largura da tela na width graphics GetScreenWidth i vel width vari vel wi Coloca a altura da tela na vari vel height graphics GetScreenHeight heish eight ol A visioniab E AR Uni veEReIDADE Car ci n DO RIO DE JANEIRO 2 6 Desenhando Imagens Para desenhar uma imagem na tela necess rio 1 Criar uma vari vel do tipo Image Image minha imagem OBS Sempre declare as vari veis Image como vari veis globais Exemplo include Graphics h using namespace GraphicsLib Graphics graphics Vari veis Image declaradas no inicio
24. tabuleiro x y 1 graphics SetColor 255 0 0 graphics FillCircle2D 200 x 50 25 100 y 50 25 20 20 else if tabuleiro x y 2 graphics SetColor 0 255 0 graphics FillCircle2D 200 x 50 25 100 y 50 25 20 20 l A visioniab E AR Univerenane Car cica DO RIO DE JANEIRO invercala invercala invercala invercala void MouseClickInput int button int state int x int y if button LEFT_BUTTON amp amp state MOUSE STATE DOWN int selecionado_x x 50 200 50 int selecionado y y 50 100 50 if selecionado x gt 0 amp amp selecionado x lt 8 amp amp selecionado y gt 0 amp amp selecionado y lt 8 tabuleiro selecionado_x selecionado y 1 else if button RIGHT BUTTON amp amp state MOUSE STATE DOWN int selecionado x x 50 200 50 int selecionado y y 50 100 50 if selecionado x gt 0 amp amp selecionado x lt 8 amp amp selecionado y gt 0 amp amp selecionado y lt 8 tabuleiro selecionado_x selecionado y 2 int main void graphics CreateMainWindow 800 600 Exemplo 04 Controle pelo Mouse graphics SetBackgroundColor 100 100 100 int x y for x O X lt 8 XI for y 0 y lt 8 y tabuleiro x y 8 Inicializa tabuleiro na visioniab ATA Ubiven
25. ti processor Compilation Use Unicode For Assembler Listing Additional Include Directories Specifies one or more directories to add to the include path separate with semi colons if more than one path OK o Cancel O APP K visionlab ATA 1 J siwersipape Lar cion DO RIO DE JANEIRO 7 Selecione ou digite o caminho completo para a pasta include que est dento da pasta GraphicsLib Inherited values Inherit from parent or project defaults 8 Clique em OK 9 Selecione a op o Linker e a sub op o General gt Common Properties 4 Configuration Properties S OutDir S TargetName S TargetExt Show Progress Not Set General Debugging VC Directories a Linker General Input Manifest File Debugging System Optimization Embedded IDL Advanced Command Line gt Manifest Tool XML Document Generator b Browse Information gt Build Events gt Custom Build Step Version Enable Incremental Linking Suppress Startup Banner Ignore Import Library Register Output Per user Redirection Additional Library Directories Link Library Dependencies Use Library Dependency Inputs Link Status Prevent DII Binding Treat Linker Warning As Errors Force File Output Create Hot Patchable Image Specify Section Attributes Output File The OUT option overrides the default name and location of the program that the linker creates Yes INCREMENTAL Yes N
26. xe void DrawPoint2D int x int y Exemplo Desenha um ponto na posi o graphics DrawPoint2D 200 200 es p posi 200 200 da tela Ilustra o A visioniab P NTIF CIA J JIVERSIDADE a T LICA 2 4 2 Linha Sintaxe void DrawLine2D int x1 int y1 int x2 int y2 Exemplo Desenha uma linha saindo da graphics DrawLine2D 100 100 200 100 posic o 100 100 e indo at a posic o 200 100 Ilustra o vision ab NITICINASI A ITIFERS ITS ATAE ATA IG A P INTIFICIA U JIVERSIDADE Ca TOLICA a Cr T r A ON l i b 2 4 3 C rculo Sintaxe void DrawCircle2D int x int y int radius Exemplo i Desenha um c rcul raio 20 na graphics DrawCircle2D 200 200 20 lt _ _ __ esenha um circulo de raio posic o 200 200 da tela Ilustra o vision ab F ONTIF CIA U NIVERSIDADE Ca T LICA a FA Cr ri r i A FA 2 4 4 C rculo Preenchido Sintaxe void FillCircle2D int x int y int radius int segments Exemplo Desenha um c rculo preenchido de raio 2O com 30 segmentos na graphics FillCircle2D 200 200 20 30 posi o 200 200 da tela Quantos mais segmentos mais redondo o circulo ser Ilustra o vision ab R ONTIF CIA NIVERSIDADE Ca T LICA a FA Cr ri r A FA 2 4 5 Ret ngulo Sintaxe void Draw
Download Pdf Manuals
Related Search
Related Contents
GEOCACHING - Pays de Bergerac 7” HD 4 Touch Buttons User Manual MULTILIGHT LED Pocket manual D,GB,F 未命名 -1 - Data “個人情報”に関する不安 パソコンに関する「ダビング10」 - JEITA 一般社団法人電子情報技術産業 CAIT User Manual Contents concentric type (soft seated) butterfly valve maintenance Copyright © All rights reserved.
Failed to retrieve file