2017-02-21 64 views
0

比方說,我在動作面板中的變量上一個影片剪輯如何從父級調用變量? AS3

parent_mc:

var ispaused:Boolean = false; 

這個影片剪輯裏面有自己的動作另一影片剪輯

child_mc:

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

如何在處理子動畫片段內的動作時從父級調用變量?

回答

0

恩...

if (parent.ispaused) // ... 

如果這不因工作編譯時的類型轉換:

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

或者你也可以強制轉換:

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

校正

功能DoSomething的:這些可能的工作,但我無法讓他們的工作 – Koden

0

其實我也發現這是從父對象調用變量的正確方法,字面上MovieClip(根)不是要講話GE。

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

或修改的變量值

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

在父影片剪輯時間軸(我假設你的代碼放置在其上):

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

在子影片剪輯時間軸:

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