我为我们正在使用的宣传册软件创建了 Flash 布局,但遇到了分层问题。
当有人单击其中一个“+”按钮时,它会将图像向右更改并转到播放简单动画的帧以调出“灯箱”。
我遇到的问题是灯箱覆盖的“+”按钮在某些时候不起作用,即使这些图层在时间轴中的那个点上没有激活。
有没有办法让按钮层在点击之前位于顶部?单击后,影片剪辑层应位于顶部。
我在这里附上了一个布局示例。
我为我们正在使用的宣传册软件创建了 Flash 布局,但遇到了分层问题。
当有人单击其中一个“+”按钮时,它会将图像向右更改并转到播放简单动画的帧以调出“灯箱”。
我遇到的问题是灯箱覆盖的“+”按钮在某些时候不起作用,即使这些图层在时间轴中的那个点上没有激活。
有没有办法让按钮层在点击之前位于顶部?单击后,影片剪辑层应位于顶部。
我在这里附上了一个布局示例。
隐藏没有代码的图层。
顺便说一句,上面的答案让你头疼。这个人要求一个简单的解决方案,但你把他弄糊涂了。
如果您想在运行时(而不是在编辑期间)将某些对象放在顶部,请查看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 访问它们。
您可以将visible
这些图层的属性设置为false