Return to Video

Funções mágicas (Versão em Vídeo)

  • 0:01 - 0:05
    Aqui você deve ter percebido que definiu
    uma função em especial
  • 0:05 - 0:09
    toda vez que você desejou animar
    seu programa, a função draw.
  • 0:09 - 0:12
    Lembrando, aqui está nosso
    programa do carro animado
  • 0:14 - 0:16
    lembre que temos var x = 11
  • 0:16 - 0:18
    que é a posição inicial do carro
  • 0:18 - 0:20
    e var draw contento
    todo o código de dezenho
  • 0:20 - 0:24
    e então mudamos x adicionando 3
    em cada execução
  • 0:24 - 0:27

    e então podemos reiniciar e rodar!
  • 0:27 - 0:31
    Agora que você sabe fazer suas
    próprias funções,
  • 0:31 - 0:38
    deve estar se perguntando "e esta função
    draw? É customizável? É sempre assim?
  • 0:38 - 0:40
    Bem, esta é uma boa pergunta.
  • 0:40 - 0:45
    Veja que, em nosso ambiente Khan Academy,
    existem funções globais especiais,
  • 0:45 - 0:50
    que eu chamo de "Funções Mágicas", mas
    é só um nome que dei a elas.
  • 0:50 - 0:55
    Quando rodamos seu programa, verificamos
    se você definiu funções com certos nomes,
  • 0:55 - 1:00
    como draw, e se encontrarmos, nós às
    chamamos em momentos específicos.
  • 1:00 - 1:03
    Por exemplo, quando você cria
    a função draw em seu código,
  • 1:03 - 1:07
    nós iremos procurá-la e olhar
    o código dentro dela
  • 1:07 - 1:12
    e iremos chamar este código várias vezes,
    tão rápido quanto pudermos.
  • 1:12 - 1:17
    Se você não definir a função draw, não
    iremos chamar nada, pois não há nada aqui.
  • 1:17 - 1:23
    Ou seja, se nós renomearmos
    a função para drow
  • 1:23 - 1:26
    certo, não irá funcionar.
  • 1:26 - 1:29
    Ou para drawCar...
    ok, não funciona
  • 1:29 - 1:35
    Então, se renomearmos a função,
    o programa não a encontra mais
  • 1:35 - 1:39
    Assim o código não é rodado várias vezes
    e nada acontece.
  • 1:39 - 1:43
    Isso significa, que você não deve renomear
    uma função sua para draw,
  • 1:43 - 1:48
    a menos que você queira que ela
    seja chamada várias vezes.
  • 1:49 - 1:52
    draw não é a única
    função mágica que existe
  • 1:52 - 1:58
    Existem outras funções para manipular
    interações com mouse e teclado
  • 1:59 - 2:03
    Vamos ver um exemplo de
    outro programa de animação.
  • 2:03 - 2:13
    Digamos que queremos desenhar a bola onde
    o usuário está movendo o mouse
  • 2:13 - 2:20
    Nós temos draw, fill e então ellipse
    em (mouseX, mouseY, 10, 10)
  • 2:20 - 2:21
    Vamos tentar isso. Legal!
  • 2:21 - 2:25
    Temos algo legal colorindo a bola
    enquanto movemos.
  • 2:25 - 2:30
    Este código dentro da função draw,
    será chamado várias vezes
  • 2:30 - 2:34
    Por que nós o colocamos dentro da função
    com nome draw
  • 2:34 - 2:40
    Ele será chamado mesmo que o usuário não
    mova o mouse. Está sendo chamado agora.
  • 2:41 - 2:47
    Como pode ser visto, existe um jeito
    de fazer isso mais eficiente
  • 2:47 - 2:53
    o que precisamos mudar é o nome da função
    draw para mouseMoved
  • 2:54 - 2:59
    Nosso ambiente sempre verifica se existe a
    função mouseMoved definida
  • 2:59 - 3:06
    assim, ele irá chamá-la toda vez que o
    usuário mover o mouse, veja, funciona.
  • 3:06 - 3:14
    Mas ele não irá chamá-la se o mouse não
    estiver se movendo.
  • 3:15 - 3:22
    Antes quando usamos draw o código era
    chamado mesmo com o mouse parado.
  • 3:22 - 3:27
    Agora que usamos mouseMoved só chamamos
    o código quando o mouse move.
  • 3:27 - 3:34
    Nosso programa é mais eficiente. Então, se
    você quer fazer algo quando o mouse move
  • 3:34 - 3:40
    é melhor deixar o código dentro dentro da
    função mouseMoved em vez da draw.
  • 3:40 - 3:44
    Existe muitas outras funções
    como mouseMoved.
  • 3:44 - 3:49
    Existem mousePressed, mouseReleased e
    keyPressed. Basta ler a documentação.
  • 3:49 - 3:55
    Lembre-se que ao usar funções mágicas,
    deve chamá-las com o nome correto.
  • 3:55 - 4:00
    Se não, tenha certeza que criou um
    novo nome para sua função.
  • 4:00 - 4:02
    Legendado por [Paulo Trentin] e revisado por [Alef Almeida].
Title:
Funções mágicas (Versão em Vídeo)
Description:

Neste video, vemos o que são e a importância das Funções Mágicas, ou seja, funções com comportamento pré-definido e que são chamadas automaticamente pelo sistema Khan Academy.

more » « less
Video Language:
English
Duration:
04:02

Portuguese, Brazilian subtitles

Revisions