Advertisement
ipsBruno

(Javascript) Zig-Zag em Canvas

Dec 30th, 2012
266
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <!--  Criar área para imprimir o desenho --!>
  2.  
  3. <canvas style="background-color:black" id='canvas' width=800 height=640></canvas>
  4.  
  5.  
  6. <!-- Inicio do código javascript --!>
  7.  
  8. <script>
  9.  
  10.     // Pegar o elemento canvas na tela
  11.  
  12.     objeto = document.getElementById('canvas');
  13.     cnv = objeto .getContext('2d');
  14.  
  15.     //  Como a tela está preta (veja o black lá encima) vou colocar a cor da pintura para branco
  16.     cnv.fillStyle = "white"
  17.  
  18.     // tamanho de nossa tela
  19.     w = objeto.width;
  20.     h = objeto.height;
  21.    
  22.  
  23.     // variaveis de localização
  24.     // i = x
  25.     // j = y
  26.  
  27.     i = 0;
  28.     j = (h / 2);
  29.  
  30.     // o h / 2 serve para pegar a metade da tela, por isto o quadradinho branco vai ficar ao lado da
  31.  
  32. tela
  33.  
  34.     // pegar valor da metade da tela e armazenar em uma variávei reserva
  35.     divisao = j;
  36.    
  37.     // variável para controlar qual lado o quadradinho está indo, para fazer efeito zig zag
  38.     Right = 0;
  39.  
  40.     // variáveis para deletar o quadradinho anterior
  41.     ais = 0;
  42.     ajs = 0;
  43.  
  44.     // chamar a função
  45.                     MoverQuadrado() ;
  46.  
  47.  
  48.     function MoverQuadrado() {
  49.  
  50.        
  51.         // caso I ainda for menor que W. Continuar movendo nosso quadradinho
  52.  
  53.         if ( i < w ) {
  54.  
  55.             i ++; // aumentar posição para ele caminhar mais
  56.  
  57.             setTimeout  ("MoverQuadrado();", 1);
  58.         }
  59.  
  60.  
  61.         // caso estiver andando para direita   
  62.         if ( Right ) {
  63.  
  64.             // aumentar j apra continuar andando para direita
  65.             j ++;
  66.  
  67.             // caso ele já se distanciou o suficiente, voltar para o outro lado para fazer efeito zig zag
  68.              if( j > (divisao + 20)) {
  69.  
  70.                 // definir que não estou mais andando para direita
  71.                 Right  = 0;
  72.             }
  73.         }
  74.  
  75.         else {
  76.             // caso ele estiver andando para esquerda
  77.  
  78.             if(j < divisao - 20) {
  79.                 // CASO j tiver ultrapassado o limite, voltar para direita, fazedndo zig zag
  80.                 Right = 1; 
  81.             }          
  82.  
  83.             j --;          
  84.         }
  85.    
  86.  
  87.         // deletar quadradinho anterior para poder ficar 1 único quadradinho branco na tela
  88.         cnv.clearRect (ais, ajs, 25,25);
  89.  
  90.  
  91.        
  92.         // criar o quadradinho
  93.         cnv.fillRect (i, j, 25,25);
  94.    
  95.         // registrar qual foi o último local do quadradinho para este atual ser deletado e ser criado outro quadradinho na próxima posição
  96.         ais = i;
  97.         ajs = j;
  98.    
  99.         return true;
  100.     }
  101. </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement