「変数」画面で「myVar」という変数を作成し、その変数に「NYC」という値を割り当てます。
概要
Adobe Captivate で JavaScript の新しいインターフェイス機能を使用することにより、強力かつ軽量なコンテンツを作成できます。この機能により、プロジェクトで JavaScript アクションを実行するための共通のプラットフォームを利用できるため、インタラクティブ性がさらに強化されます。
コンテンツ内の各種変数にアクセスするための小さい JavaScript スニペットを作成できるようになりました。コンテンツから生成された各種イベントに登録できます。
JavaScript API は、次の 2 つの方法で使用できます。
プロジェクトで JavaScript アクションを実行します。
実行時にパブリッシュした HTML に JavaScript コードを追加します。
Adobe Captivate でサポートしているオブジェクトは、次のとおりです。
- cpAPIInterface:ユーティリティ関数を格納。JavaScript アクションを実行する際に必要。
- cpAPIEventEmitter:コンテンツ内で生成された各種イベントに登録したり、登録を解除したりできます。
- cp:オブジェクトレベルのアクションをトリガーするためのユーティリティを格納。
cpAPIInterface
cpAPIEventEmitter は、ウィンドウスコープで使用できるオブジェクトです。インターフェイスのオブジェクトにアクセスするには、window.cpAPIEventEmitter を使用します
Adobe Captivate でサポートされているメソッドは次のとおりです。
方法 | 説明 | パラメーター | 使用法 |
getVariableValue | 指定した変数の値を返します。 |
window.cpAPIInterface. getVariableValue ("varOne”); | |
setVariableValue |
変数名の値を、指定した値に設定します。 | variableName:String |
window.cpAPIInterface.setVariableValue ("cpQuizInfoStudentID", "John"); |
play | プロジェクトを再生します | window.cpAPIInterface. play(); | |
pause | プロジェクトを一時停止します | window.cpAPIInterface.pause(); | |
next | 次のスライドに進む | window.cpAPIInterface.next(); | |
previous | 前のスライドに移動 | window.cpAPIInterface.previous(); | |
getDurationInSeconds | プロジェクトの合計時間(秒単位)を返します。 |
window.cpAPIInterface.getDurationInSeconds(); | |
getEventEmitter | cpAPIEventEmitter オブジェクトのハンドルを返します。 |
window.cpAPIInterface.getEventEmitter(); | |
getCurrentSlideIndex | プロジェクトの現在のスライドインデックスを返します。 | window.cpAPIInterface.getCurrentSlideIndex(); |
非推奨のメソッド
- getCurrentFrame
- GetDurationInFrames
例 1
この例では、変数作成ワークフローを使用して変数を作成します。 次に、新しい変数を使用して値を変更し、その値を警告メッセージとして表示します。
次の手順に従って、変数値を設定および取得します。
-
-
このプロジェクトでステージにボタンを追加し、右側のパネルで「インタラクション」を選択します。
-
アクションパネルで、詳細/JavaScript を実行を選択します。次のコードを入力します。
window.cpAPIInterface.setVariableValue("myVar","BLR");
var getVar=window.cpAPIInterface.getVariableValue("myVar");
alert(getVar);
コードの内容を説明します。
1 行目:変数「myVar」の値を、新しい値「BLR」に変更しました。 値を変更するために、setVariableValue メソッドを使用しています。
2 行目:getVariableValue メソッドを使用して、前のステップで設定した新しい値を取得しました。その値を新しい変数「getVar」に格納しました。
3 行目:警告ボックス内に新しい値を表示しました。
-
「完了」を選択します。
-
プロジェクトをプレビューしてボタンを選択します。警告ボックスがポップアップ表示されます。
例 2
この例では、システム変数「Date.DateMMDDYY」を使用して、現在の日付を表示します。 プロセスは前の例で説明されているとおりです。
JavaScript エディターで、次のコードを入力します。
dateVar=window.cpAPIInterface.getVariableValue("Date.DateMMDDYY");
alert(dateVar);
プロジェクトをプレビューしてボタンを選択すると、警告ボックスに現在の日付が表示されます。
cpAPIEventEmitter
cpAPIEventEmitter は、ウィンドウスコープで使用できるオブジェクトです。インターフェイスのオブジェクトにアクセスするには、window.cpAPIEventEmitter を使用します
サポートされているメソッドは次のとおりです。
名前 | 説明 | パラメーター | 使用法 |
---|---|---|---|
add EventListener |
イベントリスナー機能を特定のイベントに追加します。 |
|
|
remove EventListener |
特定のイベントのイベントリスナー機能を削除します。 |
|
|
サポートされているイベント
イベントのリスト:
名前 | 説明 | イベントデータ | 一覧 |
---|---|---|---|
CPAPI_SLIDEENTER |
ムービーが新しいスライドを開始したことを通知します。 | slideNumber=NUMBER; frameNumber=NUMBER; (非推奨) lcpversion=STRING;(未サポート) |
|
CPAPI_SLIDEEXIT |
ムービーのスライドが終了することを通知します。 | slideNumber=NUMBER; frameNumber=NUMBER; (非推奨) lcpversion=STRING;(未サポート) percentageSlideSeen= |
|
CPAPI_ STARTPLAYBARSCRUBBING |
ユーザーが再生バーを使用してムービーのシークを開始したことを通知します。 | 未サポート | |
CPAPI_ ENDPLAYBARSCRUBBING |
ユーザーが再生バーを使用してムービーのシークを停止したことを通知します。 | 未サポート | |
CPAPI_INTERACTIVEITEM | ユーザーがインタラクティブ項目を使用してインタラクションを実行したことを通知します。 | frameNumber=NUMBER;(非推奨) includedInQuiz=BOOLEAN;(未サポート) issuccess=BOOLEAN;(未サポート) itemname=STRING; objecttype=NUMBER; questioneventdata= [object Object];(未サポート) slideNumber=NUMBER; |
|
CPAPI_MOVIEPAUSE | ムービーが一時停止されたことを通知します。 | ||
CPAPI_MOVIERESUME | ムービーが一時停止状態から再開されたことを通知します。 | ||
CPAPI_MOVIESTART | ムービーが開始されたことを通知します。 | ||
CPAPI_MOVIESTOP | ムービーが停止されたことを通知します。 | (未サポート) |
|
CPAPI_QUESTIONSKIP | ユーザーが質問スライドをスキップしたことを通知します。 | correctAnswer=STRING; infiniteAttempts=BOOLEAN; interactionID=NUMBER; objectiveID=STRING;(未サポート) questionAnswered=BOOLEAN; questionAnsweredCorrectly =BOOLEAN; questionAttempts=NUMBER; questionMaxAttempts=NUMBER; questionMaxScore=NUMBER; questionNumber=NUMBER; questionScore=NUMBER; questionScoringType= [object Object],{Name:STRING};(未サポート) questionType=STRING; quizName=STRING;(未サポート) reportAnswers=BOOLEAN; selectedAnswer=STRING; slideNumber=NUMBER; |
interactionType:(未サポート)
questionType -
questionScoringType
サポートされているイベント:
|
CPAPI_QUESTIONSUBMIT | ムービーで質問スライドに回答があったことを通知します。 | correctAnswer=STRING; infiniteAttempts=BOOLEAN; interactionID=NUMBER;(未サポート) objectiveID=STRING;(未サポート) questionAnswered=BOOLEAN; questionAnsweredCorrectly= BOOLEAN; questionAttempts=NUMBER; questionMaxAttempts=NUMBER; questionMaxScore=NUMBER; questionNumber=NUMBER; questionScore=NUMBER; questionScoringType=[object Object],{Name:STRING};(未サポート) questionType=STRING; quizName=STRING;(未サポート) reportAnswers=BOOLEAN; selectedAnswer=STRING; slideNumber=NUMBER; |
サポートされているイベント:
|
CPAPI_ VARIABLEVALUECHANGED |
このイベントに登録するには、variableName パラメーターを追加する必要があります。 登録したら、指定した変数の値に対する変更がすべて通知されます。 |
captivateVersion=STRING;(未サポート) |
例
イベント CPAPI_VARIABLEVALUECHANGED のイベントエミッターを開始します。 第 1 オプションまたは第 2 オプションを選択するとトリガーされ、ラジオボタングループの状態に関するアラートが通知されます。
var alertEvent = function(){alert("Variable Value Changed")};
window.cpAPIEventEmitter.addEventListener("CPAPI_VARIABLEVALUECHANGED", alertEvent , "radioOption1");
ラジオボタングループについては、選択イベントに次の JS コードを使用します。
ボタン 1
window.cpAPIInterface.setVariableValue("radioOption1", 'You have selected first option');
ボタン 2
var option1 = window.cpAPIInterface.getVariableValue("radioOption1");
window.cpAPIInterface.setVariableValue("radioOption1", 'You have selected second option')
cp
オブジェクトレベルのアクションをトリガーします。 サポートされているメソッドは次のとおりです。
表示
非表示
例
cp.hide("ss1"); // hide object ss1
cp.show("ss2"); // show object ss2