{"id":107,"date":"2014-08-20T21:55:13","date_gmt":"2014-08-21T00:55:13","guid":{"rendered":"http:\/\/www.galirows.com.br\/meublog\/gideros\/?page_id=107"},"modified":"2015-04-10T20:54:05","modified_gmt":"2015-04-10T23:54:05","slug":"codificacao-elementos-graficos","status":"publish","type":"page","link":"http:\/\/www.galirows.com.br\/meublog\/gideros\/capitulo-1-introducao\/codificacao-elementos-graficos\/","title":{"rendered":"Introdu\u00e7\u00e3o a codifica\u00e7\u00e3o \u2013 adicionar elementos gr\u00e1ficos"},"content":{"rendered":"<p>Um elemento primordial no desenvolvimento de games s\u00e3o os elementos gr\u00e1ficos e seu posicionamento na tela. A manipula\u00e7\u00e3o gr\u00e1fica no Gideros \u00e9 bastante simples e consiste na instancia\u00e7\u00e3o de uma imagem e sua inclus\u00e3o na \u00e1rea gr\u00e1fica. O c\u00f3digo a seguir instancia, na primeira linha, uma das imagens dispon\u00edveis no projeto (chamada field.png) que ser\u00e1 utilizada como fundo de tela (background). A segunda linha \u00e9 utilizada para adicionar a instancia na \u00e1rea de jogo (chamada de stage).<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-15 aligncenter\" src=\"http:\/\/www.galirows.com.br\/meublog\/gideros\/wp-content\/uploads\/sites\/3\/2014\/06\/image006.jpg\" alt=\"image006\" width=\"380\" height=\"33\" srcset=\"http:\/\/www.galirows.com.br\/meublog\/gideros\/wp-content\/uploads\/sites\/3\/2014\/06\/image006.jpg 380w, http:\/\/www.galirows.com.br\/meublog\/gideros\/wp-content\/uploads\/sites\/3\/2014\/06\/image006-300x26.jpg 300w\" sizes=\"auto, (max-width: 380px) 100vw, 380px\" \/><\/p>\n<p>A imagem relacionada no c\u00f3digo precisa estar incorporada no projeto. Isso \u00e9 feito clicando na pasta do projeto com o bot\u00e3o direito do mouse e escolhendo a op\u00e7\u00e3o \u201cAdd Existing Files\u201d e posteriormente selecionando os arquivos de imagem. A Figura 3 ilustra o acesso a adi\u00e7\u00e3o de arquivos no projeto e tamb\u00e9m \u00e9 poss\u00edvel visualizar a op\u00e7\u00e3o \u201cAdd New File\u201d que permite criar um novo script de programa\u00e7\u00e3o em LUA.<\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-16 aligncenter\" src=\"http:\/\/www.galirows.com.br\/meublog\/gideros\/wp-content\/uploads\/sites\/3\/2014\/06\/image007.png\" alt=\"image007\" width=\"293\" height=\"148\" \/>Figura 3. Adi\u00e7\u00e3o de novos elementos ao projeto<\/p>\n<p>Os elementos gr\u00e1ficos devem ser elaborados para uma determinada resolu\u00e7\u00e3o de tela. No caso da imagem de fundo, essa precisa ter largura e altura iguais a resolu\u00e7\u00e3o de tela. Em um jogo onde existe uma \u201cpassagem\u201d do fundo (como nos jogos side-scrolling), essa dever\u00e1 ter uma largura ou altura maior e ser feito o deslocamento do gr\u00e1fico conforme necess\u00e1rio. As duas imagens que est\u00e3o sendo utilizadas nesse tutorial est\u00e3o dispon\u00edveis na pasta \u201c\\Examples\\Graphics\\Jumping Ball\u201d a partir do diret\u00f3rio de instala\u00e7\u00e3o da Gideros.<\/p>\n<p>Destaca-se que a Gideros permite tratar automaticamente a escala do jogo para outras resolu\u00e7\u00f5es de tela. Esse recurso \u00e9 configurado na op\u00e7\u00e3o \u201cProperties\u201d acessada como visto na Figura 3. A tela de configura\u00e7\u00e3o do jogo \u00e9 mostrada na figura 4 onde \u00e9 poss\u00edvel visualizar a op\u00e7\u00e3o \u201cscale mode\u201d que permite solicitar esse ajuste autom\u00e1tico a v\u00e1rias resolu\u00e7\u00f5es.<\/p>\n<p style=\"text-align: center;\"><a href=\"http:\/\/www.galirows.com.br\/meublog\/gideros\/wp-content\/uploads\/sites\/3\/2014\/06\/image008.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-17 aligncenter\" src=\"http:\/\/www.galirows.com.br\/meublog\/gideros\/wp-content\/uploads\/sites\/3\/2014\/06\/image008.png\" alt=\"image008\" width=\"415\" height=\"177\" srcset=\"http:\/\/www.galirows.com.br\/meublog\/gideros\/wp-content\/uploads\/sites\/3\/2014\/06\/image008.png 415w, http:\/\/www.galirows.com.br\/meublog\/gideros\/wp-content\/uploads\/sites\/3\/2014\/06\/image008-300x127.png 300w\" sizes=\"auto, (max-width: 415px) 100vw, 415px\" \/><\/a>Figura 4. Janela de configura\u00e7\u00e3o das propriedades do jogo<\/p>\n<p>A figura 5 representa um peda\u00e7o de 3 execu\u00e7\u00f5es no jogo em escalas diferentes. A primeira tela representa a op\u00e7\u00e3o sem ajuste de escala (No Scale \u2013 Top Left) onde \u00e9 mostrada as imagens sem qualquer altera\u00e7\u00e3o nos tamanhos, fazendo com que os elementos gr\u00e1ficos devam ser exportados para v\u00e1rias resolu\u00e7\u00f5es de tela distintas.<\/p>\n<p>A segunda tela mostra o jogo com a op\u00e7\u00e3o de escala \u201c<em>crop\u201d<\/em> e a execu\u00e7\u00e3o em uma tela maior do que para a qual os gr\u00e1ficos foram elaborados. Observe que nessa segunda tela a imagem da bola aparece cortada na parte superior, isso porque o ajuste da resolu\u00e7\u00e3o acabou exigindo o corte de alguns pixels na altura do jogo. Observe tamb\u00e9m que para se adequar a uma resolu\u00e7\u00e3o maior a imagem perdeu qualidade gr\u00e1fica. Destaca-se que com essa configura\u00e7\u00e3o de escala o gr\u00e1fico n\u00e3o sofre distor\u00e7\u00e3o na propor\u00e7\u00e3o das imagens e isso \u00e9 um recurso importante em v\u00e1rios jogos como o apresentado, pois de outro modo a bola ficaria ovulada se as propor\u00e7\u00f5es n\u00e3o fossem mantidas. As op\u00e7\u00f5es de escala \u201c<em>stretch<\/em>\u201d, \u201c<em>fit width<\/em>\u201d e \u201c<em>fit height<\/em>\u201d s\u00e3o op\u00e7\u00f5es que ajustam a escala causando distor\u00e7\u00e3o na propor\u00e7\u00e3o das imagens.<\/p>\n<p>Por fim, a terceira imagem da Figura 5 mostra o jogo em escala \u201c<em>Pixel Perfect<\/em>\u201d que consegue manter o ajuste autom\u00e1tico sem cortar parte da cena e sem distorcer as imagens, mas para isso acaba gerando bordas ao redor da cena. Essa escala tamb\u00e9m acaba diminuindo a qualidade gr\u00e1fica.<\/p>\n<p style=\"text-align: center;\"><a href=\"http:\/\/www.galirows.com.br\/meublog\/gideros\/wp-content\/uploads\/sites\/3\/2014\/08\/dim0.png\"><img loading=\"lazy\" decoding=\"async\" class=\" size-full wp-image-109 aligncenter\" src=\"http:\/\/www.galirows.com.br\/meublog\/gideros\/wp-content\/uploads\/sites\/3\/2014\/08\/dim0.png\" alt=\"dim0\" width=\"385\" height=\"456\" srcset=\"http:\/\/www.galirows.com.br\/meublog\/gideros\/wp-content\/uploads\/sites\/3\/2014\/08\/dim0.png 385w, http:\/\/www.galirows.com.br\/meublog\/gideros\/wp-content\/uploads\/sites\/3\/2014\/08\/dim0-253x300.png 253w\" sizes=\"auto, (max-width: 385px) 100vw, 385px\" \/><\/a>Figura 5. Peda\u00e7os da cena do jogo em algumas op\u00e7\u00f5es de escala<\/p>\n<p>Na figura 4 ainda \u00e9 poss\u00edvel verificar outros elementos de configura\u00e7\u00e3o, como a configura\u00e7\u00e3o das dimens\u00f5es da tela (logical dimensions), onde \u00e9 poss\u00edvel definir a largura e altura para a qual o jogo \u00e9 objetivado; a orienta\u00e7\u00e3o da tela, podendo o jogo ser projetado para visualiza\u00e7\u00e3o em orienta\u00e7\u00e3o retrato (portrait) e paisagem (landscape). A orienta\u00e7\u00e3o tamb\u00e9m permite algo que seria o uso em orienta\u00e7\u00e3o retrato de \u201ccabe\u00e7a para baixo\u201d, bem como paisagem de \u201ccabe\u00e7a para baixo\u201d; por fim tamb\u00e9m \u00e9 pode-se observar a op\u00e7\u00e3o FPS (frames per second) que \u00e9 uma configura\u00e7\u00e3o de quantos frames o jogo mostrar\u00e1 a cada segundo. Quanto maior a quantidade de frames maior o custo computacional, mas melhor ser\u00e1 a visualiza\u00e7\u00e3o e a resposta aos comandos.<\/p>\n<p>Com rela\u00e7\u00e3o a taxa de FPS, a Gideros somente permite a op\u00e7\u00e3o de 30 e 60 frames por segundo. 30 FPS \u00e9 o que uma pessoa consegue realmente visualizar e pode ser utilizada em diversos jogos em que a resposta aos comandos n\u00e3o \u00e9 essencial, como jogos de racioc\u00ednio. Para jogos que envolvem reflexo, como jogos de a\u00e7\u00e3o, \u00e9 recomend\u00e1vel utilizar 60 FPS pois o jogo responder\u00e1 mais rapidamente aos comandos do jogador.<\/p>\n<h2>Plano cartesiano<\/h2>\n<p>Antes de dar continuidade codifica\u00e7\u00e3o do jogo \u00e9 preciso ter conhecimento de um conceito primordial. Para o desenvolvimento de jogos \u00e9 importante entender como \u00e9 realizado o posicionamento dos elementos gr\u00e1ficos e para isso \u00e9 preciso entender o plano cartesiano (Relembre os conceitos a partir de: <a href=\"http:\/\/www.youtube.com\/watch?v=y2r8UfK0LTg\" target=\"_blank\">http:\/\/www.youtube.com\/watch?v=y2r8UfK0LTg<\/a>). No caso de jogos 2D \u00e9 utilizado o plano cartesiano bidimensional, enquanto jogos 3D precisam da manipula\u00e7\u00e3o do plano cartesiano tridimensional (que n\u00e3o ser\u00e1 abordado nessa obra).<\/p>\n<p>O plano cartesiano bidimensional como \u00e9 apresentado na escola \u00e9 como o mostrado na Figura 6, onde existe um eixo horizontal (denominado eixo X) e um eixo vertical (denominado eixo Y). Onde esses eixos se cruzam \u00e9 estabelecido como <strong>ponto de origem<\/strong> do plano e referenciado como <strong>0,0<\/strong> onde o primeiro valor (antes da v\u00edrgula) representa o valor no eixo X e o segundo valor (depois da v\u00edrgula) representa o valor no eixo Y. Aumentando o valor de X se tem pontos mais para a direita e aumentando os valores de Y tempos pontos mais para cima. O plano cartesiano \u00e9 representado normalmente tendo o <strong>ponto de origem<\/strong> no centro do plano.<\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"  wp-image-23 aligncenter\" src=\"http:\/\/www.galirows.com.br\/meublog\/gideros\/wp-content\/uploads\/sites\/3\/2014\/06\/image014.gif\" alt=\"image014\" width=\"254\" height=\"235\" \/> Figura 6. Representa\u00e7\u00e3o tradicional do plano cartesiano<\/p>\n<p>A ideia do plano cartesiano \u00e9 mantida no computador, mas com uma altera\u00e7\u00e3o. Repare na Figura 7 que existe uma diferen\u00e7a no eixo Y (no eixo X n\u00e3o existe mudan\u00e7a). Veja que quando os valores de Y aumentam, o ponto acaba sendo mais para baixo (ao contr\u00e1rio do visto antes).<\/p>\n<p style=\"text-align: center;\"><a href=\"http:\/\/www.galirows.com.br\/meublog\/gideros\/wp-content\/uploads\/sites\/3\/2014\/06\/image016.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\" size-full wp-image-25 aligncenter\" src=\"http:\/\/www.galirows.com.br\/meublog\/gideros\/wp-content\/uploads\/sites\/3\/2014\/06\/image016.jpg\" alt=\"image016\" width=\"225\" height=\"225\" srcset=\"http:\/\/www.galirows.com.br\/meublog\/gideros\/wp-content\/uploads\/sites\/3\/2014\/06\/image016.jpg 225w, http:\/\/www.galirows.com.br\/meublog\/gideros\/wp-content\/uploads\/sites\/3\/2014\/06\/image016-150x150.jpg 150w\" sizes=\"auto, (max-width: 225px) 100vw, 225px\" \/> <\/a>Figura 7. Plano cartesiano do computador.<\/p>\n<p>Outra diferen\u00e7a existente na representa\u00e7\u00e3o no computador \u00e9 que o ponto de origem n\u00e3o \u00e9 no centro do plano, sendo considerando no canto superior esquerdo. Isso faz com que os valores negativos de X e Y formem posi\u00e7\u00f5es fora da tela do computador. A Figura 8 mostra onde est\u00e1 o ponto de origem da cena que \u00e9 exibida e tamb\u00e9m de um elemento gr\u00e1fico inserido na cena (a bola). A origem considera sempre a orienta\u00e7\u00e3o retrato (portrait), mesmo que o jogo seja executado em uma orienta\u00e7\u00e3o diferente.<\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\" size-full wp-image-108 aligncenter\" src=\"http:\/\/www.galirows.com.br\/meublog\/gideros\/wp-content\/uploads\/sites\/3\/2014\/08\/dim1.png\" alt=\"dim1\" width=\"422\" height=\"272\" srcset=\"http:\/\/www.galirows.com.br\/meublog\/gideros\/wp-content\/uploads\/sites\/3\/2014\/08\/dim1.png 422w, http:\/\/www.galirows.com.br\/meublog\/gideros\/wp-content\/uploads\/sites\/3\/2014\/08\/dim1-300x193.png 300w\" sizes=\"auto, (max-width: 422px) 100vw, 422px\" \/> Figura 8. Ponto de origem da cena e do elemento gr\u00e1fico<\/p>\n<p>A posi\u00e7\u00e3o 0,0 destaca na bola \u00e9 o ponto de origem do elemento gr\u00e1fico da bola. Mesmo sendo um c\u00edrculo, os elementos gr\u00e1ficos s\u00e3o sempre considerados em forma retangular. Essa bola tem sua origem posicionada dentro da cena em posi\u00e7\u00e3o 120,20, manipula\u00e7\u00e3o que ser\u00e1 vista a seguir.<\/p>\n<h2>Adicionando outro elemento gr\u00e1fico ao jogo<\/h2>\n<p>Tendo entendido como posicionar elementos gr\u00e1ficos no plano, vamos adicionar e posicionar um novo elemento gr\u00e1fico (a bola) ao jogo e posiciona-lo na cena. O c\u00f3digo abaixo realiza essa tarefa.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-30 aligncenter\" src=\"http:\/\/www.galirows.com.br\/meublog\/gideros\/wp-content\/uploads\/sites\/3\/2014\/06\/image021.png\" alt=\"image021\" width=\"392\" height=\"68\" srcset=\"http:\/\/www.galirows.com.br\/meublog\/gideros\/wp-content\/uploads\/sites\/3\/2014\/06\/image021.png 392w, http:\/\/www.galirows.com.br\/meublog\/gideros\/wp-content\/uploads\/sites\/3\/2014\/06\/image021-300x52.png 300w\" sizes=\"auto, (max-width: 392px) 100vw, 392px\" \/><\/p>\n<p>A primeira e a \u00faltima foram explicadas anteriormente. Destaca-se aqui a segunda e terceira linhas que realizam o posicionamento da boa. Isso \u00e9 feito atrav\u00e9s das instru\u00e7\u00f5es setX e setY alterando, respectivamente, as coordenadas X e Y do gr\u00e1fico. Se n\u00e3o definida a posi\u00e7\u00f5es X e Y, por padr\u00e3o \u00e9 atribu\u00eddo zero para cada coordenada, o que faria a bola ser posicionada no canto superior esquerdo da cena. O posicionamento na coordenada 120,20 gera um resultado como mostrado anteriormente na Figura 8.<\/p>\n<p>Digamos que agora precisamos posicionar a bola no centro com rela\u00e7\u00e3o a largura da cena. Em um primeiro momento poder\u00edamos pensar na seguinte forma: pegamos a largura da cena (no nosso caso 320) e dividimos por 2, pegando o meio da cena. O c\u00f3digo abaixo ilustra essa defini\u00e7\u00e3o. Em vez de solicitar a opera\u00e7\u00e3o aritm\u00e9tica, tamb\u00e9m poderia ser fornecido o diretamente o resultado da opera\u00e7\u00e3o, no caso 160, dispensando esse processamento.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-32 aligncenter\" src=\"http:\/\/www.galirows.com.br\/meublog\/gideros\/wp-content\/uploads\/sites\/3\/2014\/06\/image023.png\" alt=\"image023\" width=\"133\" height=\"17\" \/><\/p>\n<p>A figura 9 mostra como fica posicionada a bola com a aplica\u00e7\u00e3o dessa coordenada X e vemos que o gr\u00e1fico n\u00e3o ficou posicionado exatamente no meio. A figura 10 ajuda a entender o motivo desse posicionamento n\u00e3o ter funcionado. A linha em azul corta a cena ao meio, no coordenada 160 em X. As setas em vermelho possuem intersec\u00e7\u00e3o na origem do objeto, sendo que \u00e9 essa origem do objeto que posicionamos no atrav\u00e9s das instru\u00e7\u00f5es setX e setY. Da maneira como solicitamos o posicionamento do elemento gr\u00e1fico fez com que ele come\u00e7asse a partir do centro da cena.<\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\" size-full wp-image-33 aligncenter\" src=\"http:\/\/www.galirows.com.br\/meublog\/gideros\/wp-content\/uploads\/sites\/3\/2014\/06\/image024.png\" alt=\"image024\" width=\"321\" height=\"92\" srcset=\"http:\/\/www.galirows.com.br\/meublog\/gideros\/wp-content\/uploads\/sites\/3\/2014\/06\/image024.png 321w, http:\/\/www.galirows.com.br\/meublog\/gideros\/wp-content\/uploads\/sites\/3\/2014\/06\/image024-300x85.png 300w\" sizes=\"auto, (max-width: 321px) 100vw, 321px\" \/> Figura 9. Resultado da tentativa de posicionar a bola no centro da cena<\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"  wp-image-111 aligncenter\" src=\"http:\/\/www.galirows.com.br\/meublog\/gideros\/wp-content\/uploads\/sites\/3\/2014\/08\/figura10.png\" alt=\"figura10\" width=\"336\" height=\"112\" srcset=\"http:\/\/www.galirows.com.br\/meublog\/gideros\/wp-content\/uploads\/sites\/3\/2014\/08\/figura10.png 363w, http:\/\/www.galirows.com.br\/meublog\/gideros\/wp-content\/uploads\/sites\/3\/2014\/08\/figura10-300x100.png 300w\" sizes=\"auto, (max-width: 336px) 100vw, 336px\" \/> Figura 10. Destaques na imagem para explicar o posicionamento no centro da cena<\/p>\n<p>Para o correto posicionamento da bola no centro da largura da cena precisamos colocar o centro da largura da bola no centro da largura da cena. Para isso precisamos posicionar a bola mais a esquerda, diminuindo sua coordenada X. O elemento gr\u00e1fico da bola possui largura de 80 pixels, ent\u00e3o poder\u00edamos em um segundo momento fazer o seguinte c\u00e1lculo para a posi\u00e7\u00e3o: 160 da posi\u00e7\u00e3o X central da cena subtra\u00eddos os 80 pixels da largura da bola, resultando na posi\u00e7\u00e3o 80. O resultado dessa nova posi\u00e7\u00e3o \u00e9 mostrado na figura 11 onde vemos que nossa tentativa foi novamente frustrada j\u00e1 que a bola ficou posicionada muito para a esquerda. Isso aconteceu pois consideramos toda a largura da bola, enquanto o que precis\u00e1vamos era descontar apenas at\u00e9 o centro dela, ou seja 40 pixels. Se colocarmos a posi\u00e7\u00e3o X com valor 120 (160 \u2013 40), o resultado ser\u00e1 o esperado (mostrado na figura 12).<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\" size-full wp-image-112 aligncenter\" src=\"http:\/\/www.galirows.com.br\/meublog\/gideros\/wp-content\/uploads\/sites\/3\/2014\/08\/image024_.png\" alt=\"image024_\" width=\"321\" height=\"92\" srcset=\"http:\/\/www.galirows.com.br\/meublog\/gideros\/wp-content\/uploads\/sites\/3\/2014\/08\/image024_.png 321w, http:\/\/www.galirows.com.br\/meublog\/gideros\/wp-content\/uploads\/sites\/3\/2014\/08\/image024_-300x85.png 300w\" sizes=\"auto, (max-width: 321px) 100vw, 321px\" \/> Figura 11. Resultado da nova tentativa de posicionar a bola no centro da cena<\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\" size-full wp-image-35 aligncenter\" src=\"http:\/\/www.galirows.com.br\/meublog\/gideros\/wp-content\/uploads\/sites\/3\/2014\/06\/image026.png\" alt=\"image026\" width=\"321\" height=\"95\" srcset=\"http:\/\/www.galirows.com.br\/meublog\/gideros\/wp-content\/uploads\/sites\/3\/2014\/06\/image026.png 321w, http:\/\/www.galirows.com.br\/meublog\/gideros\/wp-content\/uploads\/sites\/3\/2014\/06\/image026-300x88.png 300w\" sizes=\"auto, (max-width: 321px) 100vw, 321px\" \/> Figura 12. Resultado da nova tentativa de posicionar a bola no centro da cena<\/p>\n<p>Existe uma maneira melhor para especificar o posicionamento que queremos e esse modo \u00e9 mostrado no c\u00f3digo a seguir, onde \u00e9 utilizada uma instru\u00e7\u00e3o que retornam o tamanho da largura da tela (stage:getWidth) e\u00a0 outra instru\u00e7\u00e3o que retorna a largura da bola (ball:getWidth , onde ball \u00e9 o nome definido anteriormente no c\u00f3digo para o elemento gr\u00e1fico da bola). A utiliza\u00e7\u00e3o dessas instru\u00e7\u00f5es \u00e9 interessante para permitir que o script possa ser reutilizado mesmo com elementos gr\u00e1ficos de tamanho diferentes, caso se pretenda fazer vers\u00f5es do jogo para resolu\u00e7\u00f5es de tela diferentes.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-36 aligncenter\" src=\"http:\/\/www.galirows.com.br\/meublog\/gideros\/wp-content\/uploads\/sites\/3\/2014\/06\/image027.png\" alt=\"image027\" width=\"393\" height=\"16\" srcset=\"http:\/\/www.galirows.com.br\/meublog\/gideros\/wp-content\/uploads\/sites\/3\/2014\/06\/image027.png 393w, http:\/\/www.galirows.com.br\/meublog\/gideros\/wp-content\/uploads\/sites\/3\/2014\/06\/image027-300x12.png 300w\" sizes=\"auto, (max-width: 393px) 100vw, 393px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: center;\"><strong><span style=\"color: #ff6600;\">Pr\u00f3ximo passo: \u00a0<a style=\"color: #ff6600;\" title=\"Introdu\u00e7\u00e3o a codifica\u00e7\u00e3o \u2013 adicionando movimento ao jogo\" href=\"http:\/\/www.galirows.com.br\/meublog\/gideros\/capitulo-1-introducao\/movimento\/\">adicionar movimento ao jogo<\/a><\/span><\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Um elemento primordial no desenvolvimento de games s\u00e3o os elementos gr\u00e1ficos e seu posicionamento na tela. A manipula\u00e7\u00e3o gr\u00e1fica no Gideros \u00e9 bastante simples e consiste na instancia\u00e7\u00e3o de uma imagem e sua inclus\u00e3o na \u00e1rea gr\u00e1fica. O c\u00f3digo a seguir instancia, na primeira linha, uma das imagens dispon\u00edveis no projeto (chamada field.png) que ser\u00e1 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":122,"menu_order":2,"comment_status":"open","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-107","page","type-page","status-publish","hentry"],"aioseo_notices":[],"_links":{"self":[{"href":"http:\/\/www.galirows.com.br\/meublog\/gideros\/wp-json\/wp\/v2\/pages\/107","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.galirows.com.br\/meublog\/gideros\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/www.galirows.com.br\/meublog\/gideros\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/www.galirows.com.br\/meublog\/gideros\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.galirows.com.br\/meublog\/gideros\/wp-json\/wp\/v2\/comments?post=107"}],"version-history":[{"count":6,"href":"http:\/\/www.galirows.com.br\/meublog\/gideros\/wp-json\/wp\/v2\/pages\/107\/revisions"}],"predecessor-version":[{"id":145,"href":"http:\/\/www.galirows.com.br\/meublog\/gideros\/wp-json\/wp\/v2\/pages\/107\/revisions\/145"}],"up":[{"embeddable":true,"href":"http:\/\/www.galirows.com.br\/meublog\/gideros\/wp-json\/wp\/v2\/pages\/122"}],"wp:attachment":[{"href":"http:\/\/www.galirows.com.br\/meublog\/gideros\/wp-json\/wp\/v2\/media?parent=107"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}