gpt4 book ai didi

java - 最佳实践 : Design pattern for 2D HUD screen navigation

转载 作者:太空宇宙 更新时间:2023-11-03 10:31:52 24 4
gpt4 key购买 nike

如果您的应用程序带有完全用于 2D 绘图的 GUI,那么处理绘制内容和触摸位置的最佳实践应该是什么?

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

这是由状态模式完成的,但我怀疑这是否正确,因为我认为它可能有点复杂,因为可能存在“子状态”。

所以基本上问题是:状态模式(来自 GoF)是处理纯图形 GUI 的最佳实践吗?

最佳答案

这通常的工作方式是 UI 是一个 Control 对象树。每个控件都有一些边界框,并且可能有一些 float 在它上面的子控件。当发生点击时,树从上到下遍历(这意味着 child 在 parent 之前, sibling 按顺序)。对于每个控件,您可以查看该点是否与其边界框相交。如果是这样,请让控件有机会处理点击(即一些虚拟 OnClick 方法)。如果是,停止处理,点击完成。否则,请继续走,直到找到可以处理它的控件。

关于java - 最佳实践 : Design pattern for 2D HUD screen navigation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3545871/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com