獲取滑鼠在世界中的位置

2021-08-11 16:23:41 字數 1986 閱讀 5981

-獲取滑鼠位置有很多方法,這裡說三種,但只是提供方法,具體並不是很清楚

fhitresult tracehitresult;//檢測結果

gethitresultundercursorbychannel(tracetypequery1, true, tracehitresult);

fvector pos = tracehitresult.location;//位置

看一下原始碼
bool aplayercontroller::gethitresultundercursorbychannel(etracetypequery tracechannel, bool btracecomplex, fhitresult& hitresult) const

}if(!bhit) //if there was no hit we reset the results. this is redundant but helps blueprint users

return bhit;

}

我推測是根據追蹤型別進行定位,不是很清楚

fhitresult btracehitresult;

gethitresultundercursor(ecc_visibility, true, btracehitresult);

fvector pos = btracehitresult.location;//位置

看一下原始碼
bool aplayercontroller::gethitresultundercursor(ecollisionchannel tracechannel, bool btracecomplex, fhitresult& hitresult) const

}if(!bhit) //if there was no hit we reset the results. this is redundant but helps blueprint users

return bhit;

}

和第一種很像,只有乙個引數是變化的,推測是根據碰撞型別進行定位,因為在碰撞設定的時候也會設定對於trace的反應。

fhitresult hitresult,start, dir, end, ;

deprojectmousepositiontoworld(start, dir);//獲取初始位置和方向

end = start + (dir*8000.0f);//設定追蹤終點

getworld()->linetracesinglebychannel(hitresult, start, end, ecc_visibility);

fvector pos = hitresult.location;//位置

只看一下deprojectmousepositiontoworld的原始碼吧
bool aplayercontroller::deprojectmousepositiontoworld(fvector& worldlocation, fvector& worlddirection) const

}return

false;

}//被呼叫的方法

bool ugameplaystatics::deprojectscreentoworld(aplayercontroller const* player, const fvector2d& screenposition, fvector& worldposition, fvector& worlddirection)

}// something went wrong, zero things and return false

worldposition = fvector::zerovector;

worlddirection = fvector::zerovector;

return

false;

}

你在世界的什麼位置?

餘晟寫了篇文章,記錄參加一次技術聚會的經過。文中有現場相片一張,人頭洶湧,圖注 如果這是一張世界地圖,我就在紐西蘭的位置 有趣的人才能寫出有趣的文字。如果你拿一張透明的世界地圖覆蓋相片,那張向左側過來的臉,還真是在紐西蘭的位置。會心一笑之餘,我問 在 這張 中國通行的 世界地圖上,你在紐西蘭位置,在...

獲取滑鼠位置

clientx 設定或獲取滑鼠指標位置相對於視窗客戶區域的 x 座標,其中客戶區域不包括視窗自身的控制項和滾動條。clienty 設定或獲取滑鼠指標位置相對於視窗客戶區域的 y 座標,其中客戶區域不包括視窗自身的控制項和滾動條。offsetx 設定或獲取滑鼠指標位置相對於觸發事件的物件的 x 座標。...

獲取滑鼠位置

ie 下獲取 clientx y 測試測試 firefox 下獲取 clentx y 測試測試 進而核心可以公升階 var z e.clientx event.clientx 滑鼠橫座標 var f e.clienty event.clienty 滑鼠縱座標 這樣一來就可以在ie和firefox中都...