我需要制作活动背景,其中包含两个连续移动的CCSprites。但同时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
答案 0 :(得分:2)
如果间隙只是一个像素,那么这可能就像OpenGL / Cocos2D的行为一样。
不要将图像设为480x320,而是将它们设为482x320,并使它们与这些额外的像素重叠。然后差距就会消失。