MovieHandle

Adobe Captivate では、cpSetValue 関数を使用して実行時にハンドルをウィジェットに渡します。ウィジェットでは、その cpSetValue 関数内に次のような項目を実装する必要があります。function cpSetValue( variable:String , val ) { if(variable == 'movieHandle' ) { this.movieHandle = val; } }

function cpSetValue( variable:String , val ) 
{ 
    if(variable == 'movieHandle' ) { 
        this.movieHandle = val; 
} 
}

メソッドとプロパティ

MovieHandle を使用して、次のプロパティにアクセスできます。

widgetParams

編集時にウィジェットから提供されるウィジェットパラメーター。AS3 では movieHandle.widgetParams() 関数です。AS2 では movieHandle.widgetParams プロパティです。

replaceVariables(var:String)

文字列内に $$ で囲まれた変数名がある場合は、実行時に変数の値に置き換えられます。例えば、movieHandle.replaceVariables( $$JohnDoe$$ scored $$cpQuizInfoPointsscored$$ out of $$cpQuizInfoTotalQuizPoints$$) は「JohnDoe scored 10 out of 100」などに置き換えられます。この例では、JohnDoe が Adobe Captivate で設定された合計 100 点のうち 10 点を獲得したことを示します。

getContainerProps()

コンテナのプロパティを返します。

containerType

スライド、スライドレット、ズーム出力先スライド、ズーム出力先スライドレット、ムービー(プロジェクトウィジェットの残りの場合)のいずれかを返します。

getSlideProps()

ウィジェットを含むスライドのプロパティを返します。返されるオブジェクトには次のメンバが含まれます。

slideType

標準スライド、質問スライド、ランダム質問スライドのいずれかを返します。

slideHandle

スライド関数のハンドルです。slideHandle は、AddNoSkipFrame 関数、startFrame 関数、endFrame 関数をサポートします。

AddNoSkipFrame(frameNum:Number) では、実行時にフレームがスキップされません。frameNum は、1 からインデックス付けされたスライドに対応するフレーム番号を参照します。

Adobe Captivate SWF では、実行時に「ペースメーカー」という機能を使用します。システムリソースが不足していると、ペースメーカーはユーザーがムービーの流れに不自然さを感じない程度にフレームをスキップします。この場合、アクションを含むフレームがスキップされる可能性があります。AddNoSkipFrame を使用することで、指定したフレームがペースメーカーによってスキップされないようにします。

startFrame は、スライドが開始するフレーム番号を返します。インデックス付けは 0 から始まります。

endFrame は、スライドが終了するフレーム番号を返します。インデックス付けは 0 から始まります。

getMovieProps

ウィジェットの階層に最も近い Adobe Captivate ムービーのプロパティを返します。返されるオブジェクトには次のメンバが含まれます。

contentWidth

ムービーのコンテンツの幅です。

contentHeight

ムービーのコンテンツの高さです。

variablesHandle

Adobe Captivate システム変数の一部にアクセスするには、このメンバを使用します。例えば、movieHandle.GetMovieProps().varaiblesHandle.myVar = 10; のように使います。

movieHandle <廃止予定>

Captivate 実行時のメインムービー object(rdMovie) へのハンドルです。Adobe Captivate システム変数の一部でのみ使用できます。

IsWidgetVisible

ウィジェットがステージ上で現在表示されているかどうかを返します。

isWidgetEnabled

ウィジェットが有効であるかどうかを返します。ウィジェットは、スライド上またはタイムライン上にある場合に有効であると見なされます。以上のすべての関数は、isWidgetEnabled()true を返した場合にのみ動作します。

ウィジェットでの movieHandle の使用ガイドライン

movieHandle の値は、cpSetValue('movieHandle', val) を呼び出すたびにウィジェットで更新する必要があります。呼び出すたびに、値は異なる場合があります。変数は呼び出しごとに更新する必要があります。

GetSlidePropsGetMovieProps はメモリリソースを大量に消費します。これらの呼び出しは必要な場合にのみ行ってください。ベストプラクティスとしては、変数への戻り値をキャッシュして、変数を使用します。次の例を参考にしてください。var slideProps:Object; var movieHandle:Object; function cpSetValue( variable:String , val ) { if ( variable == 'movieHandle' ) { movieHandle = val; } } function onWidgetEnabled(){ slideProps = movieHandle.GetSlideProps(); } function myWidgetFunction (){ if(slideProps.slideType == "Question Slide" ) { myLabel.Text = "" ; } }

Adobe Captivate 実行時にウィジェットが有効になっていることを確認して、操作を実行します。ウィジェットが有効になっていないときに、movieHandle(特に variablesHandle)への操作を実行すると、予期しない結果が生じる場合があります。

var slideProps:Object; 
var movieHandle:Object; 
function  cpSetValue( variable:String , val ) { 
if ( variable == 'movieHandle' ) { 
        movieHandle = val; 
             
} 
} 
function onWidgetEnabled(){ 
    slideProps =  movieHandle.GetSlideProps(); 
} 
function myWidgetFunction (){ 
    if(slideProps.slideType == "Question Slide" ) { 
        myLabel.Text = "" ; 
} 
}

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

法律上の注意   |   プライバシーポリシー