在我的游戏中,我有一个panelA,其中包含用于切换panelA父级面板的复选框。它还有一个Leave按钮,需要调用只有PanelA父母知道的场景管理器。
我想到了:
这些都不觉得干净。会有更好的方法吗?
我的游戏使用了我制作的gui系统。将事件发送到父项是行不通的,因为父项不知道它要处理哪些gui组件。
由于
答案 0 :(得分:2)
在不了解系统设计的情况下,有点难以理解,但基本上您不想更改面板中的复选框,但是您想要更改状态并让这些复选框反映状态。
假设您要在主面板中选中“垂直消隐”框。不想这样做
parent->waitForVerticalBlankCheck.Checked=true
而你想要这个
renderingConfiguration->isVerticalBlankEnabled=true;
并在“主面板”中
if(renderingConfiguration->isVerticalBlankEnabled)
waitForVerticalBlankCheck.Checked=true;
嗯..非常伪,但希望你明白这一点:)