首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >实体组件系统中的边界和位置

实体组件系统中的边界和位置
EN

Stack Overflow用户
提问于 2019-10-20 12:07:14
回答 1查看 250关注 0票数 0

我正在开发一个主要使用ECS (而不是纯ECS)的游戏引擎,我遇到了一个问题。

有些实体需要Bounds组件(例如,具有表示位置、宽度和高度的Rectangle的组件)。就像纽扣。许多实体还需要一个包含位置但不一定是边界的组件。

我如何协调重叠?

1)如果一个实体同时有一个Bounds组件和一个position组件,则会有两个位置。不太好

2)实体只有继承自position组件的Bounds组件。这很难看,因为我必须覆盖position组件中的translate等实用方法,并让它更新边界对象的位置。此外,实体将不会有位置组件,这很奇怪。

3) Bounds组件只包含宽度和高度。我不喜欢这样,因为这样我就不能使用像Rectangle类这样的东西来表示边界。

有什么想法吗?谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-21 03:58:52

我会选择3,如果你有一个Bound组件并在局部框架中表示边界,就需要有一个Transform组件。

使用具有左下角和右上角的Rectangle仍然是有意义的,因为边界的原点并不总是与组件的原点相同。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58469955

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档