MovieHandle

Adobe Captivate pasa un controlador al widget durante el tiempo de ejecución a través de la función cpSetValue. El widget debe contener un elemento parecido al siguiente en la función cpSetValue.function cpSetValue( variable:String , val ) { if(variable == 'movieHandle' ) { this.movieHandle = val; } }

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

Métodos y propiedades

Al emplear MovieHandle, se puede acceder a las propiedades siguientes.

widgetParams

El parámetro de widget ofrecido por el widget durante el tiempo de edición. En AS3, es una función, movieHandle.widgetParams(), mientras que en AS2, es una propiedad, movieHandle.widgetParams.

replaceVariables(var:String)

Cualquier cadena con nombres de variables rodeada de los símbolos $$ se sustituirá por el valor de la variable durante el tiempo de ejecución. Por ejemplo, movieHandle.replaceVariables($$JohnDoe$$ ha obtenido $$cpQuizInfoPointsscored$$ de $$cpQuizInfoTotalQuizPoints$$) dará como resultado "JohnDoe ha obtenido 10 de 100", suponiendo que JohnDoe obtuviera una puntuación de 10 puntos de un total de 100 establecido en Adobe Captivate.

getContainerProps()

Da como resultado las propiedades del contenedor.

containerType

Da como resultado una de las opciones siguientes: diapositiva, minidiapositiva, diapositiva de destino de zoom, minidiapositiva de destino de zoom, película (en el caso del resto del widget del proyecto)

getSlideProps()

Da como resultado las propiedades de la diapositiva que contiene el widget. El objeto obtenido como resultado tiene los miembros siguientes.

slideType

Da como resultado una de las opciones siguientes: diapositiva normal, diapositiva de preguntas o diapositiva de preguntas aleatoria.

slideHandle

Controlador de las funciones de la diapositiva. slideHandle admite las funciones siguientes: AddNoSkipFrame, startFrame y endFrame.

AddNoSkipFrame(frameNum:Number): No se omite ningún fotograma en el tiempo de ejecución. frameNum hace referencia al número de fotograma con respecto a la diapositiva indexada desde 1.

El archivo SWF de Adobe Captivate emplea una función denominada “marcapasos” durante el tiempo de ejecución. Cuando no hay suficientes recursos del sistema, el marcapasos omite fotogramas de tal manera que el usuario no percibe ningún problema en la película. Sin embargo, es posible que en el proceso se omita un fotograma que contenga acciones. AddNoSkipFrame se emplea para asegurarse de que el marcapasos no omita el fotograma especificado.

startFrame da como resultado el número de fotograma en el que comienza la diapositiva. La indexación empieza por cero.

endFrame da como resultado el número de fotograma en el que termina la diapositiva. La indexación empieza por cero.

getMovieProps

Da como resultado las propiedades de la película de Adobe Captivate más próxima a la jerarquía del widget. El objeto obtenido como resultado tiene los miembros siguientes:

contentWidth

Anchura del contenido de la película.

contentHeight

Alto del contenido de la película.

variablesHandle

Desde aquí, se accede a algunas variables de sistema de Adobe Captivate. Por ejemplo, movieHandle.GetMovieProps().varaiblesHandle.myVar = 10;

movieHandle <desfasado>

Controlador de object(rdMovie) de la película principal en el tiempo de ejecución de Captivate. Aquí, solo están disponibles algunas variables de sistema de Adobe Captivate.

IsWidgetVisible

Indica si el widget está visible en el escenario.

isWidgetEnabled

Indica si el widget está activado. Se considera que un widget está activado cuando se encuentra en la diapositiva o en la cronología. Las funciones mencionadas solo funcionan si isWidgetEnabled() da como resultado verdadero.

Directrices para el empleo de movieHandle en widgets

El valor de movieHandle debe actualizarse mediante el widget siempre que se active cpSetValue('movieHandle', val). Si se activa varias veces, el valor podría ser diferente cada vez. Las variables deben actualizarse para cada activación.

GetSlideProps y GetMovieProps consumen una gran cantidad de recursos de memoria. Por lo tanto, utilícelos con moderación. La práctica recomendada es almacenar en la memoria caché el valor obtenido en forma de variable y emplear dicha variable. Consulte el ejemplo siguiente.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 = "" ; } }

Asegúrese de que las operaciones se llevan a cabo durante el tiempo de ejecución de Adobe Captivate solo cuando está activado el widget. La realización de operaciones en movieHandle (en especial, variablesHandle) cuando el widget no está activado puede producir resultados inesperados.

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 = "" ; 
} 
}

Esta obra está autorizada con arreglo a la licencia de Reconocimiento-NoComercial-CompartirIgual 3.0 Unported de Creative Commons.  Los términos de Creative Commons no cubren las publicaciones en Twitter™ y Facebook.

Avisos legales   |   Política de privacidad en línea