【发布时间】:2013-06-16 11:21:40
【问题描述】:
似乎每个人都在用响应式香蕉 FRP 框架做电脑游戏,所以我也不得不尝试一下。但是,我坚持早期的步骤,试图将游戏数据描述为响应式香蕉Behavior 类型。
基本上,我正在尝试创建一个(不断变化的)游戏角色列表(例如佛罗多或山姆)。游戏角色可能会在每个游戏滴答时更新(建模为滴答事件)。这个想法是,每当游戏角色发生变化时,都会触发一个Event (Character),并最终通过网络发送角色更新。与Asteroids.hs 示例相比,这样做的好处应该是整个游戏状态(整个游戏角色列表)不需要通过网络发送,因为会有许多事件具有单个游戏角色而不是带有游戏角色列表的单个事件。
对于单个游戏角色,这很好用!我用mapaccum 创建了Behavior (Character),以便在更新字符时发送字符更新信号。我无法解决的问题是如何使用Behavior 游戏角色列表来完成这项工作。
我正在尝试将游戏角色列表建模为Behavior,因为角色可能会在游戏中来来去去。我需要在这里使用动态事件切换吗?或者,如果我不将Behavior 用于单个游戏角色(并且仅将Behavior 用于游戏角色列表),是否有办法在我浏览角色列表时有条件地触发更新事件?还是我这里有什么不明白的地方?
【问题讨论】:
标签: haskell reactive-programming frp reactive-banana