2012-12-07 36 views
-3

我在檢查我的角色是否在我的XNA遊戲中命中時遇到問題。我有一個包含hitbox的角色類,但我怎麼可能讓它檢查其他角色被擊中?XNA中的Hitbox檢測

是有辦法做到這一點是這樣的:

if(this.hitbox.Y = [any other character using this class].attackbox.Y) 

感謝您的幫助

+0

它不工作還是什麼? 記住它:'if(x == y)' – jAC

+0

這不會工作,因爲它的每個角色和每個角色的類應該檢測來自其他角色的攻擊 – Evi

+0

-1在谷歌上搜索這個應該不會那麼困難! –

回答

-1

據我瞭解「打」是當hitbox1有hitbox2非空交集。 我建議像下面的東西(對於2d的hitboxes)

在XNA框架中有一個方法:Rectangle.Intersects(),所以使用它。

這樣做的手動方式看起來有點像下面描述: 說,hitbox是一個座標[(x1,y1),(x2,y2)]的矩形,那麼我們有幾個類似於一個低於

if(h1.x2 >= h2.x1 && h1.y2 >= h2.y1) 
{ 
    \\this is one of cases when we got hit 
} 

這就是我要這樣做的方式。

+2

爲什麼不使用'Rectangle.Intersects()'方法? – user1306322

+0

是的,這肯定會工作:)我在我的文章中寫道,只是不知道確切的函數名稱。 –

+0

然後現在編輯你的帖子,你知道它。 – neeKo