【发布时间】:2019-09-13 01:35:54
【问题描述】:
我正在用 Python 编写一个 ECS 框架和一个游戏。在 ECS 框架中,组件应该只包含数据。但是,有时需要设置代码来创建数据。例如,在音频组件中,数据将是要播放的声音的音量和音频文件的路径。但是在音频播放库中,有一些对象来表示声音,例如,它们有一个sound.play() 方法。我的问题是这个对象是否应该在组件中创建,这违反了实体应该是纯数据的规则,还是在系统中。如果最好在系统中完成,则只需完成一次(如果需要每帧创建一次音频文件,则会损害性能)。最好的方法是什么?
【问题讨论】:
标签: python design-patterns components entity entity-component-system