2011-02-17 61 views
0

嘿傢伙, 我有一個即時通訊工作的raidan風格的2D飛行/戰鬥機遊戲。從標準的NSObject框架移動到Cocos2D,我遇到了我的背景圖像/精靈的問題。加載和卸載背景圖像爲遊戲移動

在cocos2d之前,我的背景非常大。 320x9999(或其他)。但它加載並創造了一個非常大的幻想。 Cocos2d對圖像大小有限制,所以我不得不將圖像分成33個不同的背景圖像,每個圖像的大小爲320x480。

認爲存儲器是在iOS平臺上一個大問題,我決定,我將創建2個背景CCSprites: CCSprite * background1,* background2; background2 ontop of background1。

使用這兩種背景,作爲射流向上移動在屏幕上,每一個背景將以相等的比例成反比向下移動屏幕,如在第一background1完全關閉屏幕垂直移動,它被釋放回存儲器和新的精靈將加載到background1中,然後將background1垂直放置在background2之上。

當background2離開屏幕時,它被釋放並且一個新圖像被加載到background2中,並且它被放置在background1的頂部。

創建恆定和一致背景的幻覺。

問:這看起來像是一種有效的方法嗎? Q.我怎麼能夠通過編程實現這樣的事情?我擁有運動物理學和一切準備就緒。我只是有點不確定如何與科科斯做到這一點。

再一次,在此先感謝!

回答

0

A1)是的,它是這樣做的一個有效途徑,它幾乎很容易的事HT ECODE去的財產以後這樣的(我可能有一些programatical錯誤,認爲這幾乎成了psudo代碼):

if(background[1].position.y < 0) 
{ 
    [layer removeChild:background[1] cleanup:YES]; 
    background[1] = background [2]; 
    background[2] = [CCSprite SpriteWithFile:"file id"] 
    background[2].position = ccp(0,480); 
    [background[2] runAction:[CCMoveBy actionWithDuration:1 position:ccp(0,1)]] 
} 

A2)如果你只需要一些指導,這樣做,我給你一個實現。您需要什麼,如果你的意思是你不知道如何使用的cocos2d-iphone嘗試這些手冊,以實現plysics東西:

http://www.raywenderlich.com/457/intro-to-box2d-with-cocos2d-tutorial-bouncing-balls

http://www.raywenderlich.com/475/how-to-create-a-simple-breakout-game-with-box2d-and-cocos2d-tutorial-part-12

http://www.raywenderlich.com/505/how-to-create-a-simple-breakout-game-with-box2d-and-cocos2d-tutorial-part-22

0

我不是很確定你說的是什麼,我想你說的是交換背景,一個背景變得活躍,另一個背景變成了下一個部分。這不是一種不常見的技術,在許多方面使用與此類似的想法。 還搜索剪貼圖,超級紋理,地圖集紋理。