初始 gotoAndStop() 后无法转移到另一帧;
Posted
技术标签:
【中文标题】初始 gotoAndStop() 后无法转移到另一帧;【英文标题】:Can't transfer to another frame after initial gotoAndStop(); 【发布时间】:2015-06-20 11:28:40 【问题描述】:您好,我正在尝试制作一个带有菜单的 Flash 网站。但问题是 gotoAndStop();转移到另一个框架后不起作用,因此无法选择该子菜单中的项目。这就是我要说的。
假设我选择了 flash 作品,然后它进入了那个帧,之后我无法选择第二张图像中的任何项目,即使我已经有一个事件监听器。
第一张图片:
第二张图片:我无法点击这部分的任何内容。这就是我单击 Flash 作品时出现的内容。
这是我的代码。
//this is the flash works button
flashworks_btn.addEventListener(MouseEvent.CLICK, goflashworks);
function goflashworks(event:MouseEvent):void
gotoAndStop(2);
//let's say i picked basic animation
basicanimation_btn.addEventListener(MouseEvent.CLICK, gobasicanimation);
function gobasicanimation(event:MouseEvent):void
gotoAndStop(10);
编辑
import flash.events.MouseEvent;
stop();
//homepage
home_btn.addEventListener(MouseEvent.CLICK, gohome);
flashworks_btn.addEventListener(MouseEvent.CLICK, goflashworks);
aboutdev_btn.addEventListener(MouseEvent.CLICK, goaboutdev);
//flashworks
basicanimation_btn.addEventListener(MouseEvent.CLICK, gobasicanimation);
layersandsymbols_btn.addEventListener(MouseEvent.CLICK, golayersandsymbols);
interactive_btn.addEventListener(MouseEvent.CLICK, gointeractivebutton);
//about developer
profile1_btn.addEventListener(MouseEvent.CLICK, goprofile1);
profile2_btn.addEventListener(MouseEvent.CLICK, goprofile2);
//basic animation
shapetween_btn.addEventListener(MouseEvent.CLICK, goshapetween);
motiontween_btn.addEventListener(MouseEvent.CLICK, gomotiontween);
classictween_btn.addEventListener(MouseEvent.CLICK, goclassictween);
back_flashworks_btn.addEventListener(MouseEvent.CLICK, goback_flashworks);
//layers and symbols
guidelayer_btn.addEventListener(MouseEvent.CLICK, goguidelayer);
masklayer_btn.addEventListener(MouseEvent.CLICK, gomasklayer);
//amazing effect button
amazingbuttoneffect_btn.addEventListener(MouseEvent.CLICK, gobuttoneffect);
//function home page
function gohome(event:MouseEvent):void
gotoAndStop(1);
function goflashworks(event:MouseEvent):void
gotoAndStop(2);
function goaboutdev(event:MouseEvent):void
gotoAndStop(3);
//function flashworks
function gobasicanimation(event:MouseEvent):void
gotoAndStop(10);
function golayersandsymbols(event:MouseEvent):void
gotoAndStop(11);
function gointeractivebutton(event:MouseEvent):void
gotoAndStop(12);
//function about developer
function goprofile1(event:MouseEvent):void
gotoAndStop(13);
function goprofile2(event:MouseEvent):void
gotoAndStop(14);
//basic animation function
function goshapetween(event:MouseEvent):void
gotoAndStop(20);
function gomotiontween(event:MouseEvent):void
gotoAndStop(21);
function goclassictween(event:MouseEvent):void
gotoAndStop(22);
function goback_flashworks(event:MouseEvent):void
gotoAndStop(2);
//layers and symbols function
function goguidelayer(event:MouseEvent):void
gotoAndStop(23);
function gomasklayer(event:MouseEvent):void
gotoAndStop(24);
//interactive button function
function gobuttoneffect(event:MouseEvent):void
gotoAndStop(25);
【问题讨论】:
当您更改帧时,可能会卸载前一帧中的对象,如果再次加载它们,则可能不会重新应用点击侦听器。请更好地解释您的代码的上下文,例如:您显示的代码,与您的按钮和其他框架相关的代码在哪里 如果我可以查看图像,我可以帮助您,但它们没有显示在我的计算机上。而且@LDMS 有个好主意,我最近遇到了这个问题:Reuse Instance Names for Different Objects 我不明白你的意思,但如果我点击闪光灯工作,它会转到有另一个菜单的框架。那是我无法选择项目的地方。 这里是图片。 imgur.com/viPGZdU,mMW85fi#0,我还添加了我正在处理的整个代码以防万一。 当 LDMS 接触时,我怀疑您添加侦听器的按钮在添加侦听器时不存在。因此,当您更改框架时,那里的按钮上没有侦听器。如果您想继续使用时间线的东西,我会将特定“页面”的侦听器移动到与图形相同的帧。 【参考方案1】:谢谢你,我设法解决了这个问题。原来我需要在我的项目中分离不同框架中按钮的动作脚本,因为我在解决它之前做的第一件事就是将所有按钮实例只放在动作脚本层的一个框架中。
【讨论】:
以上是关于初始 gotoAndStop() 后无法转移到另一帧;的主要内容,如果未能解决你的问题,请参考以下文章