2017-02-21 86 views
0

Скажем, у меня есть переменная в панели ACTIONSCRIPT на мувиклипеКак вызвать переменную от родителя? AS3

parent_mc:

var ispaused:Boolean = false; 

внутри этого мувика еще один мувиклип со своим собственным ActionScript

child_mc:

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

Как вызвать переменную от родителя при работе с ActionScript внутри дочернего мувиклипа?

ответ

0

Гм ...

if (parent.ispaused) // ... 

И если это не работает из-за компиляции типа время литья:

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

Или вы можете типаж:

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

коррекции: они могут работать, но я не мог заставить их работать – Koden

0

У меня есть на самом деле обнаружил, что это правильный способ вызвать переменную от родителя, довольно буквально MovieClip (root) не является chan GE.

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

или изменить значение переменной

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

На родительском MovieClip Timeline (я полагаю, что Ваш код помещен на него):

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

На ребенка 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 
} 

Выход :

родительский клип isPaused = ложь

функция йоЗотеЬЫпд называется в родительских MovieClip