2011-12-14 114 views
1

我試圖創建一種樹形圖,其中樹的最近分支具有100%不透明度,並且樹的每個經常分支的不透明度降低降低75%。我將不透明度更改應用於每個分支的包含影片剪輯 - 實際圖形元素(均使用Flash的graphics.line和graphics.shape命令繪製)作爲子元素添加到此容器。但是,更改容器的不透明度似乎不會影響其中包含的實際圖形元素。我該如何做到這一點?這裏是正在發生的事情的一個大概的輪廓:flash as3補間不透明度不影響子元素的不透明度

嵌套順序:

var circle:Shape = new Shape(); 
var circleClip:MovieClip = new MovieClip(); 
var childHolder:MovieClip = new MovieClip(); 
var circleHolder:MovieClip = new MovieClip(); 
circleClip.addChild(circle); 
circleHolder.addChildAt(circleClip,0); 
circleHolder.addChildAt(childHolder,1); 

在點擊circleHolder的,我創建了一個新的分支,其連接到子架,並移動

it, drawing a line to wherever it moves to: 
childHolder.addChild(newCircle); 
newCircle.moveTo(x,y); 

什麼我想要做的是現在減少父母的不透明度。我通過這種方程的這樣做:

private function fadeParents(circleHolderRef) 
{ 
    var curCircleHolderRef = circleHolderRef; 
    var curOpacity = 1; 
    var circleDepth = circleHolderRef.depthFromStart; 

    for (var i=0;i<circleDepth;i++) 
    { 
     var childHolderRef = curCircleHolderRef.parent; 
     var parentCircleHolderRef = childHolderRef.parent; 
     curOpacity = curOpacity * .75; 
     trace (i + "| opacity: " + curOpacity); 
     TweenMax.to(parentCircleHolderRef,.5,{opacity: curOpacity}); 
     curCircleHolderRef = parentCircleHolderRef; 
    } 

    //trace (circleHolderRef.depthFromStart) 
} 

但這沒有影響。

回答

1

你補間一個名爲opacity屬性,這應該拋出錯誤,影片剪輯透明度設置與alpha

TweenMax.to(parentCircleHolderRef, .5, { alpha: curOpacity}); 
+0

Agggh ......當然。謝謝! – mheavers 2011-12-14 19:27:17