Interface JavaScript para Adobe Captivate

Introdução

O Adobe Captivate permite que você produza um conteúdo mais potente e enxuto usando o novo recurso de interface JavaScript. Esse recurso oferece uma plataforma comum para executar ações do JavaScript em seus projetos e adiciona uma interatividade mais robusta. 

Agora você pode gravar snippets menores de JavaScript para acessar várias variáveis no conteúdo. Você pode se inscrever em diferentes eventos gerados pelo conteúdo. 

É possível usar as APIs do JavaScript de duas maneiras:

  • Execute ações do JavaScript no projeto. 

  • Adicione código JavaScript ao HTML publicado no tempo de execução.

O Adobe Captivate oferece suporte aos seguintes objetos:

  • cpAPIInterface: contém funções de utilitário frequentemente necessárias para executar ações do JavaScript.
  • cpAPIEventEmitter: é possível assinar ou cancelar a assinatura de diferentes eventos gerados no conteúdo.
  • cp: contém utilitários para acionar ações no nível do objeto.

cpAPIInterface

O cpAPIEventEmitter é um objeto disponível na área da janela. Para acessar o objeto de interface, use window.cpAPIEventEmitter

Os métodos a seguir têm suporte no Adobe Captivate:

Método Descrição Parâmetro Uso
getVariableValue Retorna o valor da variável especificada.
  window.cpAPIInterface. getVariableValue ("varOne");
setVariableValue 
Define o valor do nome de uma variável com o valor especificado. variableName: String
window.cpAPIInterface.setVariableValue ("cpQuizInfoStudentID", "João");
play Reproduz um projeto   window.cpAPIInterface. play();
pause Pausa um projeto   window.cpAPIInterface.pause();
next Ir para o próximo slide   window.cpAPIInterface.next();
previous Ir para o slide anterior   window.cpAPIInterface.previous();
getDurationInSeconds Mostra a duração total do projeto em segundos.
  window.cpAPIInterface.getDurationInSeconds();
getEventEmitter Mostra o identificador para o objeto cpAPIEventEmitter. 
  window.cpAPIInterface.getEventEmitter();
getCurrentSlideIndex Mostra o índice do slide atual do projeto.   window.cpAPIInterface.getCurrentSlideIndex();

 

 

Métodos descontinuados

  • getCurrentFrame
  • GetDurationInFrames

Exemplo 1

Neste exemplo, criaremos uma variável usando o fluxo de trabalho de criação de variáveis.Em seguida, usaremos a nova variável, alteramos seu valor e a imprimiremos como uma mensagem de alerta.

Siga as etapas para definir e obter o valor da variável:

  1. Na tela Variáveis, crie uma variável chamada myVar e atribua um valor NYC à variável.

  2. Adicione um botão na cena neste projeto e selecione Interações no painel direito.

  3. No painel Ação, selecione Mais > Executar JavaScript. Digite o seguinte código:

    window.cpAPIInterface.setVariableValue("myVar","BLR");

    var getVar=window.cpAPIInterface.getVariableValue("myVar");

    alert(getVar);

    Veja aqui o que fizemos:

    • Linha 1: alteramos o valor da variável, myVar, para um novo valor, BLR. Utilizamos o método setVariableValue para alterar o valor.

    • Linha 2: usamos o método getVariableValue para recuperar o novo valor definido na linha anterior. Em seguida, armazenamos o valor em uma nova variável, getVar.

    • Linha 3: exibimos o novo valor em uma caixa de alerta. 

  4. Selecione Concluído.

  5. Visualize o projeto e selecione o botão. A caixa de alerta é exibida como um pop-up.

Exemplo 2

Neste exemplo, usaremos uma variável do sistema, Date.DateMMDDYY, para imprimir a data atual. O processo permanece conforme documentado no exemplo anterior.

No editor do JavaScript, digite o código abaixo:

dateVar=window.cpAPIInterface.getVariableValue("Date.DateMMDDYY");

alert(dateVar);

Ao visualizar o projeto e selecionar o botão, uma caixa de alerta exibe a data atual.

cpAPIEventEmitter

