Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.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
Apache flex Enterframe事件的问题_Apache Flex_Actionscript 3 - Fatal编程技术网

Apache flex Enterframe事件的问题

Apache flex Enterframe事件的问题,apache-flex,actionscript-3,Apache Flex,Actionscript 3,我一直在使用Flex开发一个游戏,并使用Timer类来保持主循环 但是,当我尝试使用enterFrame事件执行主循环时,出现了一些问题 首先,物理模拟似乎太快了。enterFrame事件是否每帧调用一次以上?我将应用程序的全局帧速率设置为24,所以应用程序不应该每1/24秒触发一次事件吗 第二个问题是,当游戏像这样运行时,添加的一些MXML组件不会显示。我完全不知道为什么会这样 请帮帮我 谢谢。帧率是所需的值。如果用户在速度较慢的机器上运行,您可能会感觉到他们的输出速度太慢。回到过去怎么样 ?

我一直在使用Flex开发一个游戏,并使用Timer类来保持主循环

但是,当我尝试使用enterFrame事件执行主循环时,出现了一些问题

首先,物理模拟似乎太快了。enterFrame事件是否每帧调用一次以上?我将应用程序的全局帧速率设置为24,所以应用程序不应该每1/24秒触发一次事件吗

第二个问题是,当游戏像这样运行时,添加的一些MXML组件不会显示。我完全不知道为什么会这样

请帮帮我


谢谢。

帧率是所需的值。如果用户在速度较慢的机器上运行,您可能会感觉到他们的输出速度太慢。回到过去怎么样

不要指望帧速率为偶数,也不要指望以固定的间隔调用enterframe。即使是timer类也不是100%准确

进行计时时,始终使用帧更新之间的增量,并将该增量用于计算。另外,请确保设置一个安全防护,确保增量永远不会超过某个值,以避免闪存应用程序因某些意外原因而冻结时出现奇怪的行为

这篇文章完美地解释了这一切:

某些帧的渲染时间比其他帧长。将FPS设置为24意味着新帧将每秒渲染大约24次,但并不完全如此。enter frame事件每帧仅广播一次,但是您可能多次将同一事件侦听器附加到它(导致该函数每帧被调用多次)。你的时间间隔是多少?此外,我们无法帮助解决缺少的组件,除非我们看到一些代码(添加组件的部分将是一个良好的开端)您是否使用Box2D进行物理测试?+1,关于帧速率,您是对的<但是,代码>设置间隔并不会使速度较慢的机器更快。