我正在用 C++ 编写一个轻量级的 ui 系统(用于虚幻引擎 4)。我有 ui 元素基类,可以添加子 ui 元素。我现在面临的问题是我的布局管理器。我需要所有元素与父 ui 元素一起相对移动、调整大小和旋转。
一个元素应该能够围绕其局部枢轴旋转,但仍与其父元素一起旋转。因此,我需要布局管理器类来遍历层次结构中的所有 ui 元素并计算这些位置大小和旋转值。
只是我无法真正弄清楚如何相对于其父元素转换子元素的算法。
对于每个元素,这些变量是已知的:位置、大小、旋转(四元数)和枢轴位置。这些是 2D 向量,除了“浮动”的旋转。
由于我想保留布局计算之前的值,因此我希望将这些计算值存储在单独的变量中。
对此的任何帮助将是上帝派来的!
最好的问候,奥文德