2010-06-15 96 views
0

我正在使用CCSprite重繪我的應用程序的背景圖像(它就像一個移動的背景)。不過我也使用CCSprite來繪製我的英雄和敵人。在某些情況下,敵人會落在我的背景圖像之後。我的理解是,如果你這樣做:如何讓精靈落後於另一個精靈

[self addChild:sprite1]; 
[self addChild:sprite2]; 

然後sprite1將在後面sprite2如果他們彼此相交的窗口。然而,有什麼辦法讓sprite1回到前面,以防它們與sprite2相交?我試圖尋找在documentation但cocos2d的似乎並不有我要找的方法...

回答

0

我沒有使用cocos2d的... 一般來說如果你想使sprite1上sprite2頂部

[self replaceChild:sprite2 withSprite: sprite1] 

同樣,如果你想使sprite2上的sprite1

[self replaceChild:sprite1 withSprite: sprite2] 

您需要實現的replaceChild方法頂部...通常的addChild方法添加元素的數組,你可以使用replaceObjectAtIndex方法,如果它是數組。

+0

嗯,可以工作,我可以想象替換子方法將涉及刪除背景精靈,並再次創建它。我仍然想知道在cocos2d庫中是否有直接的方法。看來這個方法是精靈對象的標準方法。 – 2010-06-16 00:45:08

0

自從我訪問這個版本以來已經有一段時間了,但聽起來像你想爲你的精靈維持一個z順序。 Cocos2D確實在addChild call中支持這個功能。我不完全記得這是否會爲你解決問題,但這是一個很好的起點。

3

您也可以將z作爲參數傳遞給addChild。

[self addChild:foo z:0] 
[self addChild:baz z:1] 
+0

感謝AndyRoth,它工作正常... – 2012-02-26 21:36:07

相關問題