【问题标题】:Flash AS3: How to "hide" layers when not in useFlash AS3:不使用时如何“隐藏”图层
【发布时间】:2013-08-26 22:39:29
【问题描述】:

我为我们正在使用的宣传册软件创建了 Flash 布局,但遇到了分层问题。

当有人单击“+”按钮之一时,它会将图像向右更改并转到播放简单动画的帧以调出“灯箱”。

我遇到的问题是,在某个时间点被灯箱覆盖的“+”按钮将不起作用,即使这些图层在时间轴中的那个时间点未处于活动状态。

有没有办法让按钮层一直在顶部,直到被点击?单击后,影片剪辑层应位于顶部。

我在这里附上了一个布局示例。

【问题讨论】:

    标签: actionscript-3 flash


    【解决方案1】:

    隐藏没有代码的图层。

    1. 点击图层
    2. 在属性上单击 fill > alpha ,从 100 将其更改为零(透明)

    顺便说一句,上面的答案让你头疼。对方要求一个简单的解决方案,但你把他弄糊涂了。

    【讨论】:

      【解决方案2】:

      您可以将这些层的visible 属性设置为false

      【讨论】:

        【解决方案3】:

        如果您想在运行时(而不是在编辑期间)将某些对象放在顶部,请查看setChildIndex() 以重新安排在您的 swf 中哪个对象位于其他对象之上。

            import flash.events.MouseEvent;
        
            // Listen for a click (you would want to add for each of your buttons, 
            // optionally an array or vector would be handy here)
            yourButtonName_mc.addEventListener(MouseEvent.CLICK, buttonClicked);
        
            // Whenever your button is clicked call this
            function buttonClicked(evt:MouseEvent)
            {
                // Throw the specific object on top of everything else
                // This assumes that thingToThrowOnTop_mc is a direct child of the stage
                setChildIndex(thingToThrowOnTop_mc, numChildren-1);
            }
        

        您也可以查看swapChildren() 或其他变体。

        请记住,为了方便编辑,图层仅在运行时存在,当 swf 运行时它们不再存在;但是,层中的对象通常是MovieClip 实例或其他DisplayObjects。如果您不知道,向这些对象添加实例名称将允许您直接通过 ActionScript 访问它们。

        【讨论】:

        • 我尝试将这个想法整合到我现有的功能中:function playTransp(e:MouseEvent):void { setChildIndex(mc_industries, numChildren-1); mc_industries.gotoAndPlay(2); stop(); },它第一次工作,但如果我再次点击它,按钮就会被禁用。我知道层顺序在运行时应该无关紧要,但似乎确实如此。
        • 既然你提到它只在第一次工作,你可能需要做的是多次 setChildIndex()swapChildren() 调用你的许多其他对象,让它表现得像你想要它。图层顺序最初只会影响舞台上对象的 z 顺序,之后由您来设置对象的子索引。听起来您也正在使用时间线,请确保您的 ActionScript 层在您的 swf 的整个持续时间内存在,而没有其他关键帧将其分解,以确保您的事件侦听器正常工作,添加 trace("clicked");
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-11-12
        • 1970-01-01
        • 1970-01-01
        • 2023-03-05
        相关资源
        最近更新 更多