Você está aqui: HTML5 ::: HTML5 + JavaScript ::: Animação, Animações, Técnicas de Animação |
Como mover uma bola na superfície do Canvas do HTML5 na horizontal - Para a direita, para a esquerda e rebatendoQuantidade de visualizações: 261 vezes |
Nesta dica mostrarei uma técnica básica de animação em JavaScript. Para isso nós vamos usar o objeto Canvas do HTML5 e mover um desenho (uma bolinha) na horizontal. Primeiro vamos movimentá-la da esquerda para a direita, depois da direita para a esquerda e, finalmente, ela vai ficar rebatendo de um lado para o outro da tela. Comece analisando a imagem a seguir: Agora vamos ao código. Veja a página HTML completa, incluindo o código JavaScript para a animação: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- <!doctype html> <html> <head> <title>Desenvolvimento de Games usando HTML5 e JavaScript</title> </head> <body> <Canvas id="canvas" width="800" height="300"></Canvas> <script type="text/javascript"> // obtemos uma referência ao elemento Canvas var canvas = document.getElementById("canvas"); // obtemos o contexto de desenho var contexto = canvas.getContext("2d"); // taxa de deslocamento da bola var taxa_deslocamento = 5; // posição y da bola var pos_y = 100; // posição x da bola var pos_x = 0; // função que faz a animação function animar(){ // a bola já está no limite da margem direita // do canvas? if(pos_x < canvas.width){ // incrementa a posição x da bola pos_x = pos_x + taxa_deslocamento; // limpamos o canvas contexto.clearRect(0, 0, canvas.width, canvas.height); // e desenhamos a bola na nova posição contexto.fillStyle = "red"; contexto.beginPath(); contexto.arc(pos_x, pos_y, 15, 0, Math.PI * 2, true); contexto.closePath(); contexto.fill(); // e fazemos uma nova chamada à função animar() window.requestAnimationFrame(animar); } } // fazemos a primeira chamada à função animar() window.requestAnimationFrame(animar); </script> </body> </html> Veja que criamos uma variável chamada taxa_deslocamento que define a quantidade de pixel que o objeto será movido para a direita à cada vez que a função window.requestAnimationFrame() for chamada. Lembre-se de que, em geral, esta função é chamada 60 vezes por segundo (60 frames por segundo). Quanto maior o valor da variável taxa_deslocamento, mais rápido a bolinha se moverá pelo Canvas. A posição pos_y da bola é definida como 100 pixels e não sofrerá alteração, pois estamos movimento o objeto apenas na horizontal. A variável pos_x começa em 0 e é incrementada com o valor da variável taxa_deslocamento. Como estamos aumentando o valor da variável pos_x de forma positiva, a bola se movimentará para a direita. Note também o uso da função clearRect() do Canvas para limpar a superfície do elemento antes de desenharmos a bolinha novamente. Veja agora como podemos movimentar a bolinha da direita para a esquerda: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- <!doctype html> <html> <head> <title>Desenvolvimento de Games usando HTML5 e JavaScript</title> </head> <body> <Canvas id="canvas" width="800" height="300"></Canvas> <script type="text/javascript"> // obtemos uma referência ao elemento Canvas var canvas = document.getElementById("canvas"); // obtemos o contexto de desenho var contexto = canvas.getContext("2d"); // taxa de deslocamento da bola var taxa_deslocamento = 5; // posição y da bola var pos_y = 100; // posição x da bola começando do lado direito var pos_x = canvas.width; // função que faz a animação function animar(){ // a bola já está no limite da margem esquerda // do canvas? if(pos_x > 0){ // decrementa a posição x da bola pos_x = pos_x - taxa_deslocamento; // limpamos o canvas contexto.clearRect(0, 0, canvas.width, canvas.height); // e desenhamos a bola na nova posição contexto.fillStyle = "red"; contexto.beginPath(); contexto.arc(pos_x, pos_y, 15, 0, Math.PI * 2, true); contexto.closePath(); contexto.fill(); // e fazemos uma nova chamada à função animar() window.requestAnimationFrame(animar); } } // fazemos a primeira chamada à função animar() window.requestAnimationFrame(animar); </script> </body> </html> Veja que agora o valor da variável pos_x é ajustada inicialmente para a largura do Canvas. Então, dentro da chamada à função window.requestAnimationFrame() nós decrementamos o seu valor de acordo com o valor da variável taxa_deslocamento, que controla a velocidade do objeto. Para finalizar, veja o código HTML5 completo que aplica o efeito de rebater na bolinha, na horizontal, é claro: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- <!doctype html> <html> <head> <title>Desenvolvimento de Games usando HTML5 e JavaScript</title> </head> <body> <Canvas id="canvas" width="800" height="300"></Canvas> <script type="text/javascript"> // obtemos uma referência ao elemento Canvas var canvas = document.getElementById("canvas"); // obtemos o contexto de desenho var contexto = canvas.getContext("2d"); // taxa de deslocamento da bola var taxa_deslocamento = 5; // posição y da bola var pos_y = 100; // posição x da bola var pos_x = 0; // função que faz a animação function animar(){ // a bolinha alcançou os limites das margens // direita ou esquerda? if((pos_x > canvas.width) || (pos_x < 0)){ // muda o sinal da taxa_deslocamento taxa_deslocamento = taxa_deslocamento * -1; } // movimentamos a bolinha pos_x = pos_x + taxa_deslocamento; // limpamos o canvas contexto.clearRect(0, 0, canvas.width, canvas.height); // e desenhamos a bola na nova posição contexto.fillStyle = "red"; contexto.beginPath(); contexto.arc(pos_x, pos_y, 15, 0, Math.PI * 2, true); contexto.closePath(); contexto.fill(); // e fazemos uma nova chamada à função animar() window.requestAnimationFrame(animar); } // fazemos a primeira chamada à função animar() window.requestAnimationFrame(animar); </script> </body> </html> Execute este exemplo e veja como a bolinha rebate ao chegar à margem direita ou esquerda do Canvas. O truque aqui foi multiplicar o valor da variável taxa_deslocamento por -1. Em outra dica veremos como movimentar a bola na vertical, ou seja, manipulando a variável y. |
Link para compartilhar na Internet ou com seus amigos: |
Ruby ::: Dicas & Truques ::: Strings e Caracteres |
Como testar se uma string termina com uma determinada substring em Ruby usando uma função ends_with() personalizadaQuantidade de visualizações: 6762 vezes |
O Ruby, até a versão 1.8.6 não dispõe de um método para verificar se uma string termina com uma determinada substring. Assim, veja abaixo como escrever uma função ends_with(). Esta função recebe a string e a substring e retorna true se a string terminar com a substring. Eis a listagem completa: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- # função auxiliar que permite verificar se # uma string termina com uma substring def ends_with(string, substring) pos = string.length - substring.length if string.index(substring, pos) == pos return true else return false end end # declara e inicializa uma variável string frase = "Gosto muito de Java, PHP e Ruby" # vamos verificar a string termina com "Ruby" if ends_with(frase, "Ruby") puts "A string termina com \"Ruby\"" else puts "A string NÃO termina com \"Ruby\"" end Ao executar este código Ruby nós teremos o seguinte resultado: A string termina com "Ruby" |
Java ::: Classes e Componentes ::: JTable |
Java Swing - Como alterar a cor de fundo dos títulos de uma JTable usando o método setBackground() da classe JTableHeaderQuantidade de visualizações: 11851 vezes |
Nesta dica mostrarei como podemos chamar o método getTableHeader() da classe JTable para obter um objeto JTableHeader e usar seu método setBackground() para definir a cor de fundo dos títulos da tabela JTable. Veja o trecho de código a seguir: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- JTableHeader titulos = tabela.getTableHeader(); titulos.setBackground(Color.ORANGE); Note que "tabela" é uma referência a um objeto da classe JTable. |
C ::: Dicas & Truques ::: Arquivos e Diretórios |
Como excluir arquivos em C usando a função remove()Quantidade de visualizações: 18965 vezes |
A função remove(), disponível no header stdio.h, pode ser usada para excluir arquivos. Veja sua assinatura:---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- int remove(const char *filename); Veja que esta função recebe o caminho e nome do arquivo a ser excluído e retorna um valor inteiro. Se o arquivo for excluído com sucesso, o valor 0 será retornado. Veja um exemplo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { // nome do arquivo a ser excluído char *arquivo = "c:\\testes.txt"; // vamos excluir if(remove(arquivo) == 0) printf("Arquivo foi excluido com sucesso."); else printf("Nao foi possivel excluir o arquivo."); printf("\n\n"); system("PAUSE"); return 0; } |
JavaScript ::: Dicas & Truques ::: Matemática e Estatística |
JavaScript para matemática - Como obter o menor entre dois ou mais valores numéricos usando a função min() do JavaScriptQuantidade de visualizações: 7570 vezes |
A função min() do objeto Math da linguagem JavaScript pode ser usada quando temos dois ou mais valores numéricos e gostaríamos de retornar o menor deles. Note que esta função não aceita um vetor (array) como argumento, ou seja, os valores devem ser fornecidos de forma literal ou passados como variáveis independentes. Veja o código JavaScript completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- <html> <head> <title>Estudando JavaScript</title> </head> <body> <script type="text/javascript"> var n1 = 45; var n2 = 18; var menor = Math.min(n1, n2); document.write("O menor número é " + menor); </script> </body> </html> Ao executar este código nós teremos o seguinte resultado: O menor número é 18 O retorno do método min() é um objeto Number representando o menor dos valores fornecidos. Se nenhum argumento for informado, o retorno será um objeto Infinity, enquanto um objeto NaN será retornado se algum dos valores fornecidos não for um valor numérico válido. |
C# ::: Dicas & Truques ::: Strings e Caracteres |
Como substituir todos os espaços em uma string pelo caractere de underline em C# usando o método Replace() da classe StringQuantidade de visualizações: 7940 vezes |
Nesta dica de C# eu trago um trecho de código que mostra como substituir todos os espaços em uma string pelo caractere de sublinhado (underline). Para a realização desta tarefa nós vamos usar o método Replace() da classe String da linguagem C#. Veja o código completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- using System; namespace Estudos { class Program { static void Main(string[] args) { string frase = "Gosto muito de C#"; Console.WriteLine("Frase original: " + frase); // substitui os espaços por underline frase = frase.Replace(" ", "_"); Console.WriteLine("Depois da substituição: " + frase); Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } } } Ao executar este código C# nós teremos o seguinte resultado: Frase original: Gosto muito de C# Depois da substituição: Gosto_muito_de_C# |
Desafios, Exercícios e Algoritmos Resolvidos de C# |
Veja mais Dicas e truques de C# |
Dicas e truques de outras linguagens |
Códigos Fonte |
Software de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais |
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais |
Linguagens Mais Populares |
1º lugar: Java |