Skip to content

Commit e6ffa43

Browse files
committed
fix: addresses remaining feedback
1 parent c1f4878 commit e6ffa43

File tree

1 file changed

+21
-21
lines changed

1 file changed

+21
-21
lines changed

7-animation/3-js-animation/article.md

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ O pseudo-código pode ficar assim:
1414

1515
```js
1616
let timer = setInterval(function() {
17-
if (animation complete) clearInterval(timer);
18-
else increase style.left by 2px
17+
if (animação completa) clearInterval(timer);
18+
else incremente style.left em 2px
1919
}, 20); //aumenta 2px a cada 20ms, em média 50 quadros por segundo
2020
```
2121

@@ -38,8 +38,8 @@ let timer = setInterval(function() {
3838

3939
}, 20);
4040

41-
// timePassed vai de 0 a 2000
42-
// recebe valores de 0 a 400px
41+
// enquanto timePassed vai de 0 a 2000
42+
// 'left' recebe valores de 0 a 400px
4343
function draw(timePassed) {
4444
train.style.left = timePassed / 5 + 'px';
4545
}
@@ -75,9 +75,9 @@ setInterval(animate2, 20); // em diferentes lugares do script
7575
setInterval(animate3, 20);
7676
```
7777

78-
Esses diferentes redesenhos deveriam ser agrupados juntos, para fazer com o que o redesenho seja mais fácil para o navegador (e, portanto, mais suave para as pessoas).
78+
Esses diferentes redesenhos deveriam ser agrupados juntos, para fazer com o que o redesenho seja mais fácil para o navegador e, portanto, menos carga sobre a CPU e mais suave para as pessoas.
7979

80-
Tem mais uma coisa a ser manter em mente. Às vezes, quando a CPU está sobrecarregada, ou quando existem outras reazões para resesenhar com menos frequência (como quando a aba do navegador está escondida), então não devemos executá-la a cada `20ms`.
80+
Tem mais uma coisa a se manter em mente. Às vezes, quando a CPU está sobrecarregada, ou quando existem outras reazões para resesenhar com menos frequência (como quando a aba do navegador não está visível), então não devemos executá-la a cada `20ms`.
8181

8282
Mas como sabemos disso em JavaScript? Existe uma especificação [Tempo de animação](http://www.w3.org/TR/animation-timing/) que fornece a função `requestAnimationFrame`. Ela aborda todos esses problemas e mais.
8383

@@ -149,7 +149,7 @@ Função `animate` aceita 3 parâmetros que essencialmente descrevem a animaçã
149149
: Tempo total da animação. Exemplo, `1000`.
150150

151151
`timing(timeFraction)`
152-
: Função de tempo, como a propriedade CSS `transition-timing-function` que recebe a fração de tempo percorrido (`0` no início, `1` no final) e retorna a conclusão da animação (como `y` na curva de Bezier).
152+
: Função de tempo, tal como a propriedade CSS `transition-timing-function` que recebe a fração de tempo percorrido (`0` no início, `1` no final) e retorna a conclusão da animação (como `y` na curva de Bezier).
153153

154154
Por exemplo, uma função linear significa que a animação continue uniformemente com a mesma velocidade:
155155

@@ -227,7 +227,7 @@ Veja em ação (clique para ativar):
227227

228228
[iframe height=40 src="quad" link]
229229

230-
...Ou a curva cúbica ou evento maior que `n`. Aumentar a potência faz com que acelere mais rapidamente.
230+
...Ou a curva cúbica ou até um `n` maior. Aumentar a potência faz com que acelere mais rapidamente.
231231

232232
Aqui está o gráfico para `progress` na potência `5`:
233233

@@ -312,7 +312,7 @@ Em ação para `x=1.5`:
312312

313313
[iframe height=40 src="elastic" link]
314314

315-
## Reversão: ease\*
315+
## Reversão: ease*
316316

317317
Então temos uma coleção de funções de tempo. Sua aplicação direta é chamada "easeIn".
318318

@@ -326,7 +326,7 @@ No modo de "eastOut", a função `timing` é envoltada pela `timingEaseOut`:
326326
timingEaseOut(timeFraction) = 1 - timing(1 - timeFraction)
327327
```
328328

329-
Em outras palavras, temos uma função de "transformar" `makeEaseOut` que recebe a função de tempo "regular" e retorna a função que a envolve:
329+
Em outras palavras, temos uma função "transformar" `makeEaseOut` que recebe a função de tempo "regular" e retorna a função que a envolve:
330330

