【问题标题】:how to update a variable in actionscript 3?如何更新actionscript 3中的变量?
【发布时间】:2011-03-30 19:21:38
【问题描述】:

我刚开始学习 actionscript 3,我有一个问题。我正在尝试创建游戏,但不确定如何为变量创建全局更新?例如,如果我把这个:

    myNumber+=1;
    txt.text = myNumber.toString();

它只更新一次,并在游戏开始时停止。我想要不断更新。这怎么可能?是否有需要使用的 update() 方法?

【问题讨论】:

    标签: flash actionscript-3 flash-cs5


    【解决方案1】:
    import flash.events.Event;
    
    addEventListener(Event.EnterFrame, HandleGameLoop);
    
    function HandleGameLoop(e:Event):void
    {
        // Everything in here will be called Every frame.
    }
    

    根据您提出的问题,我建议您查看一些教程。 这是一篇关于游戏的精彩文章。它从头到尾贯穿整个过程。

    http://gamedev.michaeljameswilliams.com/

    【讨论】:

    • 尽量避免使用 enterFrame 事件,因为这会影响为 swf 设置的帧速率,该帧速率可以更改并且可能会弄乱数据。最好的办法是使用 Timer 类。
    • 他只是想让文本字段保持最新。我同意以帧速率运行游戏计时器将是一个巨大的错误。但是无论哪种方式都可以更新文本字段等。闪存时间的问题是,如果您开始滞后非常糟糕(导致大量垃圾发生并且您的帧速率下降),计时器会在适当的时间继续工作,因此所有事情都会在您给定的帧速率下关闭。
    • 两者的混合是我通常在游戏原型中使用的。一切都在时间片内完成。我不是每帧都移动 x,而是移动 x * 时间片。这样当帧速率下降时,一切都保持流畅。
    • EnterFrame 事件非常适合这种情况(动画)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多