2011-12-14 20 views
1

ツリーの最新のブランチが100%の不透明度を持ち、ツリーの各リカレントブランチの不透明度が低くなっているような、 75%。実際のグラフィック要素(すべてFlashのgraphics.lineとgraphics.shapeコマンドで描画されます)がこのコンテナに子要素として追加されます。ただし、コンテナの不透明度を変更しても、その中に含まれる実際のグラフィック要素には影響しないようです。これをどのように達成するのですか?ここで何が起こっているかの大まかな概要があります:flash as3 tween不透明子要素の不透明度に影響しない

ネスト順序:circleHolderのクリック時

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); 

、私は子供ホルダーに添付し、新しいブランチを作成し、

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という名前のプロパティをトゥイーンされている、これはエラーをスローする必要があり、MovieClipの透明性がalphaに設定されている:

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

Agggh ...もちろん。ありがとう! – mheavers

関連する問題