[英]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.