如何在精灵套件Xcode中更改视差背景的Y位置



这是我对从左到右移动的星星的代码,我从在线教程中使用它:

    SKTexture* starsTexture = [SKTexture textureWithImageNamed:@"stars"];
    starsTexture.filteringMode = SKTextureFilteringNearest;
    SKAction* movestarsSprite = [SKAction moveByX:-starsTexture.size.width*2 y:0 duration:0.02 * starsTexture.size.width*2];
    SKAction* resetstarsSprite = [SKAction moveByX:starsTexture.size.width*2 y:0 duration:0];
    SKAction* movestarsSpritesForever = [SKAction repeatActionForever:[SKAction sequence:@[movestarsSprite, resetstarsSprite]]];
    for( int i = 0; i < 2 + self.frame.size.width / ( starsTexture.size.width * 2 ); ++i ) {
        SKSpriteNode* starsSprite = [SKSpriteNode spriteNodeWithTexture:starsTexture];
        [starsSprite setScale:2.0];
        starsSprite.position = CGPointMake(i * starsSprite.size.width, starsSprite.size.height / 2);
          [starsSprite runAction:movestarsSpritesForever];
        [self addChild:starsSprite];

我是编码的初学者,现在星星在屏幕底部重复出现,我希望它们像星星一样出现在顶部。我应该改变什么才能实现这一目标?请帮忙!

SpriteKit 中的坐标系在屏幕左下角有 0,0,因此您需要增加节点位置的 y 坐标以将它们移动到更高的位置。

您当前已将其设置为:

starsSprite.position = CGPointMake(i * starsSprite.size.width, starsSprite.size.height / 2);

尝试:

starsSprite.position = CGPointMake(i * starsSprite.size.width, self.size.height - starsSprite.size.height / 2);

最新更新