我正在開發一個主要使用 ECS(不是純 ECS)的游戲引擎,但我遇到了問題。一些實體需要一個組件(例如,具有表示位置、寬度和高度的Bounds組件)。Rectangle就像按鈕一樣。許多實體還需要一個包含位置但不一定包含邊界的組件。如何協調重疊?1)如果一個實體同時具有Bounds組件和位置組件,則將有兩個位置。不好2)實體只有Bounds繼承自位置組件的組件。丑陋的是因為我必須重寫實用程序方法(例如translate位置組件中的實用方法)并讓它更新邊界對象的位置。此外,實體將不會有位置組件,這很奇怪。3)Bounds組件僅包含寬度和高度。我不喜歡這樣,因為這樣我就不能使用類之類的東西Rectangle來表示邊界。有任何想法嗎?謝謝。
1 回答

弒天下
TA貢獻1818條經驗 獲得超8個贊
Transform
我會選擇 3,如果您有一個組件Bound
并在本地框架中表達邊界,則要求有一個組件。
Rectangle
使用帶有左下角和右上角的a仍然有意義,因為邊界的原點并不總是與組件的原點相同。
添加回答
舉報
0/150
提交
取消