2009-12-05 52 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,并使他们与这些额外的像素重叠。那么差距将会消失。