MovieHandle
Adobe Captivate transmet une poignée au widget lors de l’exécution à l’aide de la fonction cpSetValue. Le widget doit implémenter l’un des éléments suivants dans sa fonction cpSetValue.function cpSetValue( variable:String , val ) { if(variable == 'movieHandle' ) { this.movieHandle = val; } }
function cpSetValue( variable:String , val ) { if(variable == 'movieHandle' ) { this.movieHandle = val; } }
Méthodes et propriétés
Vous pouvez accéder aux propriétés suivantes à l’aide de MovieHandle.
widgetParams
Le paramètre de widget fourni par le widget lors de l’exécution. Dans AS3, il s’agit d’une fonction, movieHandle.widgetParams() et dans AS2, il s’agit d’une propriété, movieHandle.widgetParams.
replaceVariables(var:String)
Les chaînes avec des noms de variables entourés de $$ sont remplacées par la valeur de la variable lors de l’exécution. Par exemple, movieHandle.replaceVariables($$JohnDoe$$ scored $$cpQuizInfoPointsscored$$ out of $$cpQuizInfoTotalQuizPoints$$) donne « Le score de JohnDoe est de 10 sur 100 » ce qui suppose que JohnDoe a marqué 10 points sur un total de 100 défini dans Adobe Captivate.
getContainerProps()
Donne les propriétés du conteneur.
containerType
Donne l’un des éléments suivants : Diapositive, mini-diapositive, diapositive de destination du zoom, mini-diapositive de destination du zoom, Projet (s’il reste un widget de projet).
getSlideProps()
Donne les propriétés de la diapositive contenant le widget. L’objet obtenu a les membres suivants.
slideType
Donne l’un des éléments suivants : Diapositive normale, diapositive de question ou diapositive de question aléatoire.
slideHandle
Prend en charge les fonctions de la diapositive. slideHandle prend en charge les fonctions suivantes : AddNoSkipFrame, startFrame et endFrame.
AddNoSkipFrame(frameNum:Number) : aucune image n’est ignorée lors de l’exécution. frameNum fait référence au numéro d’image par rapport à la diapositive indexée à partir de 1.
Le fichier SWF d’Adobe Captivate SWF utilise une fonctionnalité appelée « pacemaker » (stimulateur) lors de l’exécution. Lorsque les ressources système sont suffisantes, le pacemaker saute des images d’une certaine façon afin que l’utilisateur ne remarque aucun problème dans le film. Cependant, une image contenant des actions peut être ignorée lors du processus. AddNoSkipFrame est utilisé pour s’assurer que le pacemaker ne saute pas l’image indiquée.
startFrame donne le numéro d’image auquel la diapositive commence. L’indexation commence à zéro.
startFrame donne le numéro d’image auquel la diapositive finit. L’indexation commence à zéro.
getMovieProps
Donne les propriétés du projet Adobe Captivate le plus proche de la hiérarchie du widget. L’objet obtenu a les membres suivants :
contentWidth
Largeur du contenu du projet.
contentHeight
Longueur du contenu du projet.
variablesHandle
Vous pouvez accéder à certaines variables du système Adobe Captivate à partir de là. Par exemple, movieHandle.GetMovieProps().varaiblesHandle.myVar = 10;
movieHandle <deprecated>
Prend en charge le projet principal object(rdMovie) lors de l’exécution de Captivate. Seulement certaines variables du système Adobe Captivate sont disponibles ici.
IsWidgetVisible
Revient si le widget est actuellement visible sur la scène.
isWidgetEnabled
Revient si le widget est activé. Un widget est considéré comme activé lorsqu’il est présent sur la diapositive ou dans le montage chronologique. Toutes les fonctions traitées fonctionnent seulement si isWidgetEnabled() est vrai.
Directives pour l’utilisation de movieHandle dans les widgets
La valeur de movieHandle doit être mise à jour par le widget lorsque cpSetValue(’movieHandle’, val) est appelée. Lorsqu’elle est appelée plusieurs fois, la valeur ne doit pas être la même à chaque fois. Les variables doivent être mises à jour à chaque appel.
GetSlideProps et GetMovieProps utilisent beaucoup de mémoire. Utilisez donc ces appels avec parcimonie. Il est recommandé de mettre en cache la valeur obtenue pour une variable et d’utilisez la variable. Reportez-vous à l’exemple suivant.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 = "" ; } }
Assurez-vous que ces opérations sont réalisées lors de l’exécution d’Adobe Captivate seulement lorsque le widget est activé. Les opérations sur movieHandle (particulièrement sur variablesHandle) peuvent donner des résultats inattendus lorsque le widget n’est pas activé.
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 = "" ; } }
Accéder à votre compte