top of page

15° Atividade - Aula 17: Barco no Mar

  • Foto do escritor: Antonio Lucas
    Antonio Lucas
  • 3 de jun. de 2019
  • 2 min de leitura

Atualizado: 4 de jun. de 2019

Para essa atividade, temos que criar o movimento de um barco no mar e discutir os

resultados. Para animar o barco, precisamos usar a função rotate().

Durante a aula, aprendemos sobre o seno e como utilizar a função sin() para retornar valores entre -1 e 1, assim podendo fazer ondulações, assim construindo a base do código. Usei um for para criar um valor de x que é incrementado em 0.1 a cada ciclo e representa a posição em no eixo x, a cada ciclo do for, é calculado o seno de x, e esse valor é utilizado para a posição no eixo y. Com essa parte do código pronta, precisamos definir o período e a amplitude, que são duas grandezas que definem o espaçamento entre as elipses que compõem onda tanto na vertical quanto na horizontal, pois se não houvesse esse espaçamento, a onda viraria basicamente uma linha reta.


Agora precisamos pegar uma imagem qualquer para representar o barco. Para anima-lo, precisamos primeiramente entender o funcionamento da função rotate(). Ela funciona rotacionando os elemento em volta da origem (ponto (0,0) originalmente) de acordo com o valor em graus dado como parâmetro. Mas para o nosso código, precisamos que o barco rotacione em volta do próprio centro, para isso vamos utilizar a função translate() junto a ela. Essa função muda o ponto da origem para a coordenada dada como parâmetro, sendo assim, se mudarmos a origem para a posição onde o barco deve estar a cada frame. Para fazer isso, precisamos apenas misturar o código que usamos para criar a onda junto com o translate() e rotate(), mas dessa vez, como não estamos usando for, precisamos utilizar uma variável que seja incrementada a cada ciclo do draw().



Como resultado, temos o gif ao lado, mas ainda podemos melhorar mais o código, fazendo um background que pareça o mar.





E esse é o resultado final.

Link para a pasta no drive.

Link para o código no github.

 
 
 

Comments


© 2019 Mami

Faça parte da nossa lista de emails

bottom of page