Cocos2D - проблема с перемещением CCSprites - PullRequest
0 голосов
/ 06 декабря 2009

Мне нужно сделать активный фон, который состоит из 2 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)];
    }

}

}

Интервал: изображение

1 Ответ

2 голосов
/ 11 декабря 2009

Если разрыв составляет всего один пиксель, вероятно, именно так ведет себя OpenGL / Cocos2D.

Вместо того, чтобы делать изображения размером 480x320, делайте их 482x320 и накладывайте их на эти дополнительные пиксели. Тогда пропасть исчезнет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...