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
Actionscript 3 是否有一种内置的暂停AIR桌面应用程序的方法?_Actionscript 3_Air_Desktop Application_Suspend - Fatal编程技术网

Actionscript 3 是否有一种内置的暂停AIR桌面应用程序的方法?

Actionscript 3 是否有一种内置的暂停AIR桌面应用程序的方法?,actionscript-3,air,desktop-application,suspend,Actionscript 3,Air,Desktop Application,Suspend,我有一个空中桌面游戏,有背景音乐,在主菜单中重复动画。是否有一种内在的可能性告诉AIR container,当窗口失去焦点时(例如,通过alt+tab或按下windows键),AIR container会暂停其容器的内容(暂停音乐和动画/帧处理程序等) 还是只有一个接一个地停止所有内容,当再次聚焦时,才有可能一个接一个地开始所有事情?@JoshJanusch说的是真的——你必须自己管理它,尽管设置stage.frameRate可能对你有所帮助 我见过的大多数激活/停用管理器都会执行以下操作:

我有一个空中桌面游戏,有背景音乐,在主菜单中重复动画。是否有一种内在的可能性告诉AIR container,当窗口失去焦点时(例如,通过alt+tab或按下windows键),AIR container会暂停其容器的内容(暂停音乐和动画/帧处理程序等)


还是只有一个接一个地停止所有内容,当再次聚焦时,才有可能一个接一个地开始所有事情?

@JoshJanusch说的是真的——你必须自己管理它,尽管设置
stage.frameRate
可能对你有所帮助

我见过的大多数激活/停用管理器都会执行以下操作:

  • stage.frameRate
    设置为0.01(减慢动画速度和
    ENTER_FRAME
    事件侦听器,特别是在移动设备上节省CPU/电池)
  • 停止声音(如果您通过一些
    SoundManager
    类播放所有声音,这可能很简单)
  • 管理
    setInterval
    setTimeout
    的使用,因为它们是持续触发的计时器
  • 考虑挂起任何其他异步活动(如网络请求或后台工作人员)

您可以在评论中对此列表提出建议。

后者。你必须监听
事件。激活
事件。在舞台上或
本地应用程序上停用
,然后逐个停止所有操作,然后重新启动。真的吗?!空气容器中不应该有这样的功能吗?无论如何,谢谢你的帮助。Adobe不会自动处理任何事情。Flash/AIR并不是一个简单的SDK,它包含了很多帮助程序和所有东西。这意味着它是一种让开发人员能够绝对控制的语言。想想看,他们会怎么暂停呢?有人多久会想要一个没有声音或任何东西的绝对静态屏幕?对用户来说,应用程序看起来是冻结的(从技术上讲,它是冻结的)。另外,它不会与系统交互正确交互(即在OSX中滚动非活动窗口),实际上会与大多数设计范例相违背。哦,这很方便,非常感谢。是否有理由将帧速率设置为0.01?这是最低的有效值per=)这是一个很好的答案,尽管将帧速率设置为0.01仍会导致动画移动(例如,每秒移动1个像素的动画将每100秒移动1个像素)。你可能会想处理这件事。如果这是一个游戏,你应该有一个暂停菜单,你可以在
事件触发时使用。DEACTIVATE
触发。右-游戏框架应该有一个暂停机制(或尊重自动停用事件,如),最好使用支持暂停的框架(声音、动画、计时器等)。帧率技巧可能会使不使用这些的项目受益。