Construindo um Jogo para a Web - Snake
|
|
|
- Sabrina Minho Aldeia
- 9 Há anos
- Visualizações:
Transcrição
1 Construindo um Jogo para a Web - Snake Programação para a Internet Prof. Vilson Heck Junior
2 Tecnologias Necessárias Tecnologias já Estudadas: HTML; CSS; JavaScript; Tecnologias Novas: Computação Gráfica Básica; Noções de Geometria; Noções de Física; Reprodução de Sons; Enredo;
3 Computação Gráfica É um campo da Ciência da Computação que estuda métodos para sintetizar e manipular digitalmente conteúdo visual: Geração de imagens 2D; Geração de imagens 3D (renderização); Com ou sem animação;
4 Noções de Geometria Gráficos 2D ou 3D são na verdade a composição de pequenas peças geométricas: A relação espacial dada entre diferentes objetos existentes em uma cena deve ser respeitada: Dois corpos não podem ocupar um mesmo lugar no espaço!
5 Noções de Física Objetos podem possuir algum tipo de movimento ou interação com outros objetos; Para isto, geralmente respeitam alguma(s) regras físicas: Próximas a real: Simulação; Diferenciadas: Arcade;
6 Reprodução de Sons O som é o elemento responsável por estimular o sentido da audição; Não tanto quanto os gráficos, mas os sons são responsáveis por completar uma boa sensação de imersão em jogos e entretenimento; Geralmente os sons (músicas ou barulhos) serão escolhidos conforme um determinado contexto ou acontecimento.
7 Enredo O enredo irá explicar ao usuário o que deverá ser feito e deve ser o principal responsável por atrair a atenção do jogador: História; Diversão; Desafios; Passatempo;...
8 Enredo Snake: Fliperama feito pela Gremlin em Popularizado nos celulares Nokia em 1998.
9 Nosso Conceito
10 Snake LISTA DE RECURSOS INICIAIS
11 Recursos Iniciais Pasta: Snake : index.html Construiremos de um documento web, inserindo todos os demais elementos necessários; estilo.css Definiremos algumas configurações de cores, bordas e outros para nossa interface; script.js Faremos todo o processamento do jogo, ou seja, daremos vida aos elementos existentes no documento web. Nodo.js Implementaremos uma Classe Nodo, para as partes da Snake;
12 index.html Crie o arquivo como doctype para html 5; Crie as tags para: <html>, <head>, <body> e <title>; Estipule um <link> com arquivo de estilo; Adicione ambos arquivos de <script> ao fim do <body>; Importante: adicionar Nodo.js antes de script.js, pois o último precisa do primeiro.
13 index.html Adicione os seguintes Tags com seus atributos dentro do <body>: <canvas>navegador não suportado!</canvas> id = tela width=640 height=480 <button>iniciar</button> type= button onclick= pausa() id= btpausa <button>novo Jogo</button> type= button onclick= novojogo() id= btnovo
14 Snake DESENHANDO NO CANVAS
15 <canvas> Canvas é um termo inglês dado a alguns tipos de tela para pintura; No nosso caso, será uma área dentro do documento HTML onde poderemos pintar o que precisarmos; Nosso pincel e paleta de cores estão disponíveis através de código JavaScript.
16 <canvas> O Canvas é feito para oferecer suporte a rápido desenho de cenas bidimensionais ou tridimensionais: Geralmente acelerado por Hardware; 0 X width 0 y height
17 script.js //Recuperando referência dos objetos no documento var canvas = document.getelementbyid("tela"); var context = canvas.getcontext("2d"); var btpausa = document.getelementbyid("btpausa"); //Um pequeno teste (remover depois de testar) context.fillstyle = #FF0000 ; //Usar cor vermelha context.fillrect(20, 30, 50, 100); //x=20, y=30, w=50 e h=100
18 Desenhando Temos uma tela para desenho; Conhecemos uma primeira ferramenta para pintar algo; Temos que utilizar esta ferramenta de forma a construir o cenário inicial do nosso jogo;
19 Relembrando
20 Posicionamento e Tamanhos Encontramos: Diversos pedaços quadrados da Snake e um circulo que representa a Fruta; Iremos utilizar variáveis para guardar a posição (X, Y) de cada objeto, bem como as dimensões e outras propriedades das formas geométricas utilizadas.
21 Nodo.js //Sentidos de movimento var dcima = 1; var ddireita = 2; var dbaixo = 3; var desquerda = 4; function Nodo(px, py, dir) { var x, y, direc; this.x = px; this.y = py; this.direc = dir; this.mover = function() { switch (this.direc) { case dcima: this.y -= 1; break; ; case dbaixo: this.y += 1; break; case ddireita: this.x += 1; break; case desquerda: this.x -= 1; break;
22 Grade
23 script.js //Informações sobre o tabuleiro var nx = 0; //Número de quadros em X var ny = 0; //Número de quadros em Y var largura = 20; //Largura dos quadros var distancia = 5; //Distância entre os quadros var borda_x, borda_y; //Posições das bordas //Inicializações criartabuleiro(); novojogo(); function criartabuleiro() { nx = Math.floor((canvas.width - distancia) / (largura + distancia)); ny = Math.floor((canvas.height - distancia) / (largura + distancia)); borda_x = nx * (distancia + largura) + distancia; borda_y = ny * (distancia + largura) + distancia;
24 script.js function novojogo() { btpausa.innerhtml = "Iniciar"; btpausa.disabled = false; desenhar(); function desenhar() { //Variáveis auxiliares para desenhar var xi, yi; //Limpar a tela context.clearrect(0, 0, canvas.width, canvas.height); //Desenhar bordas context.fillstyle = "#888888"; context.fillrect(borda_x, 0, canvas.width - 1, canvas.height - 1); context.fillrect(0, borda_y, canvas.width - 1, canvas.height - 1);
25 estilo.css #tela { background-color: #000000; border-style: solid; border-color: #888888; body { background-color: #000000;
26 Área do jogo!
27 script.js //Array contendo todos os nodos da Snake var nodos = new Array(); nodos.length = 0; function novojogo() { var xcenter = Math.floor(nx / 2); var ycenter = Math.floor(ny / 2); nodos.length = 0; nodos.push(new Nodo(xcenter, ycenter + 2, dbaixo)); nodos.push(new Nodo(xcenter, ycenter + 1, dbaixo)); nodos.push(new Nodo(xcenter, ycenter, dbaixo)); nodos.push(new Nodo(xcenter, ycenter - 1, dbaixo)); nodos.push(new Nodo(xcenter, ycenter - 2, dbaixo)); btpausa.innerhtml = "Iniciar"; btpausa.disabled = false; desenhar();
28 Cadê a cobra?
29 script.js function desenhar() { //Variáveis auxiliares para desenhar var xi, yi; //Limpar a tela context.clearrect(0, 0, canvas.width, canvas.height); //Desenhar bordas context.fillstyle = "#888888"; context.fillrect(borda_x, 0, canvas.width - 1, canvas.height - 1); context.fillrect(0, borda_y, canvas.width - 1, canvas.height - 1); //Desenhar a Snake context.fillstyle = "#00FF00"; for (i = 0; i < nodos.length; i++) { xi = distancia + nodos[i].x * (largura + distancia); yi = distancia + nodos[i].y * (largura + distancia); context.fillrect(xi, yi, largura, largura);
30 Olá! Meu nome é Snake.
31 O que mais falta? Movimentos? Sons? Fruta? O que mais?
32 script.js //Informações sobre estado atual do jogo var rodando = false; var xfruta; var yfruta; xfruta = nx - 1; yfruta = ny - 1; [Inicio do documento] [Inicio de novojogo()] //Desenhar a fruta context.fillstyle = "#FF0000"; xi = distancia + (xfruta * (largura + distancia)) + Math.floor(largura / 2); yi = distancia + (yfruta * (largura + distancia)) + Math.floor(largura / 2); context.beginpath(); context.arc(xi, yi, distancia, 0, Math.PI * 2, true); context.closepath(); context.fill(); [Fim de desenhar()]
33 Uma fruta vermelha! Nham!
34 Snake COLOCANDO VIDA
35 O que precisamos? Fazer a snake se movimentar: Com qual intervalo de tempo? Para qual direção? E quando a snake bater em uma Parede? E quando a snake bater em seu próprio corpo? E quando a snake encontrar com a fruta? E quando o usuário pressionar alguma Seta?
36 Snake MOVIMENTAÇÃO DA SNAKE
37 Movendo a Snake Todo tipo de movimento tem uma velocidade; Como determinamos a velocidade de algum objeto? Medida Espacial / Tempo! KM/h m/s...
38 Controlando o Tempo Como já definimos, a unidade de espaço de cada movimento da snake será um quadro; Agora precisamos determinar o intervalo de tempo que nosso jogo ira usar para fazer cada movimento da snake; Como nosso jogo gira em torno principalmente da snake, este tempo será como um guia para todo o jogo.
39 Controlando o Tempo Função JavaScript: relogio = setinterval( NomeFuncao(), intervalo); relogio é uma referência ao timer/clock que foi criado; NomeFuncao() é a função que será executada a cada intervalo; intervalo é um número inteiro representando a quantidade em milissegundos de intervalo entre uma execução e outra da função NomeFuncao(). clearinterval(relogio); Para o relógio de repetição;
40 script.js //Informações sobre estado atual do jogo var rodando = false; var xfruta; var yfruta; var relogio; var intervalo; function pausa() { rodando =!rodando; if (rodando) { btpausa.innerhtml = "Pausar"; relogio = setinterval("loopprincipal()", intervalo); else { clearinterval(relogio); btpausa.innerhtml = "Continuar";
41 script.js function novojogo() { if (rodando) pausa(); intervalo = 200; xfruta = nx - 1; yfruta = ny - 1; var xcenter = Math.floor(nx / 2); var ycenter = Math.floor(ny / 2); nodos.length = 0; nodos.push(new Nodo(xcenter, ycenter + 2, dbaixo)); nodos.push(new Nodo(xcenter, ycenter + 1, dbaixo)); nodos.push(new Nodo(xcenter, ycenter, dbaixo)); nodos.push(new Nodo(xcenter, ycenter - 1, dbaixo)); nodos.push(new Nodo(xcenter, ycenter - 2, dbaixo)); btpausa.innerhtml = "Iniciar"; btpausa.disabled = false; desenhar();
42 script.js function loopprincipal() { //atualizar valores moversnake(); desenhar(); function moversnake() { //Mover todos os nodos, exceto cabeça for (i = nodos.length - 1; i > 0; i--) { nodos[i].x = nodos[i-1].x; nodos[i].y = nodos[i-1].y; nodos[i].direc = nodos[i-1].direc; //Executa movimento da cabeça nodos[0].mover();
43 Testar
44 Snake DETECTANDO COLISÕES
45 Colisões Durante a trajetória, a snake poderá encontrar: 4 paredes diferentes; Qualquer parte do seu próprio corpo; A fruta; Cada um destes acontecimentos deverá causar uma mudança de situação no jogo;
46 Colisão na Paredes Para verificar colisões com as paredes, podemos verificar apenas se a posição da cabeça da snake assumiu alguma posição for do tamanho da grade construída.
47 script.js function loopprincipal() { //atualizar valores moversnake(); detectarcolisoes(); desenhar(); function detectarcolisoes() { //Colisão da cabeça com alguma parede if ((nodos[0].x < 0) (nodos[0].x >= nx) (nodos[0].y < 0) (nodos[0].y >= ny)) { executargameover(); //Game Over!
48 Colisão no Corpo Para verificar colisões com qualquer parte do próprio corpo, devemos verificar se a posição da cabeça é a mesma de qualquer um, dentre todos, os nodos do corpo.
49 script.js function loopprincipal() { //atualizar valores detectarcolisoes(); moversnake(); desenhar(); function detectarcolisoes() { //Colisão da cabeça com alguma parede if ((nodos[0].x < 0) (nodos[0].x >= nx) (nodos[0].y < 0) (nodos[0].y >= ny)) { executargameover(); //Game Over! //Colisão da cabeça com o corpo for (i = 1; i < nodos.length; i++) { if ((nodos[0].x == nodos[i].x) && (nodos[0].y == nodos[i].y)) { executargameover(); //Game Over!
50 script.js function executargameover() { btpausa.disabled = true; if (rodando) pausa();
51 Alterações na Iteração O que falta alterar? Detecção com fruta? Interação com usuário? Sons?
52 Snake INTERAGINDO COM O USUÁRIO
53 Eventos! A interação é dada por uma troca entre a máquina e o usuário; A máquina fornece principalmente imagens que descrevem uma situação, onde pode ser necessária a intervenção do usuário; O usuário ira intervir basicamente através de comandos! Comandos são captados através de eventos.
54 Eventos! Nosso document possuí propriedades de eventos que podem ser associadas à funções quaisquer; Estas funções determinam algo a ser feito quando aquele evento ocorrer: document.onkeydown Ao descer uma tecla qualquer; document.onkeyup Ao soltar uma tecla qualquer;
55 script.js //Eventos document.onkeydown=onkd; function onkd(evt) { switch (evt.keycode) { case 37: //esquerda nodos[0].direc = desquerda; break; case 38: //cima nodos[0].direc = dcima; break; case 39: //direita nodos[0].direc = ddireita; break; case 40: //baixo nodos[0].direc = dbaixo; break; Bem? Testar! Funcionou? Mal? O que falta?
56 Comandos Conforme definimos nosso relógio que executa tarefas a cada intervalo de tempo, os dados serão processados a cada intervalo X de tempo; Quando dois, ou mais, comandos do usuário forem dados em um espaço de tempo menor do que o intervalo X, apenas o último comando antes do fim do intervalo é que será executado.
57 Snake A FILA DE COMANDOS
58 A Fila de Comandos Para resolver este problema, podemos guardar cada comando digitado pelo usuário em uma fila de direções; A cada movimento, a Snake deverá retirar a próxima direção e a executar; É importante que ao mover a Snake se descartem todas as direções do inicio da fila que sejam iguais a atual, pois o usuário pode ter pressionado diversas vezes a mesma tecla.
59 script.js //Informações sobre estado atual do jogo var rodando = false; var xfruta; var yfruta; var relogio; var intervalo; var proxdirec = new Array(); proxdirec.length = 0; Inserir
60 script.js function onkd(evt) { switch(evt.keycode) { case 37: //esquerda proxdirec.push(desquerda); break; case 38: //cima proxdirec.push(dcima); break; case 39: //direita proxdirec.push(ddireita); break; case 40: //baixo proxdirec.push(dbaixo); break; Alterar
61 script.js function moversnake() { //Mover todos os nodos, exceto cabeça for (i = nodos.length - 1; i > 0; i--) { nodos[i].x = nodos[i-1].x; nodos[i].y = nodos[i-1].y; nodos[i].direc = nodos[i-1].direc; //Se lista de comandos não estiver vazia if (proxdirec.length > 0) //Se há uma direção diferente da atual if (nodos[0].direc!= proxdirec[0]) //Alterar a direção nodos[0].direc = proxdirec[0]; //Executa movimento da cabeça nodos[0].mover(); //Enquanto houverem comandos na lista while (proxdirec.length > 0) { //Se o comando é redundante if (proxdirec[0] == nodos[0].direc) //Remove o comando do inicio da lista proxdirec.shift(); else //Se não for, para a repetição break;
62 Snake ESTÍMULOS SONOROS
63 Estímulos Sonoros Conforme comentado anteriormente, quanto mais estimularmos, de forma positiva, os sentidos dos jogadores, maior a probabilidade dele se sentir como parte do jogo; Para isto, iremos adicionar alguns pequenos sons associados a eventos como colisões; Baixe os arquivos e salve na subpasta snd: br.mp_ e br.ogg; cp.mp_ e cp.ogg; e ha.mp_ e ha.ogg. Renomeie as extensões.mp_ para.mp3
64 <audio> e <source> HTML 5! MIME Types: MP3 audio/mpeg Ogg audio/ogg Wav audio/wav Suporte: Ps.: Múltiplos <source> fornecem redundância! Browser MP3 Wav Ogg IE 9+ Sim Não Não Chrome 6+ Sim Sim Sim Firefox 3.6+ Não Sim Sim Safari 5+ Sim Sim Não Opera 10+ Não Sim Sim
65 index.html Adicionar dentro do <body>: <audio controls id= "comer1"> <source src= "snd/cp.mp_" type="audio/mpeg"> <source src= "snd/cp.ogg" type="audio/ogg"> </audio> <audio controls id= "comer2"> <source src= "snd/br.mp_" type="audio/mpeg"> <source src= "snd/br.ogg" type="audio/ogg"> </audio> <audio controls id="gameover"> <source src= "snd/ha.mp_" type="audio/mpeg"> <source src= "snd/ha.ogg" type="audio/ogg"> </audio>
66 script.js //Referências dos objetos gráficos var canvas = document.getelementbyid("tela"); var context = canvas.getcontext("2d"); var btpausa = document.getelementbyid("btpausa"); var sndcomer1 = document.getelementbyid("comer1"); var sndcomer2 = document.getelementbyid( comer2"); var sndgameover = document.getelementbyid("gameover"); Prática: Insira os comandos de reprodução nos locais apropriados: sndcomer1.play(); sndcomer2.play(); sndgameover.play();
67 Snake COMENDO!
68 Comendo Cada vez que a cabeça da snake encontrar uma fruta, a fruta será comida! O ato de comer a fruta deve fazer com que aquela fruta desapareça e apareça uma nova fruta em outro lugar; O lugar de surgimento da nova fruta deve ser aleatório A fruta não pode aparecer em nenhuma posição já ocupada por alguma parte do corpo da snake; Ao comer cada fruta, o corpo da snake deve crescer em um nodo.
69 Comendo Ao comer a fruta, deverá ser emito apenas um dos dois sons de comer: comer1 comer2 O algoritmo deverá sortear de forma aleatória, dando preferência para o som comer1.
70 script.js function sndcomer() { //Reproduzir som aleatório de comer if (Math.random() < 0.8) sndcomer1.play(); else sndcomer2.play(); function novaposfruta() { //Determinar uma nova posição para a fruta do { xfruta = Math.floor(Math.random() * nx); yfruta = Math.floor(Math.random() * ny); while (colisaofruta() == true); function colisaofruta() { //Verificar se posição da fruta colide com corpo da snake for (i = 0; i < nodos.length; i++) { if ((xfruta == nodos[i].x) && (yfruta == nodos[i].y)) return true; return false;
71 script.js function detectarcolisoes() {... //Comer a fruta if ((nodos[0].x == xfruta) && (nodos[0].y == yfruta)) { sndcomer(); var ultimo = nodos.length - 1; nodos.push(new Nodo(nodos[ultimo].x, nodos[ultimo].y, nodos[ultimo].direc)); var novoultimo = ultimo + 1; switch (nodos[ultimo].direc) { case dbaixo: nodos[novoultimo].y -= 1; break; case ddireita: nodos[novoultimo].x -= 1; break; case dcima: nodos[novoultimo].y += 1; break; case desquerda: nodos[novoultimo].x += 1; break; novaposfruta();
72 Snake ANIMANDO AS COISAS
73 Animações O movimento da Snake já é uma animação bem simples. Animações nada mais são do que mudanças constante na cena, representando alguma coisa; Animações podem ser definidas de formas simples, como uma sequência de imagens que são alternadas, ou de formas mais complexas, através da reconstrução de uma geometria ao longo do tempo.
74 Animações Em nosso jogo, iremos inserir uma animação muito simples, apenas a fruta vermelha irá girar em torno de seu centro; Para isto, iremos redesenhar ela, não completamente circular, pois assim podemos observar alterações na imagem;
75 script.js //Informações sobre estado atual do jogo var rotacao = 0; Inserir no Inicio //Desenhar a fruta context.fillstyle = "#FF0000"; xi = distancia + (xfruta * (largura + distancia)) + Math.floor(largura / 2); yi = distancia + (yfruta * (largura + distancia)) + Math.floor(largura / 2); rotacao += Math.PI * 0.1; if (rotacao > Math.PI * 2) rotacao -= Math.PI * 2; var r = rotacao + (Math.PI * 1.5); context.beginpath(); context.arc(xi, yi, distancia, r, rotacao, true); context.closepath(); context.fill(); Alterar em desenhar()
76 Trabalho 1. Customize cores e outras configurações do arquivo de estilo; 2. Customize cores, tamanhos e disposição dos objetos do jogo (dentro do Javascript). Utilize gradientes ou imagens; 3. Complete o HTML informando o nome da disciplina, o nome do instituto e o seu nome, dispondo os elementos com layouts CSS; 4. Existe um bug: quando a Snake está indo em uma determinada direção, caso seja pressionada uma tecla para ela ir ao sentido oposto, ela morre. Corrija este bug. 5. Outro bug: quando o jogo não esta em execução, teclas pressionadas são enfileiradas. Ao retomar o jogo a snake irá realizar movimentos inesperados! Corrija este bug. 6. Adicione novas características e funcionalidades: 1. Crie um placar com pontuação; 2. Crie uma indicação visual dentro do Canvas de fim de jogo; 3. Crie frutas especiais, que aparecem em momentos aleatórios, valem mais pontos, mas permanecem por pouco tempo disponíveis; 4. Adicione teclas de atalho para Pausa e para Novo Jogo ; 5. Ao comer cada fruta, aumente um pouco a velocidade; 6. Crie outros elementos a seu critério; 7. Entregue os arquivos por ao Professor.
Construindo um Jogo para a Web Pac-man
Construindo um Jogo para a Web Pac-man Programação para a Internet Prof. Vilson Heck Junior Tecnologias Necessárias Tecnologias já Estudadas: HTML; CSS; JavaScript; Tecnologias Novas: Computação Gráfica
Construindo um Jogo para a Web - Tetris
Construindo um Jogo para a Web - Tetris Programação para a Internet Prof. Vilson Heck Junior Tecnologias Necessárias Tecnologias já Estudadas: HTML; CSS; JavaScript; Tecnologias Novas: Computação Gráfica
Construindo um Jogo para a Web Flappy Bird
Construindo um Jogo para a Web Flappy Bird Programação para a Internet Prof. Vilson Heck Junior Tecnologias Necessárias Tecnologias já Estudadas: HTML; CSS; JavaScript; Tecnologias Novas: Computação Gráfica
Construindo um Jogo para a Web River Raid
Construindo um Jogo para a Web River Raid Programação para a Internet Prof. Vilson Heck Junior Tecnologias Necessárias Tecnologias já Estudadas: HTML; CSS; JavaScript; Tecnologias Novas: Computação Gráfica
Construindo um Jogo para a Web - Breakout
Construindo um Jogo para a Web - Breakout Programação para a Internet Prof. Vilson Heck Junior Tecnologias Necessárias Tecnologias já Estudadas: HTML; CSS; JavaScript; Tecnologias Novas: Computação Gráfica
Construindo um Jogo para a Web Pinball
Construindo um Jogo para a Web Pinball Programação para a Internet Prof. Vilson Heck Junior Tecnologias Necessárias Tecnologias já Estudadas: HTML; CSS; JavaScript; Tecnologias Novas: Computação Gráfica
Animação - Movendo objeto com HTML CANVAS
Animação - Movendo objeto com HTML CANVAS Para executar estes exemplos utilizaremos o site: https://www.tutorialspoint.com Escolha o opção JS (Javascript) Etapas básicas de animação Estas são as etapas
Criação de Animação com Sprite com HTML CANVAS
Criação de Animação com Sprite com HTML CANVAS Para executar estes exemplos utilizaremos nosso navegador, por causa dos arquivos de imagem. Exemplo 2 Sprites A sequência de Sprite utilizada neste exemplo
AULA 11 DESENVOLVIMENTO DE GAMES UTILIZANDO O HTML5
AULA 11 DESENVOLVIMENTO DE GAMES UTILIZANDO O HTML5 HTML5 E JAVASCRIPT O HTML5 é a mais recente versão do padrão HTML; fornece-nos muitos recursos para uma maior interatividade e suporte de mídia. Esses
Introdução ao HTML5 Canvas
Introdução ao HTML5 Canvas Compilação feita com base nas referências por: Prof. José Cintra http://www.josecintra.com/blog Download dos exemplos disponíveis no GitHub Apresentação O objetivo deste minicurso
Desenvolvimento Web. HTML 5 Parte I. Prof. Vicente Paulo de Camargo
Parte I Prof. Vicente Paulo de Camargo Páginas com podem ser desenvolvidas com editor de texto simples Existem, no entanto, alguns editores interessantes, que facilitam a edição de páginas É o caso de
Flash CC Plano de Aula - 24 Aulas (Aulas de 1 Hora).
5923 - Flash CC Plano de Aula - 24 Aulas (Aulas de 1 Hora). Aula 1 Capítulo 1 - Introdução ao Flash CC 1.1. Novidades do Flash CC... 21 1.2. Iniciar o Flash CC... 22 1.2.1. Tela Inicial... 23 1.2.2. Área
Plano de Aula - Flash CC - cód Horas/Aula
Plano de Aula - Flash CC - cód.5923 24 Horas/Aula Aula 1 Capítulo 1 - Introdução ao Flash CC Aula 2 1 - Introdução ao Flash CC Aula 3 Capítulo 2 - Documentos Aula 4 2 - Documentos 1.1. Novidades do Flash
Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Felippe Scheidt IFPR Campus Foz do Iguaçu. Math, Strings, Arrays e Date
Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Felippe Scheidt IFPR Campus Foz do Iguaçu JS Math, Strings, Arrays e Date Javascript possui uma biblioteca interna chamada Math
Java: Linguagem de programação (OOP) JavaScipt: Linguagem de scripts (OOP)
Executado do lado do cliente, interage com o usuário sem a necessidade do script passar pelo servidor. Desenvolvida por Brendan Eich, da Netscape Communications Corporation em 1995 (LiveScript). 1ª linguagem
Material criado e organizado por: Suéllen Rodolfo Martinelli. Disponibilizado em:
Material criado e organizado por: Suéllen Rodolfo Martinelli Disponibilizado em: www.scratchbrasil.net.br Um jogo muito simples e viciante que foi lançado no ano de 2014 para celulares, é o jogo Flappy
Refinamentos sucessivos
Refinamentos sucessivos Objetivos: Estudar a técnica de refinamentos sucessivos Jogo: 2048 Implementaremos o jogo 2048, com o objetivo de estudar a manipulação dos elementos de uma matriz Utilizaremos
Canvas. <canvas id= meucanvas width= 200 height= 100 ></canvas>
Canvas Uma tela bitmap dependente de resolução que pode ser usada para renderização de textos, gráficos, jogos ou outras imagens em tempo real. Permite desenhar elementos gráficos via Javascript. Desenha
Estruturas de Repetição
Algoritmos e Estruturas de Dados I (DCC/003) Estruturas de Repetição Aula Tópico 4 (while, for) 1 Problema 10 Suponha que soma (+) e subtração (-) são as únicas operações disponíveis em C. Dados dois números
Desenvolvimento de Jogos 3D com o Blender
Desenvolvimento de Jogos 3D com o Blender Por Marcos Romero Outubro / 2008 www.blender.org Big Buck Bunny O Blender já conquistou seu espaço na área de animações em 3D. Projetos como Elephant Dreams e
JavaScript (Elementos de Programação e Programação Básica)
Linguagem de Programação para Web JavaScript (Elementos de Programação e Programação Básica) Prof. Mauro Lopes 1 Objetivos Iniciaremos aqui o nosso estudo sobre a Linguagem de Programação JavaScript. Apresentaremos
PROGRAMAÇÃO PARA INTERNET RICA INTRODUÇÃO AO ACTIONSCRIPT 3. Prof. Dr. Daniel Caetano
PROGRAMAÇÃO PARA INTERNET RICA INTRODUÇÃO AO ACTIONSCRIPT 3 Prof. Dr. Daniel Caetano 2012-2 Objetivos Apresentar os conceitos básicos da linguagem ActionScript 3.0 Capacitar o aluno para criar programas
ÍNDICE. PowerPoint CAPÍTULO 1... CAPÍTULO 2... CAPÍTULO 3...
ÍNDICE CAPÍTULO 1... Iniciando o PowerPoint 2016...08 Conhecendo a tela...09 Exibir réguas e grades...14 Slide mestre...16 Iniciar uma apresentação em branco...17 Abrir uma apresentação existente...17
Material original criado por: Vitor de Carvalho Melo Lopes e Jucimar de Souza Lima Junior
Material reorganizado e adaptado por: Suéllen Rodolfo Martinelli Disponibilizado em: www.scratchbrasil.net.br Material original criado por: Vitor de Carvalho Melo Lopes e Jucimar de Souza Lima Junior Disponibilizado
PROGRAMACAO E INTEGRACAO DE JOGOS I
PROGRAMACAO E INTEGRACAO DE JOGOS I Aula 4 Mestrado em Educação (em andamento) Pós-graduação em Negócios em Mídias Digitais (em andamento) MBA em Marketing e Vendas Especialista em games : Produção e Programação
JAVASCRIPT. Desenvolvimento Web I
JAVASCRIPT Desenvolvimento Web I JavaScript HTML Conteúdo - ( Markup language) CSS Apresentação (Style Sheet language) JavaScript (Programming language) Uso de JavaScript : Validação de formulários, galerias
LISTA DE ATIVIDADES Semestre Letivo 2018/1
Computação Gráfica Lista de Atividades (atualizada em 13 jun. 2018) [email protected] LISTA DE ATIVIDADES Semestre Letivo 2018/1 ATIVIDADE-12 Elaborar um programa X3D, utilizando a técnica
PROGRAMAÇÃO PARA INTERNET RICA INTRODUÇÃO AO ACTIONSCRIPT 3. Prof. Dr. Daniel Caetano
PROGRAMAÇÃO PARA INTERNET RICA INTRODUÇÃO AO ACTIONSCRIPT 3 Prof. Dr. Daniel Caetano 2012-1 Objetivos Apresentar os conceitos básicos da linguagem ActionScript 3.0 Capacitar o aluno para criar programas
INTRODUÇÃO AO JQUERY PROF. ME. HÉLIO ESPERIDIÃO
INTRODUÇÃO AO JQUERY PROF. ME. HÉLIO ESPERIDIÃO Introdução JQuery é uma biblioteca JavaScript desenvolvida para simplificar os scripts client-side que interagem com o HTML. Ela foi lançada em janeiro de
Gráficos Comerciais na WEB com Chart.js
Gráficos Comerciais na WEB com Chart.js Compilação feita com base nas referências por: José Augusto Cintra Professor da Faculdade Sumaré SP Analista de TI da Empresa PRODAM SP [email protected]
XNA. Introdução ao XNA
XNA Introdução ao XNA Introdução XNA Game Studio 3.1 (http://creators.xna.com/) Visual Studio 2008 Introdução File New Project Introdução Solution Explorer Introdução Estrutura geral de um jogo Existência
HTML 5 e o desenvolvimento de Jogos Digitais
HTML 5 e o desenvolvimento de Jogos Digitais Marcelo Henrique dos Santos http://www.marcelohsantos.com [email protected] Mestrando em Educação (em andamento) Negócios em Mídias Digitais (em andamento)
JavaScript (ou JScript)
1. Introdução JavaScript (ou JScript) Uma linguagem como o JavaScript permite criar interfaces interativas na web (permite a interação do usuário). Para desenvolver web sites interativos precisamos de
Redes de Computadores I Seminário Novas Tecnologias em Redes HTML5. Jessica da Silva Hahn Letícia Aparecida Coelho
Redes de Computadores I Seminário Novas Tecnologias em Redes HTML5 Jessica da Silva Hahn Letícia Aparecida Coelho Internet HTTP Dois métodos de requisição HTTP são os mais utilizados: GET e POST Outros
Estruturas de Controle em c#
Estruturas de Controle em c# Fábio Moura Governo de Pernambuco Agenda Tipos de estruturas de controle; if; if-else; if-else-if; switch-case; while; do-while; for; foreach; Exercício. Tipos de Estruturas
Aplicativos móveis com HTML5
Aplicativos móveis com HTML5 Preparando o ambiente de desenvolvimento O código HTML pode ser escrito em qualquer editor de texto comum. Você pode utilizar o editor padrão do seu sistema operacional (Bloco
Programação Mestrado Integrado em Engenharia Aeronáutica 1º ano, 1º semestre. T. 04 Algoritmos e Programação Estruturada
Programação Mestrado Integrado em Engenharia Aeronáutica 1º ano, 1º semestre T. 04 Algoritmos e Programação Estruturada Objectivos: Aprender o conceito de algoritmo e suas características fundamentais
Programação WEB I DOM (Document Object Manager)
Programação WEB I DOM (Document Object Manager) DOM Significa Modelo de Objetos de Documentos e tem por finalidade descrever e padronizar os objetos e seus relacionamentos em uma aplicação. Tem a finalidade
Ambiente de programação
EXPLORANDO O O que é o SCRATCH? O software Scratch é um ambiente para a criação de jogos, histórias e animações, usando raciocínio lógico. A partir desta ferramenta é possível exercitar conceitos de lógica
Introdução 1 PARTE I: A LINGUAGEM DA WEB 5
Sumário Introdução 1 PARTE I: A LINGUAGEM DA WEB 5 Capítulo 1: Introdução a HTML5 7 Criando com tags: um panorama 8 Incorporando os novos elementos de HTML5 9 Usando tags válidas de HTML4 11 Esquecendo
INF Fundamentos de Computação Gráfica /1
INF01047 - Fundamentos de Computação Gráfica - 2013/1 Especificação do Trabalho Final Professores: João Comba ([email protected]) e Marcelo Walter ([email protected]) Objetivo Consolidar o conhecimento
Material reorganizado e adaptado por: Suéllen Rodolfo Martinelli. Disponibilizado em:
Material reorganizado e adaptado por: Suéllen Rodolfo Martinelli Disponibilizado em: www.scratchbrasil.net.br Material original criado por: Cesar Ferreira, Cláudio Gilberto César e Susana Seidel Disponibilizado
O elemento <script> Atributos opcionais do <script>:
JavaScript O elemento Atributos opcionais do : async (somente para arquivos de scripts externos): Indica que o script deve ser carregado, porém ele não deve impedir que outros recursos
PROGRAMAÇÃO PARA INTERNET RICA DHTML E O DOCUMENT OBJECT MODEL
PROGRAMAÇÃO PARA INTERNET RICA DHTML E O DOCUMENT OBJECT MODEL Prof. Dr. Daniel Caetano 2012-2 Objetivos Apresentar os conceitos do DHTML Conceituar a estruturação dos objetos do DOM Compreender as diferentes
Aula 09 Áudio (Softwares)
Aula 09 Áudio (Softwares) Audacity Audacity é um editor de áudio que pode gravar, reproduzir e importar/exportar sons nos formatos WAV, AIFF, MP3 e OGG. Edite suas músicas usando cortes, copie e cole recursos
Introdução a Programação de Jogos
Introdução a Programação de Jogos Aula 05 Introdução ao Löve Edirlei Soares de Lima Hello World em Löve function love.draw() love.graphics.print("hello World", 360, 300) end O comando
1.5 PROGRAMAÇÃO DE JOGOS EM AMBIENTE DE REA LIDADE AUMENTADA AMBIENTES INTEGRADOS DE DESENVOLVIMENTO DE JOGOS 19
ÍNDICE GERAL SOBRE O LIVRO XI 1 INTRODUÇÃO 1 1.1 GERAÇÃO DIGITAL NATIVE 2 1.2 ALGORITMIA E PROGRAMAÇÃO DE COMPUTADORES 2 1.3 COMPUTAÇÃO EM NUVEM 4 1.4 PROGRAMAÇÃO DE DISPOSITIVOS MÓVEIS 6 1.5 PROGRAMAÇÃO
Dreamweaver CS5 Plano de Aula - 24 Aulas (Aulas de 1 Hora).
4149 - Dreamweaver CS5 Plano de Aula - 24 Aulas (Aulas de 1 Hora). Aula 1 Capítulo 1 - Introdução 1.1. Novidades do Dreamweaver CS5...23 1.2. Área de Trabalho...23 1.2.1. Tela de Boas-vindas...24 1.2.2.
LISTA DE ATIVIDADES Semestre Letivo 2018/1
Computação Gráfica Lista de Atividades (atualizada em 09 mai. 2018) [email protected] LISTA DE ATIVIDADES Semestre Letivo 2018/1 ATIVIDADE-9 (TRABALHO FINAL) Elaborar um jogo bidimensional,
Dreamweaver CS6 Plano de Aula - 24 Aulas (Aulas de 1 Hora).
5232 - Dreamweaver CS6 Plano de Aula - 24 Aulas (Aulas de 1 Hora). Aula 1 Capítulo 1 - Introdução ao Dreamweaver CS6 1.1. Novidades do Dreamweaver CS6... 23 1.2. Área de Trabalho... 24 1.2.1. Tela de Boas-vindas...
Plano de Aula - Dreamweaver CS5 - cód Horas/Aula
Plano de Aula - Dreamweaver CS5 - cód.4149 24 Horas/Aula Aula 1 Capítulo 1 - Introdução Aula 2 Continuação do Capítulo 1 - Introdução Aula 3 Capítulo 2 - Site do Dreamweaver 1.1. Novidades do Dreamweaver
Paradigmas de Programação. Java First-Tier: Aplicações. Orientação a Objetos em Java (I) Nomenclatura. Paradigma OO. Nomenclatura
Java First-Tier: Aplicações Orientação a Objetos em Java (I) Paradigmas de Programação Programação Funcional Programação Procedural Programação Orientada por Objetos Grupo de Linguagens de Programação
Introdução a Javascript
Introdução a Javascript André Tavares da Silva [email protected] Introdução Javascript Javascript é uma linguagem que permite injetar lógica em páginas escritas em HTML Podem estar "soltos" ou atrelados
Computação II (MAB 225)
Computação II (MAB 225) Fabio Mascarenhas - 2015.1 http://www.dcc.ufrj.br/~fabiom/pythonoo Orientação a Objetos Orientação a objetos é um paradigma de programação no qual estruturamos um programa como
<HTML> Vinícius Roggério da Rocha
Vinícius Roggério da Rocha www.monolitonimbus.com.br O que é HTML? HTML = HyperText Markup Language ou Linguagem de Marcação de Hipertexto Linguagem: maneira de se comunicar (entre máquinas, pessoas
Dreamweaver CS5 -5- CAPÍTULO 1... Iniciando e conhecendo o dreamweaver...8 Interfaces...23 Criando e confi gurando sites...24 Exercícios...
DREAMWEAVER CS5 INTRODUÇÃO O Dreamweaver CS5 é um editor avançado de páginas para Internet, pois possui ferramentas para usuários que não são familiarizados com as linguagens HTML, Java e PHP. Com o Dreamweaver
DreamweaverCC Plano de Aula - 24 Aulas (Aulas de 1 Hora).
6188 - DreamweaverCC Plano de Aula - 24 Aulas (Aulas de 1 Hora). Aula 1 Capítulo 1 - Noções Básicas 1.1. Novidades do Dreamweaver CC... 23 1.1.1. Aplicativo Creative Cloud... 24 1.2. Área de Trabalho...
Plano de Aula - DreamWeaver CC - cód Horas/Aula
Plano de Aula - DreamWeaver CC - cód. 6188 24 Horas/Aula Aula 1 Capítulo 1 - Noções Básicas Aula 2 1 - Noções Básicas Aula 3 Capítulo 2 - Site do DreamWeaver Aula 4 2 - Site do DreamWeaver 1.1. Novidades
Os componentes HTML possuem a capacidade de configurar eventos
Javascripts (JS) Eventos no HTML Os componentes HTML possuem a capacidade de configurar eventos Estes eventos são tratados por um código específico, criado pelo programador, em funções javascript Alguns
Crie seu próprio mundo
Scratch 2 Crie seu próprio mundo All Code Clubs must be registered. By registering your club we can measure our impact, and we can continue to provide free resources that help children learn to code. You
Laboratório de Programação com Games. Conteúdo: Professor: - Conceitos de programação com Python. Instituto de Computação - UFF
Laboratório de Programação com Games Professor: Anselmo Montenegro www.ic.uff.br/~anselmo Conteúdo: - Conceitos de programação com Python 1 Roteiro O que é a biblioteca PPlay Instalação da biblioteca PPlay
HTML5. André Tavares da Silva. [email protected]
HTML5 André Tavares da Silva [email protected] O que é HTML5? HTML5 será o novo padrão para HTML, XHTML e HTML DOM (Document Object Model). A última versão (4.01) foi definida em 1999 e a Web mudou
INFORMÁTICA. 02. Com relação à figura abaixo e ao Word, marque a opção correta:
INFORMÁTICA 01. Todos os aplicativos abaixo são usados para edição de texto, EXCETO a) WordPad b) NotePad c) MS Word d) Windows Media Player e) BrOffice.org Writer 01. D Comentário: Os aplicativos que
SCC0504 Programação Orientada a Objetos Projeto
SCC0504 Programação Orientada a Objetos Projeto Luiz Eduardo Virgilio da Silva ICMC, USP Proposta Consulte no Moodle o texto contendo a descrição detalhada do projeto Eventuais correções serão feita apenas
UNIVERSIDADE FEDERAL DO PARANÁ Nível 1 - POTI Aula 1 - Combinatória
UNIVERSIDADE FEDERAL DO PARANÁ Nível 1 - POTI Aula 1 - Combinatória Exercícios: 1. Maria inventou uma brincadeira. Digitou alguns algarismos na primeira linha de uma folha. Depois, no segunda linha, fez
Fireworks CS6 Plano de Aula - 16 Aulas (Aulas de 1 Hora).
5019 - Fireworks CS6 Plano de Aula - 16 Aulas (Aulas de 1 Hora). Aula 1 Capítulo 1 - Introdução ao Fireworks CS6 1.1. Novidades da Versão... 23 1.2. Inicializar o Fireworks CS6... 24 1.3. Área de Trabalho...
Introdução ao Javascript. Parte 3 Prof. Victor Hugo Lopes
Introdução ao Javascript Parte 3 Prof. Victor Hugo Lopes agenda Trabalhando com Eventos DOM na prática: trabalhando com propriedades http://goo.gl/tkjhmb Eventos Evento é um acontecimento que ocorre a
Ensine Seus Filhos A Programar
Ensine Seus Filhos A Programar SUMÁRIO Agradecimentos 19 Introdução O que é programar e por que isso é bom para seus filhos? 20 Por que as crianças devem aprender a programar?... 21 Programar é divertido....
Unidade 9: Desenvolvendo um Game no App Inventor
Unidade 9: Desenvolvendo um Game no App Inventor Indice 1. Introdução...3 2. Começando........ 3 3. Configure os Componentes........3 4. Adicionar comportamento aos Componentes...5 5. Criando Variáveis...6
Plano de Aula - Flash CS6 - cód Horas/Aula
Plano de Aula - Flash CS6 - cód.5282 24 Horas/Aula Aula 1 Capítulo 1 - Introdução ao Flash CS6 Aula 2 1 - Introdução ao Flash CS6 Aula 3 Capítulo 2 - Documentos 1.1. Novidades do Flash CS6... 23 1.2. Iniciando
Capítulo 9 - Imagens. Imagens
Capítulo 9 - Imagens 9 Imagens EM JAVASCRIPT, É POSSÍVEL MANIPULAR COM AS IMAGENS DE UMA PÁGINA, alterando a URL que localiza o arquivo de imagem. Assim, pode-se trocar a imagem que está sendo exibida
JAVASCRIPT Laboratórios de Informática João Paulo Barraca, André Zúquete, Diogo Gomes
http://cseweb.ucsd.edu/~lerner/js.jpg JAVASCRIPT Laboratórios de Informática 2014-2015 João Paulo Barraca, André Zúquete, Diogo Gomes HTML, CSS, Javascript HTML define estrutura CSS define estilo Javascript
Para acessar a TV Corporativa, deve-se informar o endereço do Servidor, barra(/) mge,
OBJETIVOS A mobilidade da informação nos dias de hoje, ultrapassou diversas fronteiras, inclusive a da disponibilidade. O Sankhya-W surgiu para atender essa necessidade. Com ele, será possível levar informações
Desenvolvimento de Aplicações Móveis com HTML5
Desenvolvimento de Aplicações Móveis com HTML5 Date : 9 de Março de 2013 Por Nuno Nunes para o Pplware Workshop realizado no âmbito do Mestrado em Computação Móvel do Instituto Politécnico da Guarda na
INTRODUÇÃO AO DESENVOLVIMENTO FRONT-END COM HTML, CSS E JAVASCRIPT
v1.1 INTRODUÇÃO AO DESENVOLVIMENTO FRONT-END COM HTML, CSS E JAVASCRIPT AULA 7 CRIANDO INTERAÇÕES COM JAVASCRIPT (PARTE 2) Eder Franco @ FPF Tech The road so far... JavaScript Desenvolvida para criar interações
