0
我在做這個項目,可以讓玩家推對象。我可以使用「for」循環對陣對象數組測試播放器,我可以移動對象。AS3 - 是否有可能相互同一陣列中,測試對象?
我想現在要做的是測試對對方的對象,並讓他們移動對方爲好。就像,我想推動一個塊與玩家,然後推我塊已經推動另一個塊。
塊都推到自己的數組,所以我怎麼能測試他們對對方?
我在做這個項目,可以讓玩家推對象。我可以使用「for」循環對陣對象數組測試播放器,我可以移動對象。AS3 - 是否有可能相互同一陣列中,測試對象?
我想現在要做的是測試對對方的對象,並讓他們移動對方爲好。就像,我想推動一個塊與玩家,然後推我塊已經推動另一個塊。
塊都推到自己的數組,所以我怎麼能測試他們對對方?
當然,你可以放置在同一陣列中的一切,使用兩個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
之內。
那什麼,我現在做的工作。雖然有趣的事情。稍後添加到陣列的對象不能用於推送先前添加到陣列的對象。它們突然出現並突然出現在早期物體上方。像「對象A」被添加到陣列和「對象B」之前的階段。我不能使用對象B,而不是推對象A,這是怎麼回事與對象B出現在旁邊的對象A的任何想法,一些奇怪的位置? – 2012-08-10 01:52:57
@JosephWagner這將與您的碰撞管理代碼有關。您需要小心,您的代碼不依賴於您檢查碰撞的順序。 – Marty 2012-08-10 02:10:06