微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

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

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

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

解决方法:

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