最佳实践:2D HUD屏幕导航的设计模式

时间:2010-08-23 08:33:02

标签: java android design-patterns user-interface

如果您的应用程序具有完全处理2D绘图的GUI,那么处理绘制内容和触摸内容的最佳做法应该是什么?

更好理解的一个例子:
我有一张地图游戏。在这张地图上,我可以建造房屋和东西 我还有一个可以扩展的信息栏。在扩展栏上,我绘制了一些有关游戏的信息,它还提供了更改不同值的界面。如果发生触摸,我必须检查信息栏是否已扩展,以确定我是否要更改地图上的内容或栏上的内容。

这是由州模式完成的,但我有一些疑问,如果这是正确的,因为我认为它可能有点复杂,因为可能的“子状态”。

基本上问题是:State Pattern(来自GoF)是处理纯图形GUI的最佳实践吗?

1 个答案:

答案 0 :(得分:2)

这通常的工作方式是UI是Control对象的树。每个Control都有一些边界框,并且可能有许多浮动在它上面的子控件。当发生点击时,树从上到下走(这意味着父母之前的孩子和顺序的兄弟姐妹)。对于每个控件,您将看到该点是否与其边界框相交。如果是这样,给控件一个处理点击的机会(即一些虚拟OnClick方法)。如果是,请停止处理,单击完成。否则,继续走,直到你找到一个能够处理它的控件。

相关问题