Привет, я новичок в iphone .. Теперь я пытаюсь непрерывно прокручивать свой фон. Я добавил изображение в детстве. Теперь код, который я использую для непрерывной прокрутки, выглядит так:
[bg1 setPosition:ccp(310, 160)];
CCSprite *bg2 = [CCSprite spriteWithFile:@"lines.jpg"];
[bg2 setPosition:ccp(880, 160)];
id enterRight = [CCMoveTo actionWithDuration:4 position:ccp(310, 160)];
id exitLeft = [CCMoveTo actionWithDuration:4 position:ccp(-310, 160)];
id reset = [CCMoveTo actionWithDuration:0 position:ccp(880, 160)];
id enterRight2 = [CCMoveTo actionWithDuration:4 position:ccp(310, 160)];
id exitLeft2 = [CCMoveTo actionWithDuration:4 position:ccp(-310, 160)];
id reset2 = [CCMoveTo actionWithDuration:0 position:ccp(880, 160)];
id seq1 = [CCSequence actions: exitLeft, reset, enterRight, nil];
id seq2 = [CCSequence actions: enterRight2, exitLeft2, reset2, nil];
[bg1 runAction:[CCRepeatForever actionWithAction:seq1]];
[bg2 runAction:[CCRepeatForever actionWithAction:seq2]];
[self addChild:bg1 z:-1 tag:1234];
[self addChild:bg2 z:-1 tag:2345];
Проблема, с которой я сталкиваюсь, заключается в том, что изображение непрерывно хорошо прокручивается, но при входе на экран они располагаются рядом друг с другом, но при прокрутке к другой стороне экрана возникает разрыв между этими двумя изображениями и имеет тенденцию расширяться по мере прокрутки изображения. Любая идея или предложение, почему это происходит?
Еще кто-то сказал, что мы можем использовать обновление для фоновой прокрутки. Выглядит примерно так.
[self schedule: @selector(update:)];
- (void) update: (ccTime) dt
{
float dy = scroll_speed_per_second * dt;
[self setPosition:ccp(self.position.x,self.position.y + dy)];
}
Еще одна вещь, которую я хочу спросить ... Я могу прокручивать изображения, также используя верхний метод, но я не могу сбросить изображение обратно в его положение. Должен ли я вернуть ребенка обратно в его положение или весь кадр? Любая помощь будет оценена. Спасибо.