2009-12-05 94 views
0

我需要使由2個連續移動的CCSprites組成的活動背景。但同時CCSprites之間出現一段時間。如何解決它?Cocos2D - 移動CCSprites的問題

一些初始化代碼:

sprite1 = [sprites objectAtIndex:0]; 
    [sprite2 setPosition:ccp(240.0,self.position.y)]; 
    sprite2 = [sprites objectAtIndex:1]; 
    [sprite2 setPosition:ccp(720.0,self.position.y)]; 
    [self addChild:sprite1 z:0]; 
    [self addChild:sprite2 z:1]; 
    [self schedule:@selector(update) interval:1/60.0]; 

這是代碼,該移動子畫面:

-(void)update{ 
if (sprite1.position.x<=-239.0) { 
    [sprite1 setPosition:ccp(720.0,self.position.y)]; 
    flag = false; 
}else{ 
    if (sprite2.position.x<=-239.0) { 
     [sprite2 setPosition:ccp(720.0,self.position.y)]; 
     flag = true; 
    } 
} 

if (sprite1.position.x<=720.0) { 
    if (flag) { 
     [sprite1 setPosition:ccp(sprite1.position.x-speed, self.position.y)]; 
     [sprite2 setPosition:ccp(sprite1.position.x+480, self.position.y)]; 

    }else { 
     [sprite2 setPosition:ccp(sprite2.position.x-speed, self.position.y)]; 
     [sprite1 setPosition:ccp(sprite2.position.x+480, self.position.y)]; 
    } 

} 

}

間隔:image

回答

2

如果間隙只是一個像素,這很可能就是OpenGL/Cocos2D的行爲方式。

而不是使您的圖像480x320,使他們482x320,並使他們與這些額外的像素重疊。那麼差距將會消失。