我的意思是,在AS3中是否存在一种方式,或者在一般编程(php,js等)中使事件触发/激活“WHEN”某事做某事,与if / else if / else相反陈述?
例如,假设我想在一个帧标签被击中时激活/激活事件,此后,做其他事情等,基本上让它根据什么时候满足某些目标一个接一个地做事情。是否存在“何时”类型的声明等,这将与if / else if etc ???
相反例如,使用上面的例子,而不是我做这样的事情:
Code:
xyz.addEventListener(Event.ENTER_FRAME / or INIT , btn);
function btn(e:Event):void{
if ( externalSwf.currentFrameLabel == " label here "){
do something code here.
}
}
有没有办法像这样做:
Code:
xyz.addEventListener(Event.ENTER_FRAME / or INIT , btn);
function btn(e:Event):void{
when ( externalSwf.currentFrameLabel == " label here "){
do this.
when (this happens){
do this next
}
}
}
等...
如何实现这一目标?
我问的原因是因为我有一个小项目我正在工作(外部swfs代码的平滑过渡)部分工作,但我不能为我的生活,弄清楚如何实现像我上面直接的结构。
基本上我说的是,我不需要我需要的条件......确定......如果那是有道理的哈哈。
希望它不会混淆。任何提示想法等我很高兴欣赏。
谢谢。答案 0 :(得分:2)
您正在寻找的是事件已经完成的事情。例如,当即将呈现新帧时,事件将触发。然后,您可以检查 if 该帧是否具有特定标签。
对于帧标签示例,您可以创建一个仅在您想要的帧上触发的自定义侦听器。在这种情况下,您的when
块将成为回调函数。
frameLabelEventDispatcher.addEventListener("label here", whenLabel);
function whenLabel() { /* do something */ }
答案 1 :(得分:0)
如果你想在某些对象(例如prop
扩展Example
)的某些属性(例如EventDispatcher
)中做某些事情时,你应该在seter of {{ {1}}。所以,我建议如下
prop
嗯,我想你是我的想法。希望能帮到你!