2013-03-08 24 views
-2

我在levelHelper軟件中開發了一個場景。但是現在我陷入了一個部分,那就是如何檢查那個玩家/英雄精靈是否被敵人擊中,哪個部分就像從上,下,左,右擊中一樣。我想要做這個B/C我希望玩家在從左,右,向下擊中時死亡。但是如果從上方擊中敵人就應該像在超級馬里奧比賽中一樣摧毀。所以我怎麼能做到這一點直到現在我正在檢查,如果玩家的y位置比敵人的位置更大,那麼它就意味着它從上升點擊中。但是在我的情況下,我面臨的問題是敵方精靈比玩家小一點,所以它的位置總是小於玩家,也是寬度,所以我提前使用了什麼公式或方法來使這件事發生。如何檢查敵方哪方擊中玩家使用關卡助手創建的精靈場景

回答

0

您是否檢查過文檔? http://www.gamedevhelper.com/documentation/documentation.html> LHContactInfo類

基本上你應該在SpriteHelper創建燈具,你可以檢查等提供的示例代碼的碰撞..

NSString* fixNameA = [contact fixtureNameA]; 
NSString* fixNameB = [contact fixtureNameB]; 

if(fixNameA != NULL && 
([fixNameA isEqualToString:@"LegRight"] || [fixNameA isEqualToString:@"LegLeft"])) 
{ 
//apply 30% damage 
} 

if(fixNameA != NULL && 
([fixNameA isEqualToString:@"RightArm"] || [fixNameA isEqualToString:@"LeftArm"])) 
{ 
//apply 50% damage 
} 

if(fixNameA != NULL && [fixNameA isEqualToString:@"Head"]) 
{ 
//apply 100% damage 
} 
0
if (player.position.y > enemy.position.y && fabs(player.position.x - enemy.position.x) < enemy.size.width/2) { 

這將確保不僅是敵人上方播放器,但玩家在同一水平空間。基本上,只有當你從上面擊中敵人時纔會觸發,而不是從側面或下面擊中敵人。

相關問題