簡體   English   中英

最佳實踐:2D HUD 屏幕導航的設計模式

[英]Best practice: Design pattern for 2D HUD screen navigation

如果您的應用程序具有完全用於 2D 繪圖的 GUI,那么處理要繪制的內容和觸摸的位置的最佳實踐應該是什么?

一個更好理解的例子:
我有一個帶地圖的游戲。 在這張地圖上,我可以建造房屋和其他東西。
我還有一個可以擴展的信息欄。 在擴展欄上,我繪制了一些有關游戲的信息,它還提供了更改不同值的界面。 如果發生觸摸,我必須檢查信息欄是否擴展,以確定我是否要更改地圖上的某些內容或信息欄上的某些內容。

這是由狀態模式完成的,但我懷疑這是否正確,因為我認為它可能有點復雜,因為可能存在“子狀態”。

所以基本上問題是:狀態模式(來自 GoF)是處理純圖形 GUI 的最佳實踐嗎?

這通常的工作方式是 UI 是一個 Control 對象樹。 每個 Control 都有一些邊界框,並且可能有許多浮動在其上方的子控件。 當點擊發生時,樹從上到下走(這意味着孩子在父母之前,兄弟姐妹按順序)。 對於每個控件,您會看到該點是否與其邊界框相交。 如果是這樣,讓控件有機會處理點擊(即一些虛擬的OnClick方法)。 如果是,停止處理,點擊完成。 否則,繼續走,直到找到可以處理它的控件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM