MovieHandle
Adobe Captivate übergibt während der Laufzeit mit der Funktion cpSetValue einen Handle an das Widget. Das Widget muss in seiner Funktion cpSetValue etwas wie im Folgenden aufgeführt implementieren.function cpSetValue( variable:String , val ) { if(variable == 'movieHandle' ) { this.movieHandle = val; } }
function cpSetValue( variable:String , val ) { if(variable == 'movieHandle' ) { this.movieHandle = val; } }
Methoden und Eigenschaften
Mit MovieHandle kann auf die folgenden Eigenschaften zugegriffen werden.
widgetParams
Der vom Widget während der Bearbeitungszeit bereitgestellte Widgetparameter. In AS3 ist dies die Funktion movieHandle.widgetParams() und in AS2 die Eigenschaft movieHandle.widgetParams.
replaceVariables(var:String)
Jede Zeichenfolge mit Variablennamen in $$ wird zur Laufzeit durch den Wert der Variablen ersetzt. So gibt movieHandle.replaceVariables( $$JohnDoe$$ erreichte $$cpQuizInfoPointsscored$$ von $$cpQuizInfoTotalQuizPoints$$) beispielsweise „JohnDoe erreichte 10 von 100“ zurück, wobei davon ausgegangen wird, dass JohnDoe 10 Punkte von den 100 Gesamtpunkten erreicht hat, die in Adobe Captivate festgelegt wurden.
getContainerProps()
Gibt die Eigenschaften des Containers zurück.
containerType
Gibt einen der folgenden Werte zurück: „Folie“, „Minifolie“, „Zoom-Zielfolie“, „Zoom-Ziel-Minifolie", „Film" (beim Widget „Restliches Projekt“)
getSlideProps()
Gibt die Eigenschaften der Folie zurück, die das Widget enthalten. Das zurückgegebene Objekt hat die folgenden Mitglieder.
slideType
Gibt einen der folgenden Werte zurück: „Normale Folie“, „Fragenfolie“ oder „Zufallsfragenfolie“.
slideHandle
Handle zu den Folienfunktionen. slideHandle unterstützt die folgenden Funktionen: AddNoSkipFrame, startFrame und endFrame.
AddNoSkipFrame(frameNum:Number): Zur Laufzeit wird kein Frame übersprungen. frameNum bezieht sich auf die Bildnummer im Verhältnis zur ab 1 indizierten Folie.
Die SWF-Datei aus Adobe Captivate verwendet zur Laufzeit eine als „Schrittmacher“ bezeichnete Funktion. Wenn nicht genügend Systemressourcen vorhanden sind, überspringt der Schrittmacher Frames so, dass der Benutzer keine Störung im Film wahrnimmt. Es ist jedoch möglich, dass ein Frame, der Aktionen enthält, im Prozess übersprungen wird. Mit AddNoSkipFrame wird sichergestellt, dass der Schrittmacher den angegebenen Frame nicht überspringt.
startFrame gibt die Bildnummer zurück, bei der die Folie beginnt. Die Indizierung beginnt bei Null.
endFrame gibt die Bildnummer zurück, bei der die Folie endet. Die Indizierung beginnt bei 0.
getMovieProps
Gibt die Eigenschaften des Adobe Captivate-Films zurück, der der Hierarchie des Widgets am nächsten kommt. Das zurückgegebene Objekt hat die folgenden Mitglieder:
contentWidth
Breite des Filminhalts.
contentHeight
Höhe des Filminhalts.
variablesHandle
Von hier erfolgt der Zugriff auf einige Adobe Captivate-Systemvariablen. Beispiel: movieHandle.GetMovieProps().varaiblesHandle.myVar = 10;
movieHandle <verworfen>
Handle zu object(rdMovie) des Hauptfilms zur Laufzeit. Hier sind nur einige Adobe Captivate-Systemvariablen verfügbar.
IsWidgetVisible
Gibt zurück, ob das Widget derzeit auf der Bühne sichtbar ist.
isWidgetEnabled
Gibt zurück, ob das Widget aktiviert ist. Ein Widget gilt als aktiviert, wenn es auf der Folie oder der Zeitleiste vorhanden ist. Alle erläuterten Funktionen funktionieren nur, wenn isWidgetEnabled() den Wert true zurückgibt.
Richtlinien zur Verwendung von movieHandle in Widgets
Der Wert von movieHandle muss vom Widget bei jedem Aufruf von cpSetValue('movieHandle', val) aktualisiert werden. Wird die Funktion mehrmals aufgerufen, ist der Wert möglicherweise nicht jedes Mal identisch. Die Variablen müssen für jeden Aufruf aktualisiert werden.
GetSlideProps und GetMovieProps beanspruchen viel Speicherressourcen. Verwenden Sie diese Aufrufe daher nur selten. Es empfiehlt sich, den Rückgabewert in einer Variablen zwischenzuspeichern und die Variable zu verwenden. Siehe dazu das folgende Beispiel.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 = "" ; } }
Stellen Sie sicher, dass Vorgänge nur während der Adobe Captivate-Laufzeit ausgeführt werden, wenn das Widget aktiviert ist. Vorgänge auf movieHandle (insbesondere variablesHandle), wenn das Widget nicht aktiviert ist, führen unter Umständen zu nicht vorhergesehenen Ergebnissen.
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 = "" ; } }
Bei Ihrem Konto anmelden