在objective-c iphone游戏中一个接一个地放置两个背景?

在objective-c iphone游戏中一个接一个地放置两个背景?,iphone,background,game-physics,Iphone,Background,Game Physics,嗨,我正在制作一款iphone游戏 在我的游戏层中,我有两个相同的背景图像,但我希望它们一个接一个 一旦游戏动物(如企鹅)穿过第一个背景,我希望第一个背景在第二个背景之后——成为一个连续的背景,直到游戏结束 我什么都试过了——为了循环,而循环等等,但似乎什么都不起作用 有人知道我该怎么做吗 谢谢你能为我提供的任何帮助 经过多次不同的尝试,到目前为止,这就是我所拥有的一切 - (id) init { if((self = [super init])) { for (

嗨,我正在制作一款iphone游戏

在我的游戏层中,我有两个相同的背景图像,但我希望它们一个接一个

一旦游戏动物(如企鹅)穿过第一个背景,我希望第一个背景在第二个背景之后——成为一个连续的背景,直到游戏结束

我什么都试过了——为了循环,而循环等等,但似乎什么都不起作用

有人知道我该怎么做吗

谢谢你能为我提供的任何帮助

经过多次不同的尝试,到目前为止,这就是我所拥有的一切

- (id) init
{
    if((self = [super init]))
    {
        for ( int x = 0; x < 10000000; ++x)
        {
            CCSprite *bg = [CCSprite spriteWithFile:@"level1.png"];
            [bg setPosition:ccp(160,240)];
            ccTexParams params = {GL_LINEAR, GL_LINEAR, GL_REPEAT, GL_REPEAT};
            [bg.texture setTexParameters:&params];
            [self addChild:bg z:0];

            CCSprite *bg2 = [CCSprite spriteWithFile:@"level1.png"];
            [bg2 setPosition:ccp(320,480)];
            ccTexParams param = {GL_LINEAR, GL_LINEAR, GL_REPEAT, GL_REPEAT};
            [bg2.texture setTexParameters:&param];
            [self addChild:bg z:0];
        }
-(id)init
{
if((self=[super init]))
{
对于(整数x=0;x<10000000;++x)
{
CCSprite*bg=[CCSprite spriteWithFile:@“level1.png”];
[bg设置位置:ccp(160240)];
ccTexParams params={GL_-LINEAR,GL_-LINEAR,GL_-REPEAT,GL_-REPEAT};
[bg.texture setxparameters:¶ms];
[self addChild:bg z:0];
CCSprite*bg2=[CCSprite spriteWithFile:@“level1.png”];
[bg2设置位置:ccp(320480)];
ccTexParams param={GL_-LINEAR,GL_-LINEAR,GL_-REPEAT,GL_-REPEAT};
[bg2.texture SettParameters:¶m];
[self addChild:bg z:0];
}

如果背景完全相同,您实际上不需要两张图像,您只需设置其中一张图像的纹理矩形位置,它就会持续移动。如果您在计时器上或在更新方法中调用moveBackground,它就会持续滚动

-(void)init
{
    if((self=[super init]))
    {
        background = [CCSprite spriteWithFile:@"background.png"]; 
        ccTexParams params = {GL_LINEAR,GL_LINEAR,GL_REPEAT,GL_REPEAT};
        [background.texture setTexParameters:&params];
        [self addChild:background z:0];
    }
}

-(void)moveBackground
{
    // Scroll background 5 pixels to the left
    int speed = 5;
    background.textureRect = CGRectMake(background.textureRect.origin.x-speed, 
                                        background.textureRect.origin.y, 
                                        background.textureRect.size.width, 
                                        background.textureRect.size.height);
}

如果背景相同,您实际上不需要两张图像,只需设置其中一张图像的纹理矩形位置,它就会不断移动。如果您在计时器上或在更新方法中调用moveBackground,它就会不断滚动

-(void)init
{
    if((self=[super init]))
    {
        background = [CCSprite spriteWithFile:@"background.png"]; 
        ccTexParams params = {GL_LINEAR,GL_LINEAR,GL_REPEAT,GL_REPEAT};
        [background.texture setTexParameters:&params];
        [self addChild:background z:0];
    }
}

-(void)moveBackground
{
    // Scroll background 5 pixels to the left
    int speed = 5;
    background.textureRect = CGRectMake(background.textureRect.origin.x-speed, 
                                        background.textureRect.origin.y, 
                                        background.textureRect.size.width, 
                                        background.textureRect.size.height);
}

没问题。如果这解决了你的问题,你可以将我的答案标记为正确;我可以自由地看一看我的其他问题,似乎没有人有答案。你只需单击我答案旁边的小复选标记。以下是操作方法:你指的另一个问题是“如何让我的精灵跳跃”?谢谢!如果没有人比我强,我今天就看另一个问题。没问题。如果这解决了你的问题,你可以把我的答案标记为正确;我可以自由地看一看我的其他问题,似乎没有人可以回答。你只需点击我答案旁边的小复选标记。下面是操作方法:是另一个问题吗估计你指的是“如何让我的雪碧跳起来”?谢谢!如果没有人比我跳得快,我今天就去看另一个。