我正在尝试创建一种树形图,其中树的最近分支具有100%的不透明度,并且树的每个循环分支的不透明度降低了75%。我将不透明度更改应用于每个分支包含的影片剪辑-实际的图形元素(都是用Flash的图形绘制的)。线条和图形。形状命令)作为子元素添加到此容器。但是,更改容器的不透明度似乎不会影响容器中包含的实际图形元素。我该如何做到这一点?下面是正在发生的事情的大致轮廓:
嵌套顺序:
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,我创建了一个新的分支,将它附加到子holder上,然后移动
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)
}
你正在渐变一个名为opacity
的属性,这应该抛出错误,MovieClip透明度设置为alpha
:
TweenMax.to(parentCircleHolderRef, .5, { alpha: curOpacity} );