我正在製作一款迷宮遊戲,並將迷宮的邊緣視爲動畫片段。我試圖測試玩家是否測試了迷宮讓他停止使用此代碼。命中測試迷宮
If(player.hitTestObject(Maze))
{
function()
}
但是是否它實際上觸摸迷宮(它在裏面的空白空間)它總是註冊爲觸摸。有沒有什麼辦法解決這一問題?
我正在製作一款迷宮遊戲,並將迷宮的邊緣視爲動畫片段。我試圖測試玩家是否測試了迷宮讓他停止使用此代碼。命中測試迷宮
If(player.hitTestObject(Maze))
{
function()
}
但是是否它實際上觸摸迷宮(它在裏面的空白空間)它總是註冊爲觸摸。有沒有什麼辦法解決這一問題?
您不必使用任何物理API。它們太重,太複雜,而且你的任務很簡單。嘗試替換hitTestPoint的hitTest方法
if(Maze.hitTestPoint(player.x,player.y))
{
function()
}
乾杯!
這是你在找什麼:
http://www.mikechambers.com/blog/2009/06/24/using-bitmapdata-hittest-for-collision-detection/
之所以則hitTest總是說真的,就是它只檢查,看是否邊框兩個物體相互接觸。關於這個意思的更多nfo可能可以在上面的鏈接中找到。以上鍊接中的內容是對如何在Flash中進行像素完美命中測試的解釋。 :)此外,如果你正在使用這樣的和/或任何一種物理碰撞做一個遊戲,你可能會在本教程的興趣:
http://gotoandlearn.com/play.php?id=135
這是一個關於世界建築套件Box2D的視頻,可能是最流行的閃存物理庫。
那就是我想的。我查了一下,它說Flash在對象周圍繪製了一個命中的測試矩形,除了矩形以外,它都是不好的。感謝您的鏈接! – master565 2011-04-22 05:13:39
沒問題,是的,這是真的。即使你有鑽石形狀,閃光燈也會以90度的角度畫出一個矩形來包圍它。您可以通過在Flash播放器中右鍵單擊並啓用「顯示重繪區域」來以可視方式查看。 – 2011-04-22 07:28:38
您可能想要使用BitmapData.hitTest。這是一個很好的例子:[link](http://www.mikechambers.com/blog/2009/06/24/using-bitmapdata-hittest-for-collision-detection/)。 – Corey 2011-04-21 22:24:23