在我的游戏中,我有一个panelA,它的复选框可以在panelA的父级中切换面板。它还具有一个“离开”按钮,该按钮需要调用只有PanelA的 parent 知道的场景管理器。
我想到了:
访问它们并可以从中接收 Action 事件
这些都不是那么干净。会有更好的方法吗?
我的游戏使用我制作的GUI系统。将事件发送给父级将不起作用,因为父级不知道它要处理的gui组件。
谢谢
最佳答案
在不知道系统设计的情况下很难知道,但是基本上您不想更改面板中的复选框,但是您想要更改状态并使这些复选框反射(reflect)状态。
假设您要在主面板中选中“垂直消隐”复选框。不想这样做
parent->waitForVerticalBlankCheck.Checked=true
相反,你想要这个
renderingConfiguration->isVerticalBlankEnabled=true;
并在“主面板”中
if(renderingConfiguration->isVerticalBlankEnabled)
waitForVerticalBlankCheck.Checked=true;
嗯..非常假冒,但是希望您能想到这个主意:)