簡體   English   中英

SDL UI菜單按鈕-鼠標懸停

[英]SDL UI Menu Button - Mouse Over

我正在為我的游戲引擎創建一個菜單系統,並且想知道如何能夠檢測到鼠標何時位於按鈕上方。 當按鈕是正方形,矩形或圓形時,這樣做很簡單,但是我想知道如何處理不規則形狀的按鈕。

這是否可能?如果可以,那么復雜性是否意味着最好僅使用邊界區域(正方形或圓形)更好?

根據紋理或表面數據制作一個位掩碼。 確定規則; 例如,在圖像為100%透明或某種顏色的情況下,將位掩碼像素設置為0,否則將其設置為1。對光標執行相同的操作。 檢查沖突時,只需檢查設置為1的位掩碼位是否重疊。

首先想到的是使用數學函數。 如果您知道曲線的方程式,則可以通過簡單地檢查方程式的右側是否大於或小於“ y”來計算該點在其下方還是上方。

因此,如果您有簡單的y = x*x並想要檢查點(2,1),則將其替換並檢查:

y = 2
x = 1*1 = 1

y> 1,點在曲線上。 對於相反的情況,取(1,2),得出:

y = 1
x = 2*2 = 4

y <x,點在曲線下。

暫無
暫無

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

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