331331
```js
332332
// aceita a função de tempo, returna a variante transformada
@@ -353,16 +353,16 @@ Aqui podemos ver como a transformação muda o comportamento da função:
353353

354354
Se existe um efeito de animação no início, como quique -- será mostrado no final.
355355

356-
No gráfico acima, <span style="color:#EE6B47">quique regular</span> tem a cor vermelha, e <span style="color:#62C0DC">quique easeOut</span> é azul.
356+
No gráfico acima, o <span style="color:#EE6B47">quique regular</span> tem a cor vermelha, e o <span style="color:#62C0DC">quique easeOut</span> é azul.
357357

358358
- Quique regular -- o objeto salta na parte inferior, e no final pula abruptamente para o topo.
359-
- Depois `easeOut` -- ele pula no começo, depois quica naquele lugar.
359+
- Depois de `easeOut` -- ele primeiro pula para o topo, e depois quica naquele lugar.
360360

361361
### easeInOut
362362

363363
Podemos também mostrar o efeito tanto no começo quanto no final da animação. A transformação é chamada "easeInOut".
364364

365-
Dado a função de tempo, calculamos o estado de animação assim:
365+
Dada a função de tempo, calculamos o estado de animação assim:
366366

367367
```js
368368
if (timeFraction <= 0.5) { // primeira metade da animação
@@ -372,7 +372,7 @@ if (timeFraction <= 0.5) { // primeira metade da animação
372372
}
373373
```
374374

375-
O código do wrapper:
375+
O código da envolvente:
376376

377377
```js
378378
function makeEaseInOut(timing) {
@@ -393,27 +393,27 @@ Em ação, `bounceEaseInOut`:
393393

394394
A transformaçào "easeInOut" une dois gráficos em um: `easeIn` (regular) para a primeira metade da animação e `easeOut` (invertida) -- para a segunda parte.
395395

396-
O efeito é claramente visto se compararmos os gráficos de `easeIn`, `easeOut` e `easeInOut` da função `circ`:
396+
O efeito é claramente visto se compararmos os gráficos de `easeIn`, `easeOut` e `easeInOut` da função de tempo `circ`:
397397

398398
![](circ-ease.svg)
399399

400-
- <span style="color:#EE6B47">Red</span> é a variante regular de `circ` (`easeIn`).
401-
- <span style="color:#8DB173">Greed</span> -- `easeOut`.
402-
- <span style="color:#62C0DC">Blue</span> -- `easeInOut`.
400+
- <span style="color:#EE6B47">Vermelho</span> é a variante regular de `circ` (`easeIn`).
401+
- <span style="color:#8DB173">Verde</span> -- `easeOut`.
402+
- <span style="color:#62C0DC">Azul</span> -- `easeInOut`.
403403

404404
Como podemos ver, o gráfico da primeira metade da animação é a reduzida `easeIn`, e a segunda metade é a reduzida `easeOut`. Como resultado, a animação começa e termina com o mesmo efeito.
405405

406406
## "Desenho" mais interessante
407407

408408
Ao invés de mover o elemento, podemos fazer outra coisa. Tudo o que precisamos é escrever a `draw` apropriada.
409409

410-
Aqui está o texto animato "quicando":
410+
Aqui está o texto animado "quicando":
411411

412412
[codetabs src="text"]
413413

414414
## Resumo
415415

416-
Para animação que CSS não lida bem, ou aquelas que precisam de controle rígido, JavaScript pode ajudar. Animações JavaScript devem ser implementadas via `requestAnimationFrame`. Esse método embutido permite configurar uma callback para que seja executada quando o navegador estiver preparando uma repintura. Geralmente é bem breve, mas o tempo exato depende do navegador.
416+
Para animação que CSS não lida bem, ou aquelas que precisam de controle rígido, JavaScript pode ajudar. Animações com JavaScript devem ser implementadas via `requestAnimationFrame`. Esse método embutido permite configurar uma callback para que seja executada quando o navegador estiver preparando uma repintura. Geralmente é bem breve, mas o tempo exato depende do navegador.
417417

418418
Quando uma página está em segundo plano, não ocorrem repinturas, então a callback não será executada: a animação será suspensa e não consumirá recursos. Isso é ótimo.
419419

@@ -449,6 +449,6 @@ Opções:
449449

450450
Certamente poderíamos melhorá-las, adicionar mais recursos adicionais supérfluos, mas animações JavaScript não são aplicadas no dia-a-dia. Elas são usadas para fazer coisas mais interessantes e não-padrão. Então você gostaria de adicionar novas funcionalidades quando precisa delas.
451451

452-
Animações JavaScript podem usar qualquer função de tempo. Cobrimos muitos exemplos e transformações para fazê-las ainda mais versáteis. Ao contrário de CSS, não estamos limitados às curvas de Bezier.
452+
Animações com JavaScript podem usar qualquer função de tempo. Cobrimos muitos exemplos e transformações para fazê-las ainda mais versáteis. Ao contrário de CSS, não estamos limitados às curvas de Bezier.
453453

454454
É o mesmo com `draw`: podemos animar qualquer coisa, não só propriedades CSS.

0 commit comments

Comments
 (0)