2012-10-02 48 views
0

我有一個精靈表,其中包含對應於許多不同動作(例如「walk_left」,「walk_right」等等)的人的框架......這些動作可能有不同數量的幀,但在每個動作中只有一個特定的精靈區域,我想檢測與其他物體的碰撞。使用Corona在動畫精靈內創建碰撞可檢測區域

是否有辦法爲這些操作中的每一個設置複雜的實體?請記住,「walk_left」的複雜身體可能包含與「walk_right」不同座標的複雜身體

任何幫助和/或示例都會有用嗎?

如果有幫助,我可以提供代碼。

回答

0

我做什麼在這種情況下實際上是創建多個「人物」爲每個動畫,然後切換他們需要飛...

所以,你有一個newSprite與walk_left動畫,並用碰撞我想要的地方,另一個walk_right,等等......

請記住,使用Box2D你將不得不一次性移動它們(Box2D不喜歡你突然移動物體)。

如果您不使用Box2D並自己處理碰撞,那麼只需在同一個對象上創建多個碰撞,每個動畫使用一個碰撞,然後使用object.getSequence查看正在播放的動畫,並使用您想要的碰撞,也許類似

local currentCollision = object.collision[object.getSequence] 
+0

hiya,對不起,延遲和謝謝你的答覆。請您進一步詳細闡述以下幾點:「請記住,使用Box2D時,您必須立即全部移動它們(Box2D不喜歡您突然移動物體)。」 –

+0

我的意思是說,你需要將所有的變化都附加在對方身上,因爲如果你想保留一個(0,0)的變體,並且突然移動到你想要的位置,你會觸發各種奇怪的事情與Box2D錯誤(它不會指望突然移動) – speeder

+0

所以我應該嘗試創建一個不同的動畫每個動作(「走左」= 8幀,「右轉」= 3幀等),然後添加我複雜的身體形狀嗎? (每個動畫堆棧只會有一個),那麼我需要立即踢掉所有這些動畫並在它們之間切換? (切換他們的知名度或類似的東西) - 這是你的意思?如果即時離開,請讓我知道。問候,豐富 –