. Ele ensina como inserir uma no HTML, obter seu contexto no JavaScript e usar métodos como fillRect(), strokeRec... by gilberto8silva-10 in Orphan Interests > Software">. Ele ensina como inserir uma no HTML, obter seu contexto no JavaScript e usar métodos como fillRect(), strokeRect(), moveTo(), lineTo() e arc() para desenhar formas geométricas como retângulos, linhas, círculos e arcos em diferentes cores."> Nothing Special » Address: [go: up one dir, main page] Include Form Remove Scripts Accept Cookies Show Images Show Referer Rotate13 Base64 Strip Meta Strip Title Session Cookies Abrir o menu de navegaçãoFechar sugestõesPesquisarPesquisarptChange LanguageMudar o idiomaCarregarCarregando...Carregando...Configurações de usuárioclose menuBem-vindo(a) ao Scribd!CarregarLeia gratuitamentePerguntas frequentes e SuporteIdioma (PT)Fazer login0 notas0% acharam este documento útil (0 voto)100 visualizaçõesTUTORIAL GAMES - Usando o Canvas - Aula 01Enviado porGilberto Silva Aprimorado por IAO documento explica como criar jogos simples em HTML5 usando a tag <canvas>. Ele ensina como inserir uma <canvas> no HTML, obter seu contexto no JavaScript e usar métodos como fillRect(), strokeRect(), moveTo(), lineTo() e arc() para desenhar formas geométricas como retângulos, linhas, círculos e arcos em diferentes cores.Direitos autorais:© All Rights ReservedFormatos disponíveisBaixe no formato DOCX, PDF, TXT ou leia online no ScribdBaixarSalvarSalvar TUTORIAL GAMES - Usando o Canvas - Aula 01 para ler mais tarde0%0% acharam este documento útil, Marcar esse documento como útil0%0% acharam que esse documento não foi útil, Marcar esse documento como não foi útilIncorporarCompartilharImprimirRelatórioTUTORIAL GAMES - Usando o Canvas - Aula 01Enviado porGilberto Silva 0 notas0% acharam este documento útil (0 voto)100 visualizações15 páginasDescrição aprimorada por IADados do documentoclique para ver informações do documentoO documento explica como criar jogos simples em HTML5 usando a tag <canvas>. Ele ensina como inserir uma <canvas> no HTML, obter seu contexto no JavaScript e usar métodos como fillRect(), strokeRect(), moveTo(), lineTo() e arc() para desenhar formas geométricas como retângulos, linhas, círculos e arcos em diferentes cores.Descrição original: Direitos autorais© © All Rights ReservedFormatos disponíveisDOCX, PDF, TXT ou leia online no ScribdCompartilhar este documentoCompartilhar ou incorporar documentoOpções de compartilhamentoCompartilhe no Facebook, uma nova janela será abertaFacebookCompartilhe no Twitter, uma nova janela será abertaTwitterCompartilhe no LinkedIn, uma nova janela será abertaLinkedInCompartilhe com e-mail, uma nova janela será abertaE-mailCopiar linkCopiar linkVocê considera este documento útil?0%0% acharam este documento útil, Marcar esse documento como útil0%0% acharam que esse documento não foi útil, Marcar esse documento como não foi útilEste conteúdo é inapropriado?RelatórioO documento explica como criar jogos simples em HTML5 usando a tag <canvas>. Ele ensina como inserir uma <canvas> no HTML, obter seu contexto no JavaScript e usar métodos como fillRect(), strokeRect(), moveTo(), lineTo() e arc() para desenhar formas geométricas como retângulos, linhas, círculos e arcos em diferentes cores.Direitos autorais:© All Rights ReservedFormatos disponíveisBaixe no formato DOCX, PDF, TXT ou leia online no ScribdFazer o download agora mesmoFazer download em docx, pdf ou txtSalvarSalvar TUTORIAL GAMES - Usando o Canvas - Aula 01 para ler mais tarde0 notas0% acharam este documento útil (0 voto)100 visualizações15 páginasTUTORIAL GAMES - Usando o Canvas - Aula 01Enviado porGilberto Silva Descrição aprimorada por IAO documento explica como criar jogos simples em HTML5 usando a tag <canvas>. Ele ensina como inserir uma <canvas> no HTML, obter seu contexto no JavaScript e usar métodos como fillRect(), strokeRect(), moveTo(), lineTo() e arc() para desenhar formas geométricas como retângulos, linhas, círculos e arcos em diferentes cores.Direitos autorais:© All Rights ReservedFormatos disponíveisBaixe no formato DOCX, PDF, TXT ou leia online no ScribdSalvarSalvar TUTORIAL GAMES - Usando o Canvas - Aula 01 para ler mais tarde0%0% acharam este documento útil, Marcar esse documento como útil0%0% acharam que esse documento não foi útil, Marcar esse documento como não foi útilIncorporarCompartilharImprimirRelatórioFazer o download agora mesmoFazer download em docx, pdf ou txtPular para a página Você está na página 1de 15Pesquisar no documento Tutorial: Jogos em HTML5 – Parte 1:Usando o Canvas7 de novembro de 2013 Thalisson Christiano de Almeida Tutoriais Desde seu anúncio oficial, o HTML5 estátrazendo altas expectativas. Youtube está largando o Flash para HTML5, assim comoestá bombando de aplicativos em HTML5 em Chrome Store, Firefox OS, etc. Uma dasgrandes expectativas em cima do HTML 5 são os jogos que utilizam navegadores, queuma vez não dependendo de plugins para funcionar, vão ter maior portabilidade entrenavegadores e aparelhos e sem serem afetados com discussões das grandes empresas.Afinal foi isso que ocorreu no caso do Adobe x Apple, em que resultou em diversosusuários da Apple não tendo mais suporte nativo ao Flash.Hoje, aprenderemos como utilizar a nova tag <CANVAS>, que é a principal tag queestá permitindo a nova onda de jogos de navegadores.Como o HTML comum, você pode fazer o seu código em um editor robusto, mastambém em um mais simples como o Bloco de Notas. Vamos nesse último por sersimples de achar. Só se lembre de salvar como página de internet (extensão .html) paraver o resultado.Uma nova tag chegouA tag <Canvas> é uma das novas tags que chegaram com o HTML5. Suafuncionalidade é simples: permitir a renderização de imagens criadas em tempo deexecução, o que torna perfeito para os jogos. Quem já programou jogos para celularesno J2ME vai notar muitas semelhanças na forma de mexer com a classe Canvas.Em um código HTML, a Canvas pode ser inserida da seguinte forma:Arquivo HTML:1 <!DOCTYPE HTML>2 <html>3 <body>4 <canvas id=”game” width=800 height=600>5 Seu navegador não suporta HTML 56 </canvas>7 </body>8 </html>No código acima, temos na linha 1 a definição que indica ao navegador que vamosutilizar o HTML5. Na linha 4, estamos inserindo a nossa Canvas. É mandatório nósdefinirmos os atributos Width (largura) e Height (altura), pois são eles que vãodeterminar o tamanho de nossa Canvas. O atributo ID é utilizado para termos umareferência para o Javascript. Caso o navegador não suporte a tag, entre as tags <canvas>e </canvas> tem uma mensagem de aviso.Se nós tentarmos executar o código como ele está, provavelmente não veremos nada,porque a canvas é uma imagem inicialmente transparente, portanto assumirá a cor defundo do site. Para facilitar o nosso estudo, vamos adicionar uma borda nela utilizandoCSS:Arquivo HTML:4 <canvas id=”game” width=800 height=600 style=”border:solid”>Com isso, podemos agora visualizar uma borda em volta de nossa Canvas. É importanteter em mente como é o sistema de coordenadas da Canvas. A sua origem está no cantosuperior esquerdo. O eixo horizontal (eixo X) cresce para direita, assim como o eixovertical (eixo Y) cresce para baixo, conforme mostra a imagem abaixo:Estou desenhandoAgora que expliquei como inserir a Canvas, vamos desenhar nela. Para isso, vamos criarum arquivo Javascript. Neste tutorial, vou dar o nome de “tutorial.js” para o arquivo quecontém o javascript. Uma vez criado o arquivo, devemos dizer ao HTML para carregá-lo. Para isso, vamos adicionar o seguinte código logo após o HTML:Arquivo HTML:2 <html>3 <head>4 <script src=”tutorial.js”></script>5 </head>6 <body>A linha 4 é que onde fazemos o carregamento do arquivo Javascript. Agora que o scripté carregado, vamos desenhar na nossa Canvas. Para isso, vamos criar uma função, quechamarei de “tutorialDesenho()” onde vamos mostrar cada comando de desenhodisponível.tutorial.js1 function tutorialDesenho(){2 //O código vai vir aqui3 }Para ser mais prático, vamos já configurar a execução da função utilizando o evento“onLoad” do HTML. Então, modificaremos a linha 6 do arquivo da seguinte forma:Arquivo HTML6 <body >Executamos a função “tutorialDesenho()” para ser executado assim que o HTML fortotalmente carregado, isso porque se nós executarmos direto o script, ocorrerá um erro.Esse erro ocorre porque estamos tentando acessar a Canvas antes da mesma não sercarregada. Portanto, lembre-se de que se for modificar qualquer elemento HTML viaJavascript, certifique-se que a página já foi totalmente carregada.Agora que temos a nossa função pronta, foi declarada e está devidamente configuradapara executar quando a página terminar de carregar, vamos então aos códigos.A primeira coisa que deve fazer antes de desenhar na Canvas pelo Javascript é obter oContexto da Canvas. É o Contexto que fornece os métodos que permitem a nósdesenhar na Canvas, e por isso é essencial dominá-lo. Vamos adicionar o seguintecódigo na nossa função:tutorial.js1 function tutorialDesenho(){2 var canvas = document.getElementById(“game”);3 var contexto = canvas.getContext(“2d”);4 }Na linha 2, nós obtemos a referência do Canvas, cujo parâmetro passado é o ID definidono arquivo HTML. Na linha 3, nós pegamos o contexto. O “2d” significa que vamosmexer com gráficos 2D. Existe o parâmetro “WebGL” que serve para gráficos 3D,entretanto, é muito pouco utilizado porque recentemente os navegadores estão criandosuporte para o WebGL. RetângulosAgora que temos os contextos, vamos desenhar. A partir de agora, vou utilizar a linha 4como nossa cobaia de testes, começando a desenhar um retângulo preenchido:tutorial.js1 function tutorialDesenho(){2 var canvas = document.getElementById(“game”);3 var contexto = canvas.getContext(“2d”);4 contexto.fillRect(100,100,150,75);5 }Note que na linha 4 utilizamos a variável “contexto” para invocar o método “fillRect()”,que possui quatro parâmetros na respectiva ordem: posição x do canto superioresquerdo, posição y do canto superior esquerdo, largura e altura. Como demonstrado naimagem abaixo:Caso não queira um retângulo preenchido, podemos fazer um retângulo vazio com oseguinte código:tutorial.js5 contexto.strokeRect(490,400,150,75);6 }Os parâmetros são os mesmos que os do “fillRect()”, a posição x, a posição y, largura ealtura. Esse código resultará em uma imagem assim:LinhasAgora terminados os retângulos, vamos desenhar linhas: no caso delas, nós primeirodeterminamos o ponto inicial da linha e depois vamos dizendo para o navegador atéonde ela vai. Vamos ver o código de como se faz isso:tutorial.js6 contexto.moveTo(570,25);7 contexto.lineTo(190,305);8 contexto.stroke();9 }Na linha 6, nós definimos com o método “moveTo()” uma linha que começa no ponto(570,25). Na próxima linha, dizemos onde termina a linha, que neste caso, termina noponto (190,305). E na linha 8, nós mandamos o navegador desenhar essa linha,conforme a imagem abaixo:Se por acaso, nós adicionarmos mais um “lineTo()” antes do método “stroke()”, nóspodemos formar polígonos dizendo os pontos seguintes com o método “lineTo()”. Porexemplo, vamos criar um triângulo baseado na linha que acabamos de desenhar:tutorial.js6 contexto.moveTo(570,25);7 contexto.lineTo(190,305);8 contexto.lineTo(570,305);9 contexto.lineTo(570,25);10 contexto.stroke();11 }Com esse código, podemos ver que fechamos um triângulo, como mostra a imagemabaixo:Então, se quisermos fazer qualquer tipo de polígono, podemos simplesmente indicarcom uma sequência de métodos “lineTo()” os pontos em que as linhas do polígonomudam de direção.Arcos, Círculos e circunferênciaPara desenhar um arco ou um círculo, utiliza-se um conjunto de métodos semelhantesaos que usamos para desenhar linhas. Neste caso, primeiro avisamos o contexto quevamos iniciar um caminho (path), depois definimos o arco e finalmente mandamosdesenhar. No código, fica assim:tutorial.js11 contexto.beginPath();12 contexto.arc(190,250,40,0,2*Math.PI)13 contexto.stroke()14 }Aqui, iniciamos com o método “beginPath()” e então definimos o nosso arco com ométodo “arc()”. Este método tem respectivamente os seguintes parâmetros: posição x docentro, posição y do centro, o tamanho do raio da circunferência, o ângulo inicial e oângulo final, ambos em Radianos. É através dos ângulos inicial e final quedeterminamos como vai ser o arco. Para nós conseguirmos um círculo/circunferênciafechado, nós dizemos para o navegador iniciar no ângulo 0 radianos e terminar noângulo 2.PI radianos, que é exatamente o ponto em que ele completa uma volta. Porfim, utilizamos o “stroke()” para desenhar a circunferência. O resultado é a imagemabaixo:Isso que apareceu foi uma circunferência. Para nós fazermos um círculo, basta nós, aoinvés de utilizarmos o método “stroke()”, usarmos o método “fill()”. Vamos alterar alinha 13 e vejamos a diferença:tutorial.js13 contexto.fill()Observe a diferença e, se você nunca entendeu a diferença entre um círculo e umacircunferência na escola, agora você pode ver com seus próprios olhos:Uma observação interessante é que, se você usar o método “fill()” ao invés do“stroke()” no desenho de linhas e, caso o polígono desenhado seja fechado, essepolígono será preenchido. Entretanto, nada aparecerá caso o polígono formado estiveraberto.CoresAté agora, desenhamos apenas em preto. E se quisermos desenhar em outras cores? Poisentão, para finalizarmos o tutorial de hoje, vamos alterar as cores de tudo que nós vimosaté agora, atribuindo ao atributo “fillStyle” do Contexto, um código hexadecimal decores. Vamos ao exemplo final do código:tutorial.js1 function tutorialDesenho(){2 var canvas = document.getElementById(“game”);3 var contexto = canvas.getContext(“2d”);4 contexto.fillStyle = “#00FF00”;5 contexto.fillRect(100,100,150,75);6 contexto.fillStyle = “#FF0000”;7 contexto.strokeRect(490,400,150,75);8 contexto.moveTo(570,25);9 contexto.lineTo(190,305);10 contexto.lineTo(570,305);11 contexto.lineTo(570,25);12 contexto.stroke();13 contexto.fillStyle = “#FF00FF”;14 contexto.beginPath();15 contexto.arc(190,250,40,0,2*Math.PI)16 contexto.fill()17 }Aqui, você pode ver que nas linhas 4, 6 e 13 foi adicionado um comando atribuindo aoatributo “fillStyle” um código hexadecimal, que é a cor que quero que sejam desenhadasas figuras seguintes. O resultado do código acima é essa:Aqui, você pode notar que somente os objetos que utilizam o “fill()” é que alteraram acor. Isso porque o “fillStyle” altera apenas as figuras que são preenchidas. Para alteraras imagens que foram geradas pelo método “stroke()”, devemos utilizar o atributo“strokeStyle”. No código abaixo, alterei a linha 6 para mostrar o resultado:tutorial.js1 function tutorialDesenho(){2 var canvas = document.getElementById(“game”);3 var contexto = canvas.getContext(“2d”);4 contexto.fillStyle = “#00FF00”;5 contexto.fillRect(100,100,150,75);6 contexto.strokeStyle = “#FF0000”;7 contexto.strokeRect(490,400,150,75);8 contexto.moveTo(570,25);9 contexto.lineTo(190,305);10 contexto.lineTo(570,305);11 contexto.lineTo(570,25);12 contexto.stroke();13 contexto.fillStyle = “#FF00FF”;14 contexto.beginPath();15 contexto.arc(190,250,40,0,2*Math.PI)16 contexto.fill()17 }Com esse código, ambas as imagens que foram criadas com “stroke()” estarão com acor vermelha, como mostra a imagem abaixo:Basicamente, você utiliza “fillStyle” quando você deseja mudar a cor de objetos quesejam preenchidos, enquanto usa “strokeStyle” para alterar as figuras que possuemapenas contorno.Neste tutorial foi visto o básico da tag <Canvas> e como utilizá-lo em conjunto com oJavascript. Vimos que a primeira coisa que devemos fazer ao mexer com a Canvas éobter seu Contexto. Após, podemos criar retângulos, linhas e círculos utilizando osmétodos disponíveis no contexto. Por fim, podemos alterar a cor da figura a serdesenhada alterando uma das duas propriedades do contexto, o “fillStyle”, que éresponsável pela coloração das figuras que são preenchidas. E o outro é o “stokeStyle”que é para as linhas e figuras que possuem apenas o contorno. Um fato importante équando uma figura se sobrepõe a outra: quando isso ocorre, a figura mais recente ficarána frente da imagem que já foi desenhada.Esse foi o nosso primeiro tutorial de HTML5. No próximo tutorial, vamos nosaprofundar mais em uma funcionalidade específica do Canvas e que permitirá a nósdesenvolver jogos com aparências melhores que as primitivas apresentadas nestetutorial. Portanto, aguarde o Tutorial 02 de HTML5!1. Tutorial: Jogos em HTML5 – Parte 2: Eventos2. Tutorial: Jogos em HTML5 – Parte 6: Adicionando Pontuação e Mensagens 3. Tutorial: Jogos em HTML5 – Parte 7: Hi-Score 4. Tutorial: Jogos em HTML5 – Parte 8: Adicionando Efeito de SonsHTML5, ProgramaçãoPróximo PostTutorial: Desenvolvimento de Jogos para Android - Parte 3Você também pode gostar03 Curva Horizontal CircularDocumento6 páginas03 Curva Horizontal CircularGleison CrispinAinda não há avaliaçõesBaby Safari Mamae ArteiraDocumento68 páginasBaby Safari Mamae Arteirajessica malena100% (2)Desenvolva jogos com HTML5 Canvas e JavaScript No EverandDesenvolva jogos com HTML5 Canvas e JavaScriptÉderson CássioNota: 4 de 5 estrelas4/5 (1)ASP.NET Core MVC: Aplicações modernas em conjunto com o Entity Framework No EverandASP.NET Core MVC: Aplicações modernas em conjunto com o Entity FrameworkEverton Coimbra de AraújoNota: 5 de 5 estrelas5/5 (2)Algumas Provas de Matemática Da ENDocumento72 páginasAlgumas Provas de Matemática Da ENPaula SouzaAinda não há avaliaçõesCriar Jogos 3D em JavascriptDocumento391 páginasCriar Jogos 3D em JavascriptGilberto SilvaAinda não há avaliaçõesComo Fazer Calculadoras em JavaScript - DevinDocumento16 páginasComo Fazer Calculadoras em JavaScript - DevinjuhibridosAinda não há avaliaçõesTutorial - Allegro para IniciantesDocumento26 páginasTutorial - Allegro para IniciantesmikekunAinda não há avaliaçõesASP Net Core 002Documento467 páginasASP Net Core 002Gilvan Lúcio DamascenoAinda não há avaliaçõesCrud Agenda de ContatosDocumento35 páginasCrud Agenda de ContatosJeferson 09930% (1)JavaDocumento9 páginasJavaFortenoite GamesAinda não há avaliaçõesApostila Javascript - Prof Guilherme ManuelDocumento15 páginasApostila Javascript - Prof Guilherme ManuelGuilherme ManuelAinda não há avaliaçõesJSF 2Documento50 páginasJSF 2Tiago0209Ainda não há avaliaçõesTutorial Animação JavascriptDocumento20 páginasTutorial Animação JavascriptGilberto SilvaAinda não há avaliaçõesAulas - 03 Android Eclipse Soma, Toast, Try, Catch, Imagem de Fundo, Propriedades de Cor, Giroscópio e Aplicação de Outras PropriedadesDocumento22 páginasAulas - 03 Android Eclipse Soma, Toast, Try, Catch, Imagem de Fundo, Propriedades de Cor, Giroscópio e Aplicação de Outras PropriedadesYatoAinda não há avaliaçõesLógica - de Programação Desenvolvendo Um Jogo Estilo Pong - AULA3 - PROFDocumento26 páginasLógica - de Programação Desenvolvendo Um Jogo Estilo Pong - AULA3 - PROFANDREIA APARECIDA COMOTI FERREIRAAinda não há avaliaçõesVisualização de Dados Com ChartDocumento7 páginasVisualização de Dados Com ChartSandro Basilio M. BispoAinda não há avaliaçõesOrcamento PessoalDocumento28 páginasOrcamento PessoalLorrayne SilvaAinda não há avaliaçõesCriando Um Cadastro de Usuário em Java PDFDocumento12 páginasCriando Um Cadastro de Usuário em Java PDFLucas SouzaAinda não há avaliaçõesProgramação em C# Para Iniciantes No EverandProgramação em C# Para IniciantesTroy DimesNota: 5 de 5 estrelas5/5 (1)Banco de Dados JavaDocumento22 páginasBanco de Dados JavaEduque sua Rede SocialAinda não há avaliaçõesWebgl CanvasDocumento3 páginasWebgl CanvasGomesGilzamirAinda não há avaliaçõesTrabalho Knime Scraping 2Documento15 páginasTrabalho Knime Scraping 2Fabio SantosAinda não há avaliaçõesFlutter Na Veia No EverandFlutter Na VeiaMaxiwel Eduardo Correa RodriguesAinda não há avaliaçõesLogica de Programação e JavascriptDocumento37 páginasLogica de Programação e JavascriptCésar augustoAinda não há avaliaçõesTutorial JavaWebDocumento31 páginasTutorial JavaWebManfrine TapiramutáAinda não há avaliaçõesIntrodução Ao Angular JSDocumento6 páginasIntrodução Ao Angular JSAnderson OliveiraAinda não há avaliaçõesHTML Aula 02Documento8 páginasHTML Aula 02Edson De Jesus CarbonaroAinda não há avaliaçõesSemana 5 - Guias Praticos - Ambiente Windows - Desenvolvimento Web - COM320 - RevDocumento30 páginasSemana 5 - Guias Praticos - Ambiente Windows - Desenvolvimento Web - COM320 - RevJezebel GuedesAinda não há avaliaçõesComputação Gráfica 2Documento22 páginasComputação Gráfica 2Carlos Henrique PereiraAinda não há avaliações04 - Primeiros Passos HTMLDocumento12 páginas04 - Primeiros Passos HTMLKleber Dios BendigaAinda não há avaliaçõesCriando e Do Web Service em CDocumento24 páginasCriando e Do Web Service em Ccsouza_29Ainda não há avaliaçõesCriando Um Cadastro de Usuário em JavaDocumento30 páginasCriando Um Cadastro de Usuário em JavaHeríMineiroAinda não há avaliaçõesTags Customizadas Com Tagfiles - Java para Desenvolvimento WebDocumento18 páginasTags Customizadas Com Tagfiles - Java para Desenvolvimento WebmarcosAinda não há avaliaçõesInterface Gráfica em JAVA Utilizando o NetBeans PDFDocumento15 páginasInterface Gráfica em JAVA Utilizando o NetBeans PDFThaís XavierAinda não há avaliaçõesAutocad LegendaDocumento8 páginasAutocad LegendaMarcos Rodrigues PintoAinda não há avaliaçõesVersão para Impressão - Criando e Configurando Um Projeto Web - JSF 2, Primefaces 3 e CDIDocumento9 páginasVersão para Impressão - Criando e Configurando Um Projeto Web - JSF 2, Primefaces 3 e CDIFabiana FrancoAinda não há avaliaçõesMódulo 04 - Excel Avançado - Mapeamento, Organograma e MacroDocumento15 páginasMódulo 04 - Excel Avançado - Mapeamento, Organograma e Macrosheyla.ferreiraAinda não há avaliaçõesProgramação Em Php No EverandProgramação Em PhpVitor Amadeu SouzaAinda não há avaliaçõesEbook Guia HTML e CSS Becode e TargetTrust PDFDocumento49 páginasEbook Guia HTML e CSS Becode e TargetTrust PDFbruno_pdsnkAinda não há avaliações11 - AngularDocumento46 páginas11 - AngularLeandro Williams100% (1)HTML 5 Responsivo Passo A PassoDocumento18 páginasHTML 5 Responsivo Passo A PassoAugusto Cesar MartinsAinda não há avaliaçõesAlgoritmos e Programação Capitulo 4Documento28 páginasAlgoritmos e Programação Capitulo 4George MagnagoAinda não há avaliaçõesTRADUÇÃO de Learning Three - Js - The JavaScript 3D Library For WebGL ...Documento8 páginasTRADUÇÃO de Learning Three - Js - The JavaScript 3D Library For WebGL ...Gilberto SilvaAinda não há avaliaçõesAsynchronous Refactoring - Refactoring JavaScriptDocumento29 páginasAsynchronous Refactoring - Refactoring JavaScriptMarcus PassosAinda não há avaliaçõesArduhack+Final 15 21Documento7 páginasArduhack+Final 15 21Fabiano.BSGIAinda não há avaliaçõesApostila Android Programacao Com InternetDocumento46 páginasApostila Android Programacao Com InternetAllanFellerAinda não há avaliaçõesAmbiente de Desenvolvimento Instalação e ConfiguraçãoDocumento18 páginasAmbiente de Desenvolvimento Instalação e ConfiguraçãoAbhay ChaudhariAinda não há avaliaçõesCurso de JavaScript e HTML ONEDocumento46 páginasCurso de JavaScript e HTML ONEMatheus AssisAinda não há avaliaçõesAjax PDFDocumento129 páginasAjax PDFMiguel HeichardAinda não há avaliações19 - Análise Exploratória de 1 Categoria (Parte 1)Documento35 páginas19 - Análise Exploratória de 1 Categoria (Parte 1)Paulo FerreiraAinda não há avaliaçõesEbook 01.02Documento27 páginasEbook 01.02guixcontactAinda não há avaliaçõesCriando Uma Conexão em PHP Databases MySQL e PostgreSQLDocumento3 páginasCriando Uma Conexão em PHP Databases MySQL e PostgreSQLmichael mac Ainda não há avaliaçõesAula 2Documento45 páginasAula 2Jéssica WazilewskiAinda não há avaliaçõesJava No EverandJavaVitor Amadeu SouzaAinda não há avaliaçõesModulo Customizando - Entendendo Os Blocos de Interação e Criando Os Seus PrópriosDocumento11 páginasModulo Customizando - Entendendo Os Blocos de Interação e Criando Os Seus PrópriosPaulo PavlakAinda não há avaliaçõesCriando Um Cadastro de Usuário em JavaDocumento20 páginasCriando Um Cadastro de Usuário em Javawilson.junior870Ainda não há avaliaçõesEbook Passo A Passo para Iniciar Seus Projetos No LayOut - Projetar ExpressDocumento37 páginasEbook Passo A Passo para Iniciar Seus Projetos No LayOut - Projetar ExpressKarina LinoAinda não há avaliaçõesPygame TutorialDocumento4 páginasPygame TutorialfranccavacoAinda não há avaliaçõesProgramação Em Java Me Para Celulares No EverandProgramação Em Java Me Para CelularesVitor Amadeu SouzaAinda não há avaliaçõesEbook Guia HTML e CSS Becode e TargetTrust PDFDocumento49 páginasEbook Guia HTML e CSS Becode e TargetTrust PDFDaiene RamosAinda não há avaliaçõesTutorial Google Maps Android API v2Documento16 páginasTutorial Google Maps Android API v2Nicollas FreitasAinda não há avaliaçõesJavascript CrossbrowserDocumento48 páginasJavascript CrossbrowserFabin08Ainda não há avaliaçõesPratica Laboratorial 1 Desenho Assistido Por ComputadorDocumento4 páginasPratica Laboratorial 1 Desenho Assistido Por ComputadorDiogo RodriguesAinda não há avaliaçõesGuia de Treinamento em HTML5 e CSS3 - Exemplos Práticos - TRADUZIDODocumento1.106 páginasGuia de Treinamento em HTML5 e CSS3 - Exemplos Práticos - TRADUZIDOGilberto SilvaAinda não há avaliaçõesTRADUÇÃO de Learning Three - Js - The JavaScript 3D Library For WebGL ...Documento8 páginasTRADUÇÃO de Learning Three - Js - The JavaScript 3D Library For WebGL ...Gilberto SilvaAinda não há avaliaçõesTutorial Animação JavascriptDocumento20 páginasTutorial Animação JavascriptGilberto SilvaAinda não há avaliaçõesTRADUÇÃO - Blender 3D Basics - Second EditionDocumento113 páginasTRADUÇÃO - Blender 3D Basics - Second EditionGilberto SilvaAinda não há avaliaçõesProcesso de Cross - 8 Edi o - 2014Documento44 páginasProcesso de Cross - 8 Edi o - 2014Gilberto SilvaAinda não há avaliaçõesCope ZeroDocumento160 páginasCope ZeroLalbertoAinda não há avaliaçõesÁreas e Perímetros Documento7 páginasÁreas e Perímetros Miqueias SantosAinda não há avaliaçõesConstrução Do Círculo CromáticoDocumento13 páginasConstrução Do Círculo CromáticoJosé Nunes LadeiraAinda não há avaliaçõesCircuferenciaDocumento2 páginasCircuferenciaDanilo Da Costa Silva100% (1)Apostila ICEM - FelipeDocumento108 páginasApostila ICEM - FelipeLarissa PinheiroAinda não há avaliaçõesmxm6 Resolmanual Capitulo4Documento14 páginasmxm6 Resolmanual Capitulo4Andreia SantosAinda não há avaliaçõesMatemática 2Documento42 páginasMatemática 2Lívia BatistaAinda não há avaliaçõesExercícios Sobre Integrais Triplas em Coordenadas Esféricas Ou em Coordenadas Cilíndricas PDFDocumento34 páginasExercícios Sobre Integrais Triplas em Coordenadas Esféricas Ou em Coordenadas Cilíndricas PDFÉrika OliveiraAinda não há avaliaçõesGeometria e TrigonometriaDocumento8 páginasGeometria e TrigonometriaMikéiasAinda não há avaliaçõesTeorema de Pitágoras e Áreas. Eduardo WagnerDocumento90 páginasTeorema de Pitágoras e Áreas. Eduardo WagnerAndre Luiz CastelarAinda não há avaliaçõesEureka 20Documento63 páginasEureka 20Paulo BayerAinda não há avaliaçõesConcordanciaDocumento10 páginasConcordanciadanielh.bastos684267% (3)2010 - Volume 4 - Caderno Do Aluno - Ensino Médio - 1 Série - MatemáticaDocumento22 páginas2010 - Volume 4 - Caderno Do Aluno - Ensino Médio - 1 Série - MatemáticaAnderson Guarnier da SilvaAinda não há avaliaçõesCircunferência e CírculoDocumento14 páginasCircunferência e Círculonelsonlameque62Ainda não há avaliaçõesManual de E. v. P - 8Documento28 páginasManual de E. v. P - 8AbeL Cula Alberto BeniloyAinda não há avaliaçõesLista de Exercícios Documento9 páginasLista de Exercícios Lucas José GarciaAinda não há avaliaçõesTeste1 - 11 - Com Res 2023-2024Documento10 páginasTeste1 - 11 - Com Res 2023-2024martimpaiva007Ainda não há avaliaçõesCircunferencia Inscrita No TrianguloDocumento17 páginasCircunferencia Inscrita No TrianguloPatrick AntunesAinda não há avaliaçõesApostila SolidWorks SKA Nível IDocumento553 páginasApostila SolidWorks SKA Nível IMarcos José da SilvaAinda não há avaliaçõesAula 1 - Elementos Geométricos Das EstradasDocumento65 páginasAula 1 - Elementos Geométricos Das EstradasThays Nogueira Rodrigues100% (2)Plano Trimestral de Aulas Prof OtavioDocumento11 páginasPlano Trimestral de Aulas Prof OtavioOtavio Bitencourt PatricioAinda não há avaliaçõesUNINASSAU Recife - EDITAL VESTIBULAR MEDICINA 2024.2Documento21 páginasUNINASSAU Recife - EDITAL VESTIBULAR MEDICINA 2024.2victoriarauujoAinda não há avaliaçõesApostila EearDocumento10 páginasApostila Eearalvalina09061954natosAinda não há avaliaçõesElite Resolve ITA 2012-MatematicaDocumento11 páginasElite Resolve ITA 2012-MatematicaCésar AugustoAinda não há avaliaçõesUP (1) Aula SextaDocumento6 páginasUP (1) Aula SextaCelso BerredoAinda não há avaliações
Bem-vindo(a) ao Scribd!
TUTORIAL GAMES - Usando o Canvas - Aula 01
Aprimorado por IA
Descrição aprimorada por IA
Usando o Canvas7 de novembro de 2013 Thalisson Christiano de Almeida Tutoriais
Hoje, aprenderemos como utilizar a nova tag <CANVAS>, que é a principal tag queestá permitindo a nova onda de jogos de navegadores.Como o HTML comum, você pode fazer o seu código em um editor robusto, mastambém em um mais simples como o Bloco de Notas. Vamos nesse último por sersimples de achar. Só se lembre de salvar como página de internet (extensão .html) paraver o resultado.
A tag <Canvas> é uma das novas tags que chegaram com o HTML5. Suafuncionalidade é simples: permitir a renderização de imagens criadas em tempo deexecução, o que torna perfeito para os jogos. Quem já programou jogos para celularesno J2ME vai notar muitas semelhanças na forma de mexer com a classe Canvas.
Arquivo HTML:
1 <!DOCTYPE HTML>
2 <html>
3 <body>
6 </canvas>
7 </body>
8 </html>
No código acima, temos na linha 1 a definição que indica ao navegador que vamosutilizar o HTML5. Na linha 4, estamos inserindo a nossa Canvas. É mandatório nósdefinirmos os atributos Width (largura) e Height (altura), pois são eles que vãodeterminar o tamanho de nossa Canvas. O atributo ID é utilizado para termos umareferência para o Javascript. Caso o navegador não suporte a tag, entre as tags <canvas>e </canvas> tem uma mensagem de aviso.
Se nós tentarmos executar o código como ele está, provavelmente não veremos nada,porque a canvas é uma imagem inicialmente transparente, portanto assumirá a cor defundo do site. Para facilitar o nosso estudo, vamos adicionar uma borda nela utilizandoCSS:
Estou desenhando
Agora que expliquei como inserir a Canvas, vamos desenhar nela. Para isso, vamos criarum arquivo Javascript. Neste tutorial, vou dar o nome de “tutorial.js” para o arquivo quecontém o javascript. Uma vez criado o arquivo, devemos dizer ao HTML para carregá-lo. Para isso, vamos adicionar o seguinte código logo após o HTML:
3 <head>
4 <script src=”tutorial.js”></script>
5 </head>
6 <body>A linha 4 é que onde fazemos o carregamento do arquivo Javascript. Agora que o scripté carregado, vamos desenhar na nossa Canvas. Para isso, vamos criar uma função, quechamarei de “tutorialDesenho()” onde vamos mostrar cada comando de desenhodisponível.
tutorial.js
1 function tutorialDesenho(){
3 }
Para ser mais prático, vamos já configurar a execução da função utilizando o evento“onLoad” do HTML. Então, modificaremos a linha 6 do arquivo da seguinte forma:
Arquivo HTML
6 <body >
Executamos a função “tutorialDesenho()” para ser executado assim que o HTML fortotalmente carregado, isso porque se nós executarmos direto o script, ocorrerá um erro.Esse erro ocorre porque estamos tentando acessar a Canvas antes da mesma não sercarregada. Portanto, lembre-se de que se for modificar qualquer elemento HTML viaJavascript, certifique-se que a página já foi totalmente carregada.
Agora que temos a nossa função pronta, foi declarada e está devidamente configuradapara executar quando a página terminar de carregar, vamos então aos códigos.
A primeira coisa que deve fazer antes de desenhar na Canvas pelo Javascript é obter oContexto da Canvas. É o Contexto que fornece os métodos que permitem a nósdesenhar na Canvas, e por isso é essencial dominá-lo. Vamos adicionar o seguintecódigo na nossa função:
4 }
Retângulos
Agora que temos os contextos, vamos desenhar. A partir de agora, vou utilizar a linha 4como nossa cobaia de testes, começando a desenhar um retângulo preenchido:
4 contexto.fillRect(100,100,150,75);
5 }
Note que na linha 4 utilizamos a variável “contexto” para invocar o método “fillRect()”,que possui quatro parâmetros na respectiva ordem: posição x do canto superioresquerdo, posição y do canto superior esquerdo, largura e altura. Como demonstrado naimagem abaixo:
Caso não queira um retângulo preenchido, podemos fazer um retângulo vazio com oseguinte código:tutorial.js
5 contexto.strokeRect(490,400,150,75);
6 }
Linhas
Agora terminados os retângulos, vamos desenhar linhas: no caso delas, nós primeirodeterminamos o ponto inicial da linha e depois vamos dizendo para o navegador atéonde ela vai. Vamos ver o código de como se faz isso:
6 contexto.moveTo(570,25);
7 contexto.lineTo(190,305);
8 contexto.stroke();
9 }Na linha 6, nós definimos com o método “moveTo()” uma linha que começa no ponto(570,25). Na próxima linha, dizemos onde termina a linha, que neste caso, termina noponto (190,305). E na linha 8, nós mandamos o navegador desenhar essa linha,conforme a imagem abaixo:
Se por acaso, nós adicionarmos mais um “lineTo()” antes do método “stroke()”, nóspodemos formar polígonos dizendo os pontos seguintes com o método “lineTo()”. Porexemplo, vamos criar um triângulo baseado na linha que acabamos de desenhar:
8 contexto.lineTo(570,305);
9 contexto.lineTo(570,25);
10 contexto.stroke();
11 }
Com esse código, podemos ver que fechamos um triângulo, como mostra a imagemabaixo:Então, se quisermos fazer qualquer tipo de polígono, podemos simplesmente indicarcom uma sequência de métodos “lineTo()” os pontos em que as linhas do polígonomudam de direção.
11 contexto.beginPath();
12 contexto.arc(190,250,40,0,2*Math.PI)
13 contexto.stroke()
14 }
Aqui, iniciamos com o método “beginPath()” e então definimos o nosso arco com ométodo “arc()”. Este método tem respectivamente os seguintes parâmetros: posição x docentro, posição y do centro, o tamanho do raio da circunferência, o ângulo inicial e oângulo final, ambos em Radianos. É através dos ângulos inicial e final quedeterminamos como vai ser o arco. Para nós conseguirmos um círculo/circunferênciafechado, nós dizemos para o navegador iniciar no ângulo 0 radianos e terminar noângulo 2.PI radianos, que é exatamente o ponto em que ele completa uma volta. Porfim, utilizamos o “stroke()” para desenhar a circunferência. O resultado é a imagemabaixo:
Isso que apareceu foi uma circunferência. Para nós fazermos um círculo, basta nós, aoinvés de utilizarmos o método “stroke()”, usarmos o método “fill()”. Vamos alterar alinha 13 e vejamos a diferença:
13 contexto.fill()
Cores
Até agora, desenhamos apenas em preto. E se quisermos desenhar em outras cores? Poisentão, para finalizarmos o tutorial de hoje, vamos alterar as cores de tudo que nós vimosaté agora, atribuindo ao atributo “fillStyle” do Contexto, um código hexadecimal decores. Vamos ao exemplo final do código:
4 contexto.fillStyle = “#00FF00”;
5 contexto.fillRect(100,100,150,75);
6 contexto.fillStyle = “#FF0000”;7 contexto.strokeRect(490,400,150,75);
8 contexto.moveTo(570,25);
9 contexto.lineTo(190,305);
10 contexto.lineTo(570,305);
11 contexto.lineTo(570,25);
12 contexto.stroke();
13 contexto.fillStyle = “#FF00FF”;
14 contexto.beginPath();
15 contexto.arc(190,250,40,0,2*Math.PI)
16 contexto.fill()
17 }
Aqui, você pode ver que nas linhas 4, 6 e 13 foi adicionado um comando atribuindo aoatributo “fillStyle” um código hexadecimal, que é a cor que quero que sejam desenhadasas figuras seguintes. O resultado do código acima é essa:
Aqui, você pode notar que somente os objetos que utilizam o “fill()” é que alteraram acor. Isso porque o “fillStyle” altera apenas as figuras que são preenchidas. Para alteraras imagens que foram geradas pelo método “stroke()”, devemos utilizar o atributo“strokeStyle”. No código abaixo, alterei a linha 6 para mostrar o resultado:
6 contexto.strokeStyle = “#FF0000”;
7 contexto.strokeRect(490,400,150,75);
Com esse código, ambas as imagens que foram criadas com “stroke()” estarão com acor vermelha, como mostra a imagem abaixo:Basicamente, você utiliza “fillStyle” quando você deseja mudar a cor de objetos quesejam preenchidos, enquanto usa “strokeStyle” para alterar as figuras que possuemapenas contorno.
Neste tutorial foi visto o básico da tag <Canvas> e como utilizá-lo em conjunto com oJavascript. Vimos que a primeira coisa que devemos fazer ao mexer com a Canvas éobter seu Contexto. Após, podemos criar retângulos, linhas e círculos utilizando osmétodos disponíveis no contexto. Por fim, podemos alterar a cor da figura a serdesenhada alterando uma das duas propriedades do contexto, o “fillStyle”, que éresponsável pela coloração das figuras que são preenchidas. E o outro é o “stokeStyle”que é para as linhas e figuras que possuem apenas o contorno. Um fato importante équando uma figura se sobrepõe a outra: quando isso ocorre, a figura mais recente ficarána frente da imagem que já foi desenhada.
Esse foi o nosso primeiro tutorial de HTML5. No próximo tutorial, vamos nosaprofundar mais em uma funcionalidade específica do Canvas e que permitirá a nósdesenvolver jogos com aparências melhores que as primitivas apresentadas nestetutorial. Portanto, aguarde o Tutorial 02 de HTML5!1.
2.
4.
HTML5, Programação
Próximo Post