嗨,我是 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];
我遇到的问题是图像可以连续滚动,但是当进入屏幕时,它们彼此相邻,但是当它们向屏幕的另一侧滚动时,两个图像之间会出现间隙,并且趋于变宽随着图像滚动..任何想法或建议为什么会发生这种情况?另一件事有人说我们可以使用 update 进行背景滚动。看起来像这样。
[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)];
}
我还想问一件事..我也可以使用上部方法滚动图像,但我无法将图像重置回该位置。我是否必须将孩子重置回其位置或整个框架。任何帮助将不胜感激。谢谢。