看板 GameDesign 關於我們 聯絡資訊
※ 引述《QQ29 (我愛阿蓉)》之銘言: : 我現在HitTest 是針對每個 物體 自己去判斷有沒有被hit到 你的 hit test 到底是什麼意思 是指說滑鼠點到顯示區域的某塊位置時 要選取該位置的物件嗎? 如果你的目的是這樣 那解法其實非常簡單 就是產生另一塊與顯示區域大小相同的 buffer 在你畫出所有物件的時候 也一起畫在這塊 buffer 上 唯一不同的地方在於,你是把「物件的編號」填入這塊 buffer 而不是物件的顏色 所以當你的滑鼠點在某個 pixel 上時 就去該 buffer 看那個 pixel 的物件編號是多少 就知道你選到了哪個物件 如果你用的是 OpenGL 去 google 找 opengl select buffer 就可以找到相關的 tutorial DirectX 我不熟不過應該也有對應的功能 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.29.108
QQ29:其實我是用XNA ~ 05/14 15:42
QQ29:他有提供 ray intersection 判斷點到哪個物體 05/14 15:43
QQ29:但我目前卡住的問題是 如果物體會動態的移動 05/14 15:43
QQ29:我bounding box不會動 如果有遮擋 該怎判斷點到誰 05/14 15:44
QQ29:我OPENGL這有使用過~但是和目前遇到的似乎完全不一樣方法.. 05/14 15:45
littleshan:看那個intersection point誰比較近呀 05/14 17:09
QQ29:但是其實我boundingbox都不會動耶 05/15 23:13
QQ29:物體透過矩陣 產生移動 但是unproject後 還是和原來bouding 05/15 23:14
QQ29:box 去做intersection...就是這範例這樣做的 05/15 23:14
QQ29:只是他物體不會動 且他bounding box 原本就有深淺 05/15 23:14
QQ29:直接判斷距離即可 但我物體會隨時在動...不知道怎辦 05/15 23:14
teexit:BB要自己隨時更新 當初我在做的時候當物體移動BB也會跟著 05/22 23:21
teexit:自己給值 05/22 23:21
teexit:印象中沒記錯的話 XNA 的BB是指有MAX和MIN兩點 所以就隨時 05/22 23:23
teexit:更新他吧~~ 05/22 23:23