如果您的应用程序具有完全处理2D绘图的GUI,那么处理绘制内容和触摸内容的最佳做法应该是什么?
更好理解的一个例子:
我有一张地图游戏.在这张地图上,我可以建造房屋和东西.
我还有一个可以扩展的信息栏.在扩展栏上,我绘制了一些有关游戏的信息,它还提供了更改不同值的界面.如果发生触摸,我必须检查信息栏是否已扩展,以确定我是否要更改地图上的内容或栏上的内容.
这是由州模式完成的,但我有一些疑问,如果这是正确的,因为我认为它可能有点复杂,因为可能的“子状态”.
基本上问题是:State Pattern(来自GoF)是处理纯图形GUI的最佳实践吗?
@R_502_6120@:
这通常的工作方式是UI是Control对象的树.每个Control都有一些边界框,并且可能有许多浮动在它上面的子控件.当发生点击时,树从上到下走(这意味着父母之前的孩子和顺序的兄弟姐妹).对于每个控件,您将看到该点是否与其边界框相交.如果是这样,给控件一个处理点击的机会(即一些虚拟的OnClick方法).如果是,请停止处理,单击完成.否则,继续走,直到你到达一个处理它的控件.
总结以上是内存溢出为你收集整理的java – 最佳实践:2D HUD屏幕导航的设计模式全部内容,希望文章能够帮你解决java – 最佳实践:2D HUD屏幕导航的设计模式所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)