协助解决设计问题
Aid with design issue?
在我的游戏中,我有一个panelA,它有复选框来切换panelA的父级中的面板。它还有一个Leave按钮,需要向只有PanelA的父母知道的场景管理器打电话。
我想到了:
- 做一个听众就是为了这个
- 让家长制作PanelA,并让孩子们这样做访问它们,并可以从中接收操作事件
这两个都不觉得干净。有更好的方法吗?
我的游戏使用了我制作的gui系统。将事件发送到父级是不起作用的,因为父级不知道要处理哪些gui组件。
感谢
如果不了解系统的设计,很难知道,但基本上你不想更改面板中的复选框,但你想更改状态,并让这些复选框反映状态。
假设您想在主面板中选中垂直空白框。不想做这个
parent->waitForVerticalBlankCheck.Checked=true
相反,你想要这个
renderingConfiguration->isVerticalBlankEnabled=true;
以及在您的"主面板"中
if(renderingConfiguration->isVerticalBlankEnabled)
waitForVerticalBlankCheck.Checked=true;
嗯。。非常伪体,但希望你能明白:)
相关文章:
- Project Euler问题4的错误解决方案
- 在java中解决这段代码时面临循环中的问题
- C++:Application.cpp中抛出了未解析的外部符号(解决方案在问题的末尾,供未来的读者参考)
- 难以理解某些人解决IOI问题的源代码
- 节俭并发:未解决的外部问题
- IpOpt拒绝解决不受约束的问题
- 如何解决这个超硬恒星的创造问题
- 循环无限运行C++解决骑士之旅问题
- 使用 bfs 解决连接组件问题时得到错误的答案
- 如何解决 Ninja c++ 构建和执行问题
- 无法在问题解决方案中执行输出逻辑
- 如何在不到O(N)的时间内解决这个问题?
- Arduino 用于语句错误。令牌之前的预期')' ';'。如何解决这个问题?
- 移动赋值运算符;尝试引用已删除的函数.我该如何解决这个问题?
- 如何在不使用额外空间的情况下解决这个问题?
- 我无法在Visual Studio代码中使用CIN输入答案,它说输入您的年龄,但它说只读文本编辑器如何解决这个问题?
- 最大的回文产品 - 程序未运行,编写解决方案但无法理解问题
- 如何解决"no Qt platform plugin could be initialized"问题?
- 如何解决可能的唯一组合问题
- Windows上的模板有什么问题?解决方案是什么