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

Dieses Werk unterliegt den Bedingungen der Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.  Twitter™- und Facebook-Beiträge fallen nicht unter die Bedingungen der Creative Commons-Lizenz.

Rechtliche Hinweise   |   Online-Datenschutzrichtlinie