为什么.currentFrame在影片剪辑中找不到帧?我的按钮没有隐藏。 Flash AS3

时间:2011-10-25 18:42:43

标签: flash actionscript-3 button hide

我正在为使用Flash CS5 AS3的妹妹创建一个“简单”幻灯片。我正在使用Flash演示模板。我目前有现有的功能按钮,可以在演示文稿的任何方向上进行导航。唯一的问题是,在封面页上,我只想要一个“Enter”按钮,当你移动到框架时,它会隐藏。 1.我目前在一个图层上都有按钮,在单独的图层上有movieclip(slides_mc),以及在它自己的图层上的动作。全部由主时间轴上的一帧组成。在slides_mc中没有动作脚本,由4帧组成。

当我运行测试时,我没有得到任何错误,但它根本没有找到影片剪辑中的特定帧。或者它正在寻找帧但没有执行.visible = false。

如果我使用以下内容:

if(slides_mc.currentFrame>1) enter_btn.visible=false;

按钮在所有四个框架上都可见。

如果我使用以下内容:

if(slides_mc.currentFrame==1) enter_btn.visible=false;

按钮在第1帧上消失,但在任何其他帧上都不会再次显示。

如果使用以下内容:

if(slides_mc.currentFrame==2) enter_btn.visible=false;

按钮在所有四个框架上都可见。

我是否需要将此代码放在一个函数中来调用它并使其工作?提前致谢。这个按钮隐藏问题让我疯狂。我真的需要回到多媒体学校。

如果我忘记提及重要信息,或者如果您需要查看可能影响结果的任何其他代码,请告诉我们。非常感谢您的帮助。

3 个答案:

答案 0 :(得分:0)

你可能把代码放在第一帧,“if”被检查一次,当你移动到下一帧时,这段代码不会被执行。如果你不想为外部.as文件扩展MovieClip,你应该简单地在框架上放置代码visible = false你需要隐藏它,或者只是从时间轴中删除对象。

答案 1 :(得分:0)

你也可以这样做:

stage.addEventListener(Event.ENTER_FRAME, doThis);

 function doThis(){ if(slides_mc.currentFrame>1){enter_btn.visible=false;}}

然后该函数将一直检查currentFrame。

答案 2 :(得分:-2)

stage.addEventListener(Event.ENTER_FRAME, doThis);

 function doThis(event:Event){ if(slides_mc.currentFrame>1){enter_btn.visible=false;}}