O cpAPIEventEmitter é um objeto disponível na área da janela. Para acessar o objeto de interface, use window.cpAPIEventEmitter

Os métodos a seguir têm suporte:

Nome Descrição Parâmetros Uso
adicionar
EventListener
Adiciona uma função de ouvinte de eventos a um evento específico.
  • eventName: um dos
    nomes de evento listados nessa página.
  • eventListenerFunction:
    Qualquer função JavaScript.
  • variableName: 
    1. opcional. 
    2. Um dos nomes de variável do Captivate
      , cuja alteração de valor deve ser notificada.
    3. Deve ser usado somente com o evento
      CPAPI_
      VARIABLEVALUECHANGED
      .
  • window.
    cpAPIEventEmitter.
    addEventListener("CPAPI_
    MOVIESTART
    ",
    function(){alert
    ("Filme iniciado");});
  • window.
    cpAPIEventEmitter.
    addEventListener
    ("CPAPI_VARIABLE
    VALUECHANGED
    ",
    function(){alert("Valor
    da variável alterado");},
    "cpQuizInfoStudentID");
remover
EventListener
Remove a função de ouvinte de evento de um evento específico.
  • eventName:
    um dos nomes de evento listados
    nessa página.
  • eventListenerFunction: Qualquer
    função JavaScript.
  • variableName: 
    • opcional. 
    • Um nome de variável do Captivate
      cuja alteração de valor deve ser notificada.
    • Deve ser usado somente com o evento CPAPI_
      VARIABLEVALUECHANGED
      .
  • window.
    cpAPIEventEmitter.
    removeEventListener
    ("CPAPI_MOVIESTART",
    function()
    {alert("Filme iniciado");});
  • window.
    cpAPIEventEmitter.
    removeEventListener
    ("CPAPI_VARIABLE
    VALUECHANGED
    ",
    function(){alert
    ("Alteração do valor da variável");},
    "cpQuizInfoStudentID");

Eventos suportados

Lista de eventos:

Nome Descrição Dados do evento Enumerações

CPAPI_SLIDEENTER

Notifica que um novo slide foi inserido no filme.

slideNumber=NUMBER;

frameNumber=NUMBER; (Descontinuado)

 lcpversion=STRING; (Não suportado)

 

CPAPI_SLIDEEXIT

Notifica que um slide está sendo retirado do filme.

slideNumber=NUMBER;

frameNumber=NUMBER; (descontinuado)

lcpversion=STRING; (Não suportado)

percentageSlideSeen=
NUMBER; (Não suportado)

 
CPAPI_
STARTPLAYBARSCRUBBING
Notifica que o usuário começou a buscar o filme usando a barra de reprodução. Sem suporte  
CPAPI_
ENDPLAYBARSCRUBBING
Notifica que o usuário parou de buscar o filme usando a barra de reprodução. Sem suporte  
CPAPI_INTERACTIVEITEM Notifica que o usuário executou uma interação com um item interativo. frameNumber=NUMBER; (descontinuado)
includedInQuiz=BOOLEAN; (Não suportado)
issuccess=BOOLEAN; (Não suportado)
itemname=STRING;
objecttype=NUMBER;
questioneventdata=
[object Object]; (Não suportado)
slideNumber=NUMBER;
 
CPAPI_MOVIEPAUSE Notifica que o filme foi pausado.    
CPAPI_MOVIERESUME Notifica que o filme foi retomado de um estado de pausa.    
CPAPI_MOVIESTART Notifica que o filme foi iniciado.    
CPAPI_MOVIESTOP Notifica que o filme foi interrompido. (Sem suporte)
 
CPAPI_QUESTIONSKIP Notifica que o usuário ignorou um slide de pergunta. correctAnswer=STRING;
infiniteAttempts=BOOLEAN;
interactionID=NUMBER; 
objectiveID=STRING; (sem suporte)
questionAnswered=BOOLEAN;
questionAnsweredCorrectly
=BOOLEAN;
questionAttempts=NUMBER;
questionMaxAttempts=NUMBER;
questionMaxScore=NUMBER;
questionNumber=NUMBER;
questionScore=NUMBER;
questionScoringType=
[object Object],{Name:STRING}; (sem suporte)
questionType=STRING;
quizName=STRING; (sem suporte)
reportAnswers=BOOLEAN; 
selectedAnswer=STRING;
slideNumber=NUMBER;

interactionType - (Não suportado)

  • escolha
  • verdadeiro-falso
  • preenchimento
  • preenchimento longo
  • ponto ativo
  • sequência
  • correspondência
  • likert

questionType -

  • escolha
  • verdadeiro-falso
  • preenchimento
  • preenchimento longo
  • ponto ativo
  • sequência
  • correspondência
  • likert

questionScoringType
["Nome"]
 -SEM SUPORTE

  • PretestQuestion
  • GradedQuestion
  • SurveyQuestion

Eventos suportados:

  • correctAnswer
  • infiniteAttempts
  • interactionID
  • questionAnswered
  • questionAnsweredCorrectly
  • questionAttempts
  • questionMaxAttempts
  • questionMaxScore
  • questionNumber
  • questionScore
  • Questiontype (escolha, verdadeiro-falso, preenchimento longo, sequenciamento, correspondência)
  • reportAnswers
  • selectedAnswer
  • slideNumber
CPAPI_QUESTIONSUBMIT Notifica que o filme respondeu a um slide de pergunta. correctAnswer=STRING;
infiniteAttempts=BOOLEAN;
interactionID=NUMBER; (sem suporte)
objectiveID=STRING; (sem suporte)
questionAnswered=BOOLEAN;
questionAnsweredCorrectly=
BOOLEAN;
questionAttempts=NUMBER;
questionMaxAttempts=NUMBER;
questionMaxScore=NUMBER;
questionNumber=NUMBER;
questionScore=NUMBER;
questionScoringType=[object Object],{Name:STRING}; (sem suporte)
questionType=STRING;
quizName=STRING; (sem suporte)
reportAnswers=BOOLEAN; 
selectedAnswer=STRING; 
slideNumber=NUMBER;

Eventos suportados:

  • correctAnswer
  • infiniteAttempts
  • interactionID
  • questionAnswered
  • questionAnsweredCorrectly
  • questionAttempts
  • questionMaxAttempts
  • questionMaxScore
  • questionNumber
  • questionScore
  • Questiontype (escolha, verdadeiro-falso, preenchimento longo, sequenciamento, correspondência)
  • reportAnswers
  • selectedAnswer
  • slideNumber
CPAPI_
VARIABLEVALUECHANGED

A inscrição nesse evento exige um parâmetro adicional - variableName. Após subscrito, qualquer alteração no valor da variável fornecida será notificada.

captivateVersion=STRING; (Não suportado)
varName=STRING;
oldVal=STRING;
newVal=STRING;

 

Exemplo

Inicie um emissor de eventos para o evento CPAPI_VARIABLEVALUECHANGED. Quando acionado, ele alerta o status de um grupo de botões de opção, se a primeira ou a segunda opção foi clicada.

var alertEvent = function(){alert("Variable Value Changed")};

window.cpAPIEventEmitter.addEventListener("CPAPI_VARIABLEVALUECHANGED", alertEvent, "radioOption1");

Para o grupo de botões de opção, use o código JS a seguir para os eventos de seleção:

Botão 1

window.cpAPIInterface.setVariableValue("radioOption1", 'Você selecionou a primeira opção');

Botão 2

var option1 = window.cpAPIInterface.getVariableValue("radioOption1"); 

window.cpAPIInterface.setVariableValue("radioOption1", 'Você selecionou a segunda opção')

cp

Acione ações no nível do objeto.Os métodos a seguir têm suporte:

  • mostrar

  • ocultar

Exemplo

cp.hide("ss1"); // ocultar objeto ss1

cp.show("ss2"); // mostrar objeto ss2

 Adobe

Receba ajuda com mais rapidez e facilidade

Novo usuário?

Adobe MAX 2024

Adobe MAX

The Creativity Conference

14 a 16 de outubro, Miami Beach e online

Adobe MAX 2024

Adobe MAX

The Creativity Conference

14 a 16 de outubro, Miami Beach e online