Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flash 是否有一个“问题”;什么时候;与if/else if等相反的编程?_Flash_Actionscript 3 - Fatal编程技术网

Flash 是否有一个“问题”;什么时候;与if/else if等相反的编程?

Flash 是否有一个“问题”;什么时候;与if/else if等相反的编程?,flash,actionscript-3,Flash,Actionscript 3,我的意思是,在AS3中,或者在一般编程(php、js等)中,有没有一种方法可以使事件“在”某事发生时触发/激活,而不是使用if/else if/else语句 例如,假设我只想在点击帧标签时触发/激活一个事件,然后再做其他事情等,基本上是让它根据达到特定目标的时间一个接一个地做事情。是否有一个“何时”类型的语句等,它将与if/else if etc相反 例如,使用上述示例,而不是我这样做: Code: xyz.addEventListener(Event.ENTER_FRAME / or INIT

我的意思是,在AS3中,或者在一般编程(php、js等)中,有没有一种方法可以使事件“在”某事发生时触发/激活,而不是使用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
}
    }

}
有没有办法做到这一点:

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
}
    }

}
等等

如何才能做到这一点

我问这个问题的原因是因为我有一个正在进行的小项目(外部主权财富基金代码的平滑转换),这个项目在一定程度上是可行的,但我不能在我的一生中,找出如何实现像我上面所说的结构

基本上我说的是,我不需要我需要的条件句。。确定…如果有道理的话,哈哈

希望它不会让人困惑

任何提示、想法等,我都非常感谢


谢谢。

如果您想在对某个对象(例如
示例
扩展
事件调度器
)的某些属性(例如
属性
)进行赋值时执行某项操作,则应在
属性
的集合中抛出事件。因此,我建议如下

class Example1 extends Example {
    public static var eventName = "event_name";
    //var prop is declared in Example class
    public function setProp(val: string) {
        prop = val;
        if (prop == "some_value") {
            dispatchEvent(new flah.events.Event(eventName));
        }
    }

    public function init() {
        addEventListener(eventName, handler);
    }

    private function handler(e: Event) {
        //do whatever you like here
    }
}

好吧,我想你不同意我的想法。希望这对你有帮助

您要查找的内容已由事件完成。例如,将要渲染新帧时触发事件。然后,您可以检查该框架是否具有特定标签

对于帧标签示例,可以创建一个自定义侦听器,该侦听器仅在需要的帧上激发。在这种情况下,
when
块将是一个回调函数

frameLabelEventDispatcher.addEventListener("label here", whenLabel);

function whenLabel() { /* do something */ }

听起来你需要保存一些关于事件进展的状态。(状态转换将由EventHandler触发)。我看不出正常的
if
和您的
when
关键字之间有什么区别。你能举一个例子说明它的不同之处吗?我想他希望
的时候表现得像:“返回控制流,但一旦满足这个新条件,就回到这里来”。