我想做的事情似乎很简单,但被我想要在Flash的时间轴内工作的事实所迷惑,而不是在自定义类,.as文件, flex等。我是一名艺术家,代码只能像我的资源一样可重用(在Flash中创建/动画),所以我倾向于在时间轴上工作。Flash AS3 - 从孩子到父母时间线的活动
我想在孩子的时间线结束时有一个脚本,它的父代的时间线进度。如果这是一个真正的AS3脚本,那么类似这样的东西将会在孩子的最终框架上:this.parent.gotoAndPlay(2);
我已经完成了可以工作的“修复”,但是将我的程序放慢到了不可接受的速度。例如:我将在导入的自定义类中保存一个公共静态布尔值,并在父帧1上拥有一个“侦听器”:
import customClass;如果(布尔=真){的gotoAndPlay(3);} //父框架2上等待子
:
的gotoAndPlay(1); //这将创建便宜环
和最后一个子帧:
进口customClass;布尔= TRUE //告诉父母时留下的环
这工作,但显然不是最好的办法......我需要的是同一个时间轴帧中的递归,但没有一个堆栈溢出或编号增量。我想怀疑是EventListeners的答案,但我不想用MouseClick或Timer触发它,我想这样触发它:new EventListener:EventListener(ThatGlobalVarAtTheEndOfYourChildTimelineHasBeenChanged);然后当布尔变为true时它会进展。我确定这很容易,我觉得自己像一个白痴问这么简单,但所有的文档都让我在舞台上工作,或者用我在代码中创建的对象内的对象,但它不是这很容易与我想做的事情,因为我正在制作使用多个时间轴的复杂动画。 Flash知道哪些对象在什么范围内,而不是我或我的课程。
谢谢任何人的帮助。
这将是干净的做法..我认为,虽然,在主要时间线上,它应该是孩子。addEventListner(...) – Ben 2010-09-09 02:34:07
实际上,root代表flash中最顶层的对象..子实例可以调用它自己的dispatchEvent方法(并执行child.addEventListener) – Ben 2010-09-09 02:35:37
我使用根作为前端控制器,所以this你有一个调度员,这让我意识到我实际上在我上次编辑中犯了一个错误... – PatrickS 2010-09-09 02:40:52