2012-08-10 18 views
0

我在做這個項目,可以讓玩家推對象。我可以使用「for」循環對陣對象數組測試播放器,我可以移動對象。AS3 - 是否有可能相互同一陣列中,測試對象?

我想現在要做的是測試對對方的對象,並讓他們移動對方爲好。就像,我想推動一個塊與玩家,然後推我塊已經推動另一個塊。

塊都推到自己的數組,所以我怎麼能測試他們對對方?

回答

1

當然,你可以放置在同一陣列中的一切,使用兩個for循環:

for each(var a:Entity in array) 
{ 
    for each(var b:Entity in array) 
    { 
     // Objects can't collide with themselves. 
     if(a == b) continue; 


     // Check if a and b collide and do something. 
     // 
    } 
} 

此示例代碼假定Entity是你的對象,可以互相接觸一個基類;所有這些都列在array之內。

+0

那什麼,我現在做的工作。雖然有趣的事情。稍後添加到陣列的對象不能用於推送先前添加到陣列的對象。它們突然出現並突然出現在早期物體上方。像「對象A」被添加到陣列和「對象B」之前的階段。我不能使用對象B,而不是推對象A,這是怎麼回事與對象B出現在旁邊的對象A的任何想法,一些奇怪的位置? – 2012-08-10 01:52:57

+0

@JosephWagner這將與您的碰撞管理代碼有關。您需要小心,您的代碼不依賴於您檢查碰撞的順序。 – Marty 2012-08-10 02:10:06

相關問題