Adobe Director: controlando tempo, som e video

 

Controlando o Tempo e a execução com o Lingo

Mudar a Velocidade (FPS)
Use este script para ajustar o tempo ou a velocidade em 15 frames por segundo:
on exitFrame
     puppetTempo 15
end
Criando uma pausa
 O script abaixo mostra uma forma de fazer uma pausa de 2 segundos. No Director , vários comandos usam o tempo na forma de ticks , onde 60 ticks equivale a 1 segundo.
on exitFrame
      delay 2*60
end
O problema em usar um script com o comando delay é que ele trava completamente o execução de outros comandos durante o tempo indicado (no caso 2 segundos), interferindo com a interatividade.

Existem formas melhores de fazer uma pausa. Uma delas é usar um loop com Repeat . Isto é melhor que usar o delay. Mas também tem algumas consequencias. Eventos como mousedown ou Keydown são bloqueados..
on enterFrame
      startTimer — inicializa o “relógio” do Director (zera o tempo)
      repeat while the timer < 2*60
            updateStage
     end repeat
end

 Talvez a melhor opção é  conferir a todo instante, dentro de um exitframe, por exemplo , o tempo que se passou. Este tempo é armazenado em uma váriavel global ou propriedade logo no inicio da execução e depois a todo instante usa-se um comando “if” para determinar se já atingiu o tempo determinado.

Para medir o tempo pode-se usar uma propriedade do Director chamada de “milliseconds”

– cria-se uma váriavel para armazenar o tempo incial.
property tempo_inicial

on beginSprite
      tempo_inicial = the milliseconds
end

on exitFrame
      if (tempo_inicial – the milliseconds) < 2*1000 then go to the frame

end

Aguardar cliques do mouse ou teclas pressionadas
on exitFrame
    — imita um cursor piscante
      cursor 282 + (the timer/45)mod 2
       go the frame
end

on mouseDown
    — volta o cursos para uma “setinha”
    cursor -1

    — avança para o próximo frame
    go the frame + 1
end

on keyDown
      — muda o cursor para uma “setinha”
      cursor -1

       — avança para o próximo frame
      go the frame + 1
end

Aguardar o fim do som no canal X
Colocando o script seguinte em um frame irá fazer o Director ficar rodando o frame corrente até que o som chegue ao fim. Você pode usar isto para aguardar o fim de uma locução ou de uma música.
 on exitFrame
      — repete o frame enquanto o som estiver tocando
     if soundBusy(X) then go the frame
end
Onde X é o número do canal onde está o som (normalmente 1 ou 2).

No Director MX 2004, ou na versão 11 , o comando é um pouco diferente:

on exitFrame

     if sound(X).isBusy() then go the frame
end

Trabalhando com Cue Point(s)
Cue points são um recurso útil para sincronizar som , vídeos e animações. Você pode inserir CuePoints nos arquivos de audio e vídeo usando diversos tipos de softwares de edição de som e vídeo, incluindo SoundEdit e Premiere.
 Funciona assim: você usa um programa de edição para adicionar os CuePoints para marcar exatamente os tempos do som ou do vídeo, salva este arquivo e depois pode usar comandos do Adobe Director para controlar as ações que acontecem baseadas nestes pontos que foram marcados no video ou no som.

 
 Comandos e propriedades do Director para usar Cue Points

on cuePassed – executa um comando assim que detectar um Cuepoint.
Exemplo:
on cuePassed canal, numero, nome
    if nome = “CuePoint1″ then
         alert nome && “atingido”
    end if
end

mostRecentCuePoint – identifica o cuepoint mais recente. Só pode ser usado com sprites.
 on testCue
      theCue = sprite(1).mostRecentCuePoint
          if  theCue = 1 then
              alert “Cue 1 acabou de passar!”
          end if
end
isPastCuePoint(whichSpriteOrSound, cuePointID) – retorna o numero de vezes que um Cuepoint foi atingido durante um loop.
 on exitFrame
    if  isPastCuePoint(1, “ponto 3″) then
          alert “passou o  ponto 3″
    end if
end

cuePointTimes of member – retorna uma lista com o tempo em milisegundos de todos os Cuepoints existentes em um elemento (member) do Director.
Exemplo:
put the cuePointTimes of member “apresentaçao”
– [0, 4231, 6875, 12985, 18391, 21003]

 cuePointNames of member
– retorna uma lista com os nomes de todos os CuePoints do membro especificado:
put the cuePointNames of member “apresentação”
– [evolução, fabricação, distribuição, vendas]

  
Aguardar fim de um Digital Video no  canal X

O script abaixo irá fazer um loop enquanto o tempo do vídeo no canal X for menor que a duração do membro Y.

Você pode usar este script para fazer o video ficar rodando em um frame até chegar ao final, dai continuar a próxima etapa:

on exitFrame
       if sprite(X).movieTime < member(Y).duration then \
         go the frame
end

Em alguns casos de vídeos com a opção “Direct To Stage”, usada em digital vídeo, poderá ser necessário limpar a tela uma vez que o vídeo terminar de ser executado . Para isso você poderá usar um dos 2 scripts seguintes:
on exitFrame
     if sprite(X).movieTime < member(Y).duration then
           go the frame
      else
            — fazer o sprite com o video invisivel

            sprite(X).visible = 0
       end if
end

ou então:

on exitFrame
       if sprite(X).movieTime < member(Y).duration then
            go the frame
         else
             — use uma transição para forçar o Director a redesenhar a tela.

               puppetTransition 23
         end if
end

 

Anúncios
Esse post foi publicado em dicas, Director, Multimidia, tutorial e marcado , . Guardar link permanente.

Uma resposta para Adobe Director: controlando tempo, som e video

  1. Paulo Valentim disse:

    Olá Norberto.

    Tenho umas dúvidas na inserção de cuepoints num filme.

    Voçê diz que posso inserir no Premiere.
    Tentei no Premiere a inserir Marcas (será isso?) mas não consegui visualiza-las no director.

    Cheguei a trabalhar com um programa para o som (sound fourge) e a coisa funcionou bem.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s