【问题标题】:AS3:如何确保每帧调用的函数不超过一次?
【发布时间】:2021-04-25 03:58:57
【问题描述】:

我有一个可以多次调用的函数,但我不希望它每帧执行一次以上。实现它的最佳方式是什么?

【问题讨论】:

    标签: actionscript-3 flash actionscript


    【解决方案1】:

    类似于每帧重置一次的触发开关。我相信下面的脚本是不言自明的。

    var canTrigger:Boolean;
    
    addEventListener(Event.ENTER_FRAME, resetTrigger);
    
    function resetTrigger(e:Event):void
    {
        canTrigger = true;
    }
    
    function oncePerFrame():void
    {
        if (!canTrigger) return;
        
        canTrigger = false;
        
        // Your code from here on.
    }
    

    【讨论】:

    • 如果resetTrigger 会被两次添加到enterframe 监听器列表中,这可能会有缺陷。
    • @Vesper 我也可以使它不能以多种不同的方式工作。不过,让我们坚持第一编程定律。
    猜你喜欢
    • 1970-01-01
    • 2019-05-03
    • 2011-05-09
    • 1970-01-01
    • 2018-10-12
    • 2011-12-01
    • 1970-01-01
    • 2023-03-16
    • 2021-12-31
    相关资源
    最近更新 更多