Actionscript 3 AS3:滚动tween alpha到滚动窗格中的最后一个子项,包含动态内容

Actionscript 3 AS3:滚动tween alpha到滚动窗格中的最后一个子项,包含动态内容,actionscript-3,math,components,Actionscript 3,Math,Components,我正在尝试更改scrollPane组件中最后一个子元素的alpha,以使溢出的对象消失,而不是被scrollPane剪切。我的意思是,一个孩子离顶部或底部越近,它的alpha值就越接近于零。如果其边距之间的alpha等于1 我在滚动窗格中放置了一个带有透明精灵的“页眉”和“页脚”,以便为alpha效果留出空白空间,对顶部元素也没有问题,下面是代码: function scrollListener(event:ScrollEvent):void { var base = 120;//mar

我正在尝试更改scrollPane组件中最后一个子元素的alpha,以使溢出的对象消失,而不是被scrollPane剪切。我的意思是,一个孩子离顶部或底部越近,它的alpha值就越接近于零。如果其边距之间的alpha等于1

我在滚动窗格中放置了一个带有透明精灵的“页眉”和“页脚”,以便为alpha效果留出空白空间,对顶部元素也没有问题,下面是代码:

function scrollListener(event:ScrollEvent):void {
    var base = 120;//margins height
    var targ = event.currentTarget.getChildAt(3).getChildAt(0);//get container
    var scrollY = event.currentTarget.verticalScrollPosition;//get scroll position
    for (var n1 = 0; n1 < 10; n1++) {// loop for the children
        var curr = targ.getChildByName("boton"+n1);// current children name var
        var curr_disp = curr.y-scrollY;
        curr.alpha = 1;//default alpha
        if(curr_disp < base){//if Y is inferior to margin (var base)
            var alfa = ((curr_disp)/base)/2;
            curr.alpha = alfa;
        }
    }
};

sp.addEventListener(ScrollEvent.SCROLL, scrollListener);
函数scrollListener(事件:ScrollEvent):void{ var base=120;//页边距高度 var targ=event.currentTarget.getChildAt(3.getChildAt(0);//获取容器 var scrollY=event.currentTarget.verticalScrollPosition;//获取滚动位置 对于(var n1=0;n1<10;n1++){//子循环 var curr=target.getChildByName(“boton”+n1);//当前子项名称var var curr_disp=curr.y-scrollY; curr.alpha=1;//默认alpha if(curr_disp 我需要在底部做同样的操作,如果子对象位于滚动窗格的底部边界,则其alpha将等于0,如果子对象位于底部减去120(变量“base”),则alpha将等于1。我真的迷路了,我的最后期限已经过去了。希望有人能给我一些建议


对不起,我的英语不好。提前感谢。

您可以使用相同的技术更改底部的alpha


您可以使用变量并计算要更改的alpha数量,例如从1到10,10 alpha将以相同的方式减少或增加。

使用alpha blendModeHi在滚动面板上使用遮罩可能更容易(也更美观)。事实上,这是我的临时解决方案,但我希望孩子淡出一个简单的阿尔法基于位置,而不是梯度:-)谢谢!