Actionscript 3 如何在一帧而不是全部帧上执行侦听器?

Actionscript 3 如何在一帧而不是全部帧上执行侦听器?,actionscript-3,listener,Actionscript 3,Listener,如何获取此代码: addEventListener(Event.ENTER_FRAME, char_coll); function char_coll(ev : Event) : void { if(w1.hitTestObject(stand)){ w1.gotoAndPlay(1); cash1 = cash1 + 1; } } 并且只使用它来监听一帧而不是所有帧?例如,我希望我可以指定它在第2帧上侦听。有人能告诉我怎么做吗 addEventLis

如何获取此代码:

addEventListener(Event.ENTER_FRAME, char_coll);
function char_coll(ev : Event) : void {
    if(w1.hitTestObject(stand)){
        w1.gotoAndPlay(1);
        cash1 = cash1 + 1;

}
}
并且只使用它来监听一帧而不是所有帧?例如,我希望我可以指定它在第2帧上侦听。有人能告诉我怎么做吗

addEventListener(Event.ENTER_FRAME, char_coll);
function char_coll(ev : Event) : void
{
    if(currentFrame==2 && w1.hitTestObject(stand))
    {
        w1.gotoAndPlay(1);
        cash1 = cash1 + 1;
    }
};
抢劫


罗布

谢谢你,罗布!这正是我要找的!我做了一个测试,但仍然收到一个错误。原因是我有另一个对象将我带到第三帧(这是第2帧),然后它循环并执行此函数,但当然我没有舞台上的w1 movieclip,所以我如何执行此操作,以便它跳过此函数,如果它不在第2帧上,则事件侦听器?您仍然可以使用一个if语句来执行此操作。只需将currentFrame==2放在w1.hitTestObject(stand)之前。如果第一个条件失败(例如currentFrame!=2),那么它甚至不会尝试第二个条件。谢谢Rob!这正是我要找的!我做了一个测试,但仍然收到一个错误。原因是我有另一个对象将我带到第三帧(这是第2帧),然后它循环并执行此函数,但当然我没有舞台上的w1 movieclip,所以我如何执行此操作,以便它跳过此函数,如果它不在第2帧上,则事件侦听器?您仍然可以使用一个if语句来执行此操作。只需将currentFrame==2放在w1.hitTestObject(stand)之前。如果第一个条件失败(例如,currentFrame!=2),则它甚至不会尝试第二个条件。