個人認為這個類存在錯誤,這些錯誤又集中出現在最後乙個方法getdrawmatrix()裡,因此把原始碼copy下來直接注釋:
protected static functiongetdrawmatrix( target:displayobject, hitrectangle:rectangle,accurracy:number ):matrix
仍舊以root為座標系,我把這個方法修改一下,思路是在target的concatenatedmatrix矩陣左邊乘上root的逆矩陣,以此將target轉換到root參考座標系。**如下:
protected static function getdrawmatrix(target:displayobject, hitrectangle:rectangle, accurracy:number):matrix
經過測試,這種方法能夠適應root的旋轉,縮放,平移操作。
另外在測試時發現,碰撞檢測時不能夠用滑鼠拉伸或縮小視窗,否則檢測結果不準確。我猜測原因是影響到target的concatenatedmatrix的取值了吧。
Ogre中的碰撞檢測 3
在ogre中,可以建立乙個查詢器,比如球體查詢器,aabb查詢器,面查詢器等。下面我們以最常用的球形查詢器為例來說明 如下面的 我們首先建立乙個球形查詢器,它需要定義乙個球體,我們把它的位置,設定為攝像機的位置,半徑為10,掩碼為第二個引數,預設為 1,通過掩碼,可以把碰撞的物體分成不同的組,比如我...
QGraphicsScene的碰撞檢測
實現效果如下 圖1 移動的item碰撞顯示 圖2 碰撞的item都顯示 使用scene的碰撞檢測函式 qlist qgraphicsitem collidingitems const qgraphicsitem item,qt itemselectionmode mode qt intersects...
unity3d碰撞檢測
具體的一些,可以看 unity3d的 manual refrernce的東西,有幾個 在後面可以參考 幾個型別碰撞器 1.靜態碰撞器 就是只有碰撞器,但沒有剛體的 2.剛體碰撞器 帶rigidbody的碰撞器,這個是最基本的碰撞器 3.運動學剛體碰撞器 帶rigidbody,而且rigidbody的...