2011-06-02 95 views
1

我在Flash AS3中的游戏项目工作。功能和事件之间的AS3性能差异

我需要将数据从一个类(Game)传递到EnterFrame上的其他类对象(Ships),并且性能开始成为问题。 我想知道在向Ship发送一个直接函数或调度Ship可以收听的事件之间的性能差异。

另一个问题是我应该在哪里放置enterframe函数。使用只有一个enterframe函数并从那里调用methods \ dispatch事件会更好吗?或者将enterframe放在不同的对象(Ships)中会更明智吗?注意:有些船在大多数时间都不工作。

希望我设法解释自己。

感谢,

体内

+1

你应该考虑观察者模式。 – Taurayi 2011-06-02 12:53:52

+0

回调将比使用事件更快。如何让你的船舶在一个数组中可以在主游戏循环(enterframe)中循环以在每艘船上调用update()方法? – 2011-06-02 13:22:07

回答

1

这绝对是便宜调用函数直接而不需要经过事件分派/听链。

你应该拥有多少个EnterFrames是很棘手的,一般来说最好尽可能少,但如果你必须派发大量的事件,最好还有更多的事情 - 如果你可以做它从一个中央EnterFrame循环直接调用方法是最好的。

此外,如果您的船舶大多数时间不活动,那么你不应该有一个EnterFrame运行在每个。

+0

谢谢你...这是非常有帮助的 – vivo 2011-06-05 19:42:42

相关问题