Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

关于组件数据更新获取方案 #25

Open
zhengtg opened this issue Oct 11, 2022 · 7 comments
Open

关于组件数据更新获取方案 #25

zhengtg opened this issue Oct 11, 2022 · 7 comments

Comments

@zhengtg
Copy link

zhengtg commented Oct 11, 2022

如题,看你blog中的消息订阅发布系统(https://blog.codingnow.com/2019/12/ecs_message_matching.html)可以很好解决这个问题,但库中并没有体现,是废弃了吗?

@Gowa2017
Copy link

这是云老大为自己引擎做的东西。

@zhengtg
Copy link
Author

zhengtg commented Oct 24, 2022

嗯,这个知道,看了多个版本的lua 版本 ecs,还是云大的这个最为靠谱。所以想基于这个lib做个demo。
在实际应用中,我觉得blog中设计的消息订阅发布系统 比较好的解决 一次性的数据变更问题,不需要重复计算。
目前没有事件也可以通过加tag的方式处理,只是需要多维护一些这样的tag组件。

@zhengtg
Copy link
Author

zhengtg commented Oct 24, 2022

翻到了之前的博客《跟踪 Component 的修改》https://blog.codingnow.com/2019/02/component_modify.html 这方案有在用吗?和事件系统一样,都可以解决脏数据更新问题。
另外,这个库中对component的上限是255个,如果对于逻辑复杂一点的游戏,可能不够用,有什么推荐解决方案吗?

@zhengtg zhengtg changed the title 关于luaecs 库的定位及规划 关于组件数据更新获取方案 Oct 24, 2022
@cloudwu
Copy link
Owner

cloudwu commented Oct 24, 2022

255 是个宏,你可以自己改。

@zhengtg
Copy link
Author

zhengtg commented Oct 26, 2022

255 是个宏,你可以自己改。

嗯,可以修改。
那个关于 Component数据更新 获取方案,目前还是推荐脏数据打tag的方案吗?

@cloudwu
Copy link
Owner

cloudwu commented Oct 26, 2022

没有推荐。本着 less is more 的原则,目前库没有尝试给出任何关于 Component 数据更新的方案。

@zhengtg
Copy link
Author

zhengtg commented Nov 27, 2022

component数据更新采用脏数据的方式还是比较方便(目前主要采用方式),就是component数量多一些,维护起来比较麻烦点。
博客中提到的跟踪组件数据变化,c类型还好处理,lua类型的组件,太复杂了。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants