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