2017-02-21 7 views
0

Lassen Sie uns sagen, ich habe eine Variable in der Actionscript-Panel auf einem MovieClip-So rufen Sie eine Variable von Parent auf? AS3

parent_mc:

var ispaused:Boolean = false; 

in diesem Movieclip ist eine andere Movieclip mit einer eigenen Action

child_mc:

if (!ispaused) 
{ gotoAndPlay(1); } 

Wie rufe ich eine Variable vom Elternteil ab, wenn ich das ActionScript in einem Child MovieClip behandle?

Antwort

0

Ähem ...

if (parent.ispaused) // ... 

Und wenn dies nicht auf Grund funktioniert Zeit Type-Casting kompilieren:

if (parent["ispaused"]) // ... 

Oder können Sie typisieren:

if ((parent as ParentClass).ispaused) // ... 
+0

Korrektur: es kann funktionieren, aber ich war nicht in der Lage, sie zu erhalten zu arbeiten – Koden

0

Ich habe eigentlich festgestellt, dass dies der richtige Weg ist, um eine Variable aus dem Eltern, im wahrsten Sinne des Wortes MovieClip (root) ist nicht zu chan aufrufen ge.

if ((MovieClip(root).entervariablename)) 
{ dothisaction; } 

oder den Variablenwert

if (thistrigger) 
{ (MovieClip(root).entervariablename) = desiredvalue; } 
0

auf der übergeordneten MovieClip- Timeline zu ändern (Ich nehme an, dass Ihr Code auf sie gesetzt wird):

var isPaused:Boolean=false; 
function doSometing():void{ 
    trace("function doSomething called in parent MovieClip"); 
} 

Auf dem Kind MovieClip- Timeline:

import flash.display.MovieClip; 
var parentClip:MovieClip = (parent as MovieClip); 
var parentPaused:Boolean = parentClip.isPaused; 
if (!parentPaused){ 
    trace("parent clip isPaused = " + parentPaused); 
    parentClip.doSometing(); 
    // Do what you want here 
} 

Ausgabe :

Mutter clip isPaused = false

Funktion doSomething in Mutter genannt MovieClip-

Verwandte Themen