Actionscript 3 Actionstipt3中掩码上的Tween代码不工作

Actionscript 3 Actionstipt3中掩码上的Tween代码不工作,actionscript-3,Actionscript 3,我正在尝试制作手风琴风格的菜单。我可以让屏幕上下移动,但我无法让内容显示出来。我把每个屏幕都设置成一个电影剪辑,旁边有一个面具。我不能用“如果”来打开面具。有什么想法吗 import fl.transitions.Tween; import fl.transitions.easing.*; screen01.addEventListener(MouseEvent.CLICK, clickHandler); screen02.addEventListener(MouseEvent.C

我正在尝试制作手风琴风格的菜单。我可以让屏幕上下移动,但我无法让内容显示出来。我把每个屏幕都设置成一个电影剪辑,旁边有一个面具。我不能用“如果”来打开面具。有什么想法吗

import fl.transitions.Tween;
import fl.transitions.easing.*;

screen01.addEventListener(MouseEvent.CLICK, clickHandler);      
screen02.addEventListener(MouseEvent.CLICK, clickHandler);
screen03.addEventListener(MouseEvent.CLICK, clickHandler);
screen04.addEventListener(MouseEvent.CLICK, clickHandler);      


function clickHandler(event:MouseEvent):void
{
    if(event.target == screen01)
    {
        if(screen01.Makeing_MC.height <=72)
        {
            var tweenMask0:Tween = new Tween(screen01.Makeing_MC, "y", Strong.easeOut, screen01.Makeing_MC.height, screen01.Makeing_MC.height + 250, 2, true);
        }           
        var test0:Tween = new Tween(screen01, "y", None.easeNone, screen01.y, 182, 1, true);
        var test1:Tween = new Tween(screen02, "y", None.easeNone, screen02.y, 539, 1, true);
        var test2:Tween = new Tween(screen03, "y", None.easeNone, screen03.y, 625, 1, true);
        var test3:Tween = new Tween(screen04, "y", None.easeNone, screen04.y, 710, 1, true);
    }
    else if(event.target == screen02)
    {
        var testa:Tween = new Tween(screen01, "y", None.easeNone, screen01.y, 182, 1, true);
        //var maskmove1:Tween = new Tween(screen01.Makeing_MC, "height", Strong.easeOut, screen01.Makeing_MC.height, screen01.Makeing_MC.height - 250, 1, true);

        var test5:Tween = new Tween(screen02, "y", None.easeNone, screen02.y, 265, 1, true);
        var test6:Tween = new Tween(screen03, "y", None.easeNone, screen03.y, 625, 1, true);
        var test7:Tween = new Tween(screen04, "y", None.easeNone, screen04.y, 710, 1, true);
    }
    else if(event.target == screen03)
    {
        var test8:Tween = new Tween(screen02, "y", None.easeNone, screen02.y, 265, 1, true);
        var test9:Tween = new Tween(screen03, "y", None.easeNone, screen03.y, 347, 1, true);
        var test10:Tween = new Tween(screen04, "y", None.easeNone, screen04.y, 710, 1, true);
    }
    else if(event.target == screen04)
    {
        var test11:Tween = new Tween(screen02, "y", None.easeNone, screen02.y, 265, 1, true);
        var test12:Tween = new Tween(screen03, "y", None.easeNone, screen03.y, 347, 1, true);
        var test13:Tween = new Tween(screen04, "y", None.easeNone, screen04.y, 431, 1, true);
    }
}
导入fl.transitions.Tween;
导入fl.transitions.easing.*;
screen01.addEventListener(MouseEvent.CLICK,clickHandler);
screen02.addEventListener(MouseEvent.CLICK,clickHandler);
screen03.addEventListener(MouseEvent.CLICK,clickHandler);
screen04.addEventListener(MouseEvent.CLICK,clickHandler);
函数clickHandler(事件:MouseEvent):void
{
如果(event.target==screen01)
{

如果(screen01.Makeing_MC.height你的想法是正确的。看起来你除了调整电影剪辑的位置外,还尝试调整了蒙版的大小

假设你的舞台结构是这样的

0: MainTimeline
    0: screen01 (MovieClip) // screen01.mask = Makeing_MC?
        0: Makeing_MC (Shape) // <-- our mask?
        1: txt (TextField)
    1: screen02
        0: Makeing_MC (Shape)
        1: txt (TextField)
    2: screen03
        0: Makeing_MC (Shape)
        1: txt (TextField)
    3: screen04
        0: Makeing_MC (Shape)
        1: txt (TextField)

就像OP一样,你的吐温还没来得及完成就已经是GC了。以前没用过土生土长的吐温(我更喜欢格林斯托克)。我将更新一个更正。Atriace-我看到了一些Greensock的东西,看起来很棒,但我仍然是一名学生。我也更倾向于设计编码,所以在使用外部编码工具之前,我试图学习flash的基本知识。谢谢Atriace,我需要稍微改变一下大小,但这样效果更好我的代码。我在编码领域还是个新手,所以我知道我的代码有点凌乱和怪异。再次感谢你!再次感谢你在这方面的帮助。我不擅长解释我需要什么帮助,所以我想我会向你展示我需要代码的原因。再次感谢你!我很粗略,但还有很多事情没有完成PS:在你走之前说到这里……我建议使用一个遮罩,但我的意思是,整个菜单只需要一个遮罩。因为每个页面都可以通过遮罩区域看到,所以你可以将每个页面放在靠近底部的位置,这样只有一个小的可点击部分可以看到,当你点击它时,它会向上或向下变为“更多”“在遮罩区域内可见。将遮罩想象成一个查看窗口,然后您只需向上/向下滑动您希望完全看到的任何项目并将其滑开(提供手风琴菜单的效果)
import fl.transitions.Tween;
import fl.transitions.easing.*;

// We'll keep clip specific information (nice and tidy) in here.
var accordion:Array = [
    {"clip":screen01, "height":357, "y":182},
    {"clip":screen02, "height":360, "y":265},
    {"clip":screen03, "height":363, "y":347},
    {"clip":screen04, "height":360, "y":431}
]


// Loop through and register each clip with mouse events.
for each (var screen:Object in accordion) {
    screen.clip.addEventListener(MouseEvent.CLICK, clickHandler);
}


function clickHandler(e:MouseEvent):void {
     // This is the size of the open accordion.
     // We'll add this to each consecutive clip's "y" property after the clicked one.
    var offsetY:int = 0;

    // Loop through the accordion array
    for each (var screen:Object in accordion) {
        // Set the position of the clip to the "y" value from the appropriate entry, adding our offset.
        screen.tween = new Tween(screen.clip, "y", None.easeNone, screen.clip.y, screen.y + offsetY, 1, true);

        // If this is the clip we clicked on...
        if (screen.clip == e.target) {
            offsetY = screen.height; // Add the opened accordion's height property to the offset
            // and animate open the mask.
            screen.maskTween = new Tween(screen.clip.Makeing_MC, "height", Strong.easeOut, screen.clip.Makeing_MC.height, screen.height, 1, true);
        } else if (screen.clip.Makeing_MC.height != 15) {
            // Otherwise, if its size is not 15, animate it to its "closed" position.
            screen.maskTween = new Tween(screen.clip.Makeing_MC, "height", Strong.easeOut, screen.clip.Makeing_MC.height, 15, 1, true);
        }
    }
}