为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

潇潇雨雨 2023-11-10 17:14:43
我正在开发一个主要使用 ECS(不是纯 ECS)的游戏引擎,但我遇到了问题。一些实体需要一个组件(例如,具有表示位置、宽度和高度的Bounds组件)。Rectangle就像按钮一样。许多实体还需要一个包含位置但不一定包含边界的组件。如何协调重叠?1)如果一个实体同时具有Bounds组件和位置组件,则将有两个位置。不好2)实体只有Bounds继承自位置组件的组件。丑陋的是因为我必须重写实用程序方法(例如translate位置组件中的实用方法)并让它更新边界对象的位置。此外,实体将不会有位置组件,这很奇怪。3)Bounds组件仅包含宽度和高度。我不喜欢这样,因为这样我就不能使用类之类的东西Rectangle来表示边界。有任何想法吗?谢谢。
查看完整描述

1 回答

?
弑天下

TA贡献1818条经验 获得超7个赞

Transform我会选择 3,如果您有一个组件Bound并在本地框架中表达边界,则要求有一个组件。

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


查看完整回答
反对 回复 2023-11-10
  • 1 回答
  • 0 关注
  • 71 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信