2011-12-09 40 views
1

我是cocos2D的新手程序員....我想創建使用視差滾動的無盡背景..我試圖學習視差,但它不更新與時間和精靈不會從上到下旋轉!我試過片段是如下使用cocos2D爲無盡的遊戲背景的視差滾動

-(id) init 
{ 
    if((self = [super init])) 
    {   
     CGSize wSize = [CCDirector sharedDirector].winSize; 
     self.isTouchEnabled = YES; 
     CGPoint topOffset = CGPointMake(wSize.width, 0); 
     CGPoint midOffset = CGPointMake(wSize.width/2,0); 
     CGPoint downOffset = CGPointZero;   
     CCSprite *para1 = [CCSprite spriteWithFile:@"Default.png"]; 
     CCSprite *para2 = [CCSprite spriteWithFile:@"Icon.png"]; 
     CCSprite *para3 = [CCSprite spriteWithFile:@"Default.png"]; 
     CCSprite *para4 = [CCSprite spriteWithFile:@"Icon.png"]; 

     paraNode = [CCParallaxNode node]; 
     [paraNode addChild:para1 z:1 parallaxRatio:CGPointMake(0.5f, 0) 
     positionOffset:topOffset]; 
     [paraNode addChild:para2 z:2 parallaxRatio:CGPointMake(1, 0) positionOffset:topOffset]; 
     [paraNode addChild:para3 z:4 parallaxRatio:CGPointMake(2, 0) positionOffset:midOffset]; 
     [paraNode addChild:para4 z:3 parallaxRatio:CGPointMake(3, 0) positionOffset:downOffset]; 
     [self addChild:paraNode z:0 ]; 
     [self scheduleUpdate]; 
    } 
    return self; 
} 

-(void) update : (ccTime) dt 
{ 
//Need to move the Parallax Node with the repetition of the background 
} 

這是實現文件......我在這裏停留在水平或縱向模式下移動的背景下連續預防運動。

感謝您的幫助提前

回答

2

CCParallaxNode不支持無​​盡滾動,除非你修改其代碼。我有一個在我的Learn Cocos2D book中無限視差滾動的例子。從該鏈接中,您還可以下載本書的源代碼,您可以在其中找到第6章至第8章中的視差類。

+1

okies ....謝謝... – Marine

0

我創建了一個名爲ParallaxManager的簡單類,它可以爲小精靈創建無限視差效果小云

enter image description here

以及大層精靈如草。 enter image description here

您可以從GitHub找到完整的項目。