Cocos2D - 移动CCSprites的问题

时间:2009-12-05 21:12:16

标签: cocos2d-iphone

我需要制作活动背景,其中包含两个连续移动的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

1 个答案:

答案 0 :(得分:2)

如果间隙只是一个像素,那么这可能就像OpenGL / Cocos2D的行为一样。

不要将图像设为480x320,而是将它们设为482x320,并使它们与这些额外的像素重叠。然后差距就会消失